搜索

CSS 教学

基本介绍

认识 CSS 开始使用 CSS CSS 语法规则 CSS 命名原则 CSS 常用样式属性

CSS 选择器

认识 CSS 选择器 优先级 ( 权重 ) 样式继承与联集 使用巢状结构语法 元素选择器 ID 和 Class 选择器 属性选择器 文件结构选择器 虚拟类别选择器 ( 结构 ) 虚拟类别选择器 ( 类型 ) 虚拟类别选择器 ( 输入 ) 虚拟类别选择器 ( 行为 ) 虚拟类别选择器 ( 超链接 ) 虚拟类别选择器 ( 逻辑 ) 虚拟类别选择器 ( 其他 ) 虚拟元素选择器 群组与组合选择器

数值与单位

全域关键字与文字数值 长度与角度单位 位置名称与时间单位 特殊样式属性 ( all、appearance)

规则与定义

变数 ( Variables ) 媒体查询 ( @media ) 容器查询 ( @container ) 自订属性值 ( @property ) 导入样式 ( @import ) 分层优先级 ( @layer ) 选择器作用域 ( @scope ) 定义字型 ( @font-face ) 计数规则 ( @counter-style ) 打印网页 ( @page )

函数类型

数学计算 文字与清单计数 形状与线段 路径 ( path )

颜色与滤镜

颜色单位 色彩模型 相对颜色 渐层色 图像滤镜 ( filter ) 背景滤镜 ( backdrop-filter ) 混合模式 ( mix-blend-mode )

文字与段落

设定字型 ( font-family ) 使用外部字型 文字尺寸 文字样式 ( 常用 ) 文字样式 ( 其他实用 ) 文字样式 ( 特殊用途 ) 文字换行 文字空白与 Tab 大小 文字行高与缩排 文字水平与垂直对齐 文字书写方向 文字自动分栏 使用 Color Font ( 彩色字型 ) 使用 Icon Font ( 图示文字 ) 制作自己的 Icon Font 显示生成内容与引号

元素容器

容器显示类型 ( display ) 元素 display 对照表 盒子模型 ( Box Model ) 宽高尺寸 ( width、height ) 显示与比例 ( box-sizing、aspect-ratio ) 内边距 ( padding ) 外边界 ( margin ) 边框 ( border ) 边框圆角 ( border-radius ) 图像边框 ( border-image ) 轮廓 ( outline ) 内容溢出与裁切 ( overflow ) 内容范围 ( contain ) 可见性与透明度 缩放与调整 ( zoom、resize )

背景与阴影

背景 ( 背景色、背景裁切 ) 背景图 ( 定位、尺寸 ) 背景图 ( 固定、重复 ) 背景图 ( 多重背景、混合 ) 背景缩写 ( background ) 容器阴影 ( box-shadow )

清单与表格

清单样式 清单计数器 表格基本样式 表格边框重叠与间距 表格内容宽度与对齐

基本排版与定位

元素排版方式 浮动 ( float ) 浮动形状 ( shape-* ) 定位 ( position ) 逻辑属性 ( logical properties ) 重置 CSS ( Reset CSS ) 水平置中技巧 垂直置中技巧

Flex 弹性排版

Flexbox 弹性盒子 Flex 对齐方式 Flex 弹性伸缩

Grid 网格排版

Grid 网格容器与格线 Grid 网格空间与命名 Grid 网格流向与间距 Grid 排列网格项目 Grid 项目对齐与顺序

转场与动画

转场 ( transition ) 转场触发事件 动画 ( animation ) 自订动画路径 ( offset ) 动画触发事件 多重动画的权重与顺序 动画进度控制 ( timeline )

变形、裁切与遮罩

裁切路径 ( clip-path ) 图像遮罩 ( mask ) 对象填满方式与定位 转换函数 ( transform ) 平移、旋转与缩放 3D 转换与透视

视窗与用户行为

卷轴样式 ( scrollbar ) 拉霸、滑杆样式 ( slider ) 鼠标光标图示 ( cursor ) 鼠标事件 ( pointer-events ) 用户选取 ( user-select ) 卷动行为 ( scroll、overscroll ) 打印换页 ( break-* )

CSS 预处理器

认识 CSS 预处理器 Less ( 安装、开始使用 ) Less ( 巢状结构、选择器 ) Less ( 变数、import ) Less ( Extend、Mixin ) Less ( 逻辑、循环、函数 )

范例效果

CSS 多重绕圈 3D 动画 CSS 圆饼图 CSS 跑马灯 Google 加载动画 电子时钟数字 渐层色的转场与动画 渐层色制作星空背景 渐层色边框 渐层色制作图案背景 不规则形状动画 弹跳的正方形动画 3D 正多面体 超链接底线动画效果 恶心黏黏球效果 CSS 视差滚动效果 卷轴控制放射形选单 卷轴改变文字背景色 CSS 页面卷动进度条 CSS 水波效果 圆点加载动画 ( 阴影动画 ) 字母翻牌效果 探照灯动画 立体双色跑马灯 楼梯文字动态效果 渐层色文字、双色文字 流动色彩文字 空心文字、文字水波背景 左右倾斜的背景效果 Icon 图示形状变换 故障文字效果 按钮的多种 hover 效果 点击展开或收折的选单 点击爱心图案放射效果 纯 CSS 数字加载进度条 纯 CSS 码表 ( 可计时 )

使用 Icon Font ( 图示文字 )

Icon Font 是一种使用字体方式呈现向量图示的网页技术,使用 Icon Font 可以大幅减少网页对于图片加载的依赖,并可灵活的缩放各种图示,这篇教学会介绍如何在 HTML 和 CSS 中使用 Icon Font,以及几个非常好用的 Icon Font 网站。

延伸阅读:制作自己的 Icon Font ( SVG to Icon Font )

快速导览:

CSS 教学 - 使用 Icon Font

教学影片

搭配教学影片一起阅读,效果会更好!欢迎大家订阅 STEAM 教育学习网的 Youtube 频道。

前往:https://www.youtube.com/@steam.oxxostudio

认识 Icon Font

Icon Font 又称作图示字体或符号字体,Icon Font 所使用的图示或符号,除了基本的字母和数字,更包含多种形状、箭头、动作或概念图示。Icon Font 是常见的网页设计技术,主要有下列的优点:

  • 向量图形特性:Icon Font 是向量图形,可以任意放大或缩小而不影响质量,适合各种不同的屏幕分辨率。
  • 文件较小:和其他图示图片相比,Icon Font 的文件较小,可以减少页面加载时间。
  • 容易使用:只需要加入对应名称的 CSS 类别就能使用。它为您提供灵活性和自订选项。
  • 一致设计风格:同样类型的 Icon Font 具有相同的设计风格,可让网页设计更一致。

Icon Font 和 SVG Icon 的比较

在网页中使用向量图示,Icon Font 或 SVG 图示是两种极为常见的做法,下方列出这两种做法的差异,可按照各自的需求选用不同的做法。

特点 Icon Font SVG Icon
格式 向量格式 向量、点阵格式都可以
浏览器支援度 都支援 都支援
文件大小 较小,加载一次即可。 可能比 Icon Font 大,且需要分开加载或内嵌在网页中。
无障碍设施 只能辨认对应 unicode 可明确辨识为图示与描述。
用户互动 基本文字类型互动 高互动性,可加入动画或其他互动效果。
扩充与修改 字体产生后只能修改颜色或尺寸,修改需要重新产生字体。 可以使用程序扩充或调整。

开始使用 Icon Font

要使用 Icon Font,必须要先透过一些工具建立字体文件,可使用下方常用的线上工具建立自己的 Icon Font ( 都不用注册就能使用,文章下方有相关教学 ):

不论是使用那种 Icon Font 产生工具产生的 Icon Font,使用的方式都相同,步骤如下:

  • 1、首加载自己的 Icon 字体
  • 2、在 HTML 中使用 span 加入图示。
  • 3、替 span 加入指定的 class 名称,就会出现对应的 Icon Font。
  • 4、出现 Icon Font 之后,修改尺寸与颜色。

下方是在 HTML 使用 Icon Font 的基本结构。

<!-- HTML 程式碼 -->
<head>
  <!-- 其他 meta 內容 -->
  <link rel="stylesheet" href="Icon Font 檔案">
</head>
<body>
  <div>
    <span class="icon-name"></span>  <!-- Icon Font 擺放位置 -->
    <span class="mls">前方是 ICON</span>
  </div>
</body>

Icon Font 工具:IcoMoon

IcoMoon 是一个强大的 Icon Font 线上产生工具,IcoMoon 除了一些特殊图示包需要付费,大多数的图示包都是免费且不需注册就能使用,免费功能也包含用户上传自己的 SVG 产生 Icon Font,是个使用 Icon Font 时的必备工具。

前往 IcoMoon APP:https://icomoon.io/app/

CSS 教学 - 使用 Icon Font - 打开 IcoMoon

打开网页后,点击上方书本“library”图示打开图示包清单,点击“+Add”按钮就能将该图示包加入工具画面,点击“-Remove”就能移除该图示包。

CSS 教学 - 使用 Icon Font - IcoMoon 点击上方书本“library”图示

回到 IcoMoon APP 画面,选择要产生 Icon Font 的图示,也可点击右上方图示选择“Select All”全选图示,完成后点击右下方“Generate Font”按钮开始产生 Icon Font。

CSS 教学 - 使用 Icon Font - IcoMoon 选择要产生 Icon Font 的图示

下载 Icon Font 之前,可以在画面中设定该图示的名称与 unicode 编码 ( 建议 unicode 按照默认编码 ),完成后点击右下角“Download”按钮就能下载一个 Icon Font 的 zip 压缩档。

CSS 教学 - 使用 Icon Font - IcoMoon 下载 Icon Font 的图示

将压缩档解压缩后,demo-files 文件夹里为预览的文件,fonts 文件夹里为产生的图示字体档,style.css 是设定字体的 CSS 文件。

CSS 教学 - 使用 Icon Font - IcoMoon 下载 Icon Font 压缩档解压缩

打开 style.css 文件,@font-face 表示这个 Icon Font 的设定,设定后就能在 font-family 中使用 icomoon 的字体名称,[class^="icon-"],[class*=" icon-"] 表示特定名称选择器的样式,最下方的类别名称会根据 unicode 产生对应的图示。

更多参考:CSS 选择器 - 部分属性值、@font-face 定义字型

CSS 教学 - 使用 Icon Font - IcoMoon 打开 style.css 文件

参考 demo.html 的内容,将 HTML 改成下方的程序码,打开网页后就能看见 Icon Font 出现在网页中。

<html>
<head>
  <meta charset="utf-8">
  <title>OXXO Icon Font 測試</title>
  <link rel="stylesheet" href="style.css"></head>
  <style>
    body {font-size: 40px;}
  </style>
<body>
  <div>
    <span class="icon-home"></span> icon-home<br>
    <span class="icon-home3"></span> icon-home3<br>
    <span class="icon-camera"></span> icon-camera<br>
    <span class="icon-headphones"></span> icon-headphones<br>
    <span class="icon-music"></span> icon-music<br>
    <span class="icon-play"></span>  icon-play
  </div>
</body>
</html>

CSS 教学 - 使用 Icon Font - IcoMoon 看见 Icon Font 出现在网页中

Icon Font 工具:Fontello

Fontello 是一个好用的 Icon Font 线上产生工具,不但免费且不需注册就能使用,也可以让用户上传自己的 SVG 产生 Icon Font,是个使用 Icon Font 时的必备工具。

前往 Fontello:https://fontello.com/

CSS 教学 - 使用 Icon Font - 打开 Fontello

选取要产生 Icon Font 的图示,前往“Customize Names”页签可修改图示名称。

CSS 教学 - 使用 Icon Font - Fontello 前往 Customize Names 页签可修改图示名称

切换到“Customize Codes”页签可修改图示的 unicode,建议使用默认值。

CSS 教学 - 使用 Icon Font - Fontello 前往 Customize Codes 页签可修改图示的 unicode

全部动作完成后,点击右上角“Download webfont”按钮将 Icon Font 下载为 zip 文件。解压缩之后 demo.html 是预览的页面,css 文件夹设定字体的 CSS 文件,font 文件夹里为产生的图示字体档。

CSS 教学 - 使用 Icon Font - Fontello 将 Icon Font 下载为 zip 文件

打开 fontello.css 文件,@font-face 表示这个 Icon Font 的设定,设定后就能在 font-family 中使用 fontello 的字体名称,[class^="icon-"]:before,[class*=" icon-"]:before 表示特定名称选择器的样式,最下方的类别名称会根据 unicode 产生对应的图示 ( 其他 css 文件只是一些额外设定或独立设定,所以查看这份文件即可 )。

更多参考:CSS 选择器 - 部分属性值、@font-face 定义字型

CSS 教学 - 使用 Icon Font - 打开 fontello.css 文件

参考 demo.html 的内容,将 HTML 改成下方的程序码,打开网页后就能看见 Icon Font 出现在网页中。

<html>
<head>
  <meta charset="utf-8">
  <title>OXXO Icon Font 測試</title>
  <link rel="stylesheet" href="css/fontello.css"></head>
  <style>
    body {font-size: 40px;}
  </style>
<body>
  <div>
    <span class="icon-eye"></span> icon-eye<br>
    <span class="icon-videocam"></span> icon-videocam<br>
    <span class="icon-camera"></span> icon-camera<br>
    <span class="icon-emo-thumbsup"></span> icon-emo-thumbsup<br>
    <span class="icon-emo-devil"></span> icon-emo-devil<br>
    <span class="icon-emo-beer"></span> icon-emo-beer
  </div>
</body>
</html>

CSS 教学 - 使用 Icon Font - fontello 看见 Icon Font 出现在网页中

使用特殊符号或文字取代 Icon Font

虽然操作 Icon Font 的步骤很简单,但对于一些特殊符号而言,有时使用“现成的”特殊符号会更方便,在 unicode 的定义中,已经包含许多“特殊符号”,基本上只要直接“复制贴上”,或透过一些操作系统提供的输入法就能产生这些特殊符号,下方提供“特殊符号大全”网站,只要点击想要的特殊符号,就能复制并使用该符号。

前往:特殊符号大全

CSS 教学 - 使用 Icon Font - OXXO 特殊符号大全

透过“特殊符号”替代 Icon Font 时需要注意,特殊符号在不同操作系统、不同的社群平台或不同浏览器中的表现可能有所不同,下方范例会使用四种不同浏览器呈现特殊符号的效果。

CSS 教学 - 使用 Icon Font - 不同浏览器中呈现特殊符号

小结

Icon Font 图示字体是网页设计必备的技巧,如果能够更理解 @font-face 与 CSS 虚拟元素选择器,就更能掌握 Icon Font 的精髓,赶快把网页中的图示图片换成 Icon Font 吧。

延伸阅读:制作自己的 Icon Font ( SVG to Icon Font )

意见反馈

微信二维码 微信扫码关注 抖音二维码 抖音扫码关注