Skip to content

一、常用文本样式属性

属性 描述
color 英文单词表示法 color: red;
color 十六进制表示法 color: #ff0000;
color rgb() 表示法 color: rgb(255,0,0);
color rgba() 表示法 color: rgba(255,0,0,.35)
font-size 字体大小 font-size: 20px;
font-weight 字体粗细程度 font-weight: bold;
font-style 字体倾斜 font-style: italic;
text-decoration 文本修饰线 text-decoration:none;

1、color 属性

TIP

  • color 属性可设置文本内容的字体颜色

  • color 属性颜色值可以用 英语单词、十六进制、rgb()、rgba() 等表示法

1.1、color 属性-英文单词颜色值

color: red;
color: skyblue;

温馨提示

英语单词表示法,仅用于学习或测试使用,工作中基本不用这样的形式,工作实际需要按效果图来获取更精准的颜色。

1.2、color 属性 - 十六进制表示法

TIP

  • 十六进制表示法是所有设计软件中都通用的颜色表示法

  • 设计师会在设计图上标注的颜色,通常为十六进制表示

color: #cc0066;
color: #000;
  • 如果颜色值是两两相同,并且能有三对,则可以简写。如 #aabbcc 的形式,可以简写为 #abc
color:#ce0666 可以简写成 color:#c06;
color:#ff43dd 不能写成 color:#f43d;

常用的十六进制表示法

色值 描述
#000 黑色
#fff 白色
#ccc 、#333 、#2f2f2f 、#666 、#ddd 灰色

1.3、color 属性 - rgb() 表示法

TIP

  • rgb 是光学显示器三原色:红(red)、绿(green)、蓝(blue)三个单词的缩写

  • rgb 中三个数字的范围是 0-255 之间

  • 通过不同强度的红、绿、蓝光叠加来产生各种颜色

/* rgb()三个值分别表示:红色,绿色,蓝色
最小值:0
最大值:255(红色) */
color: rgb(255, 0, 0);

/* 白色 */
color: rgb(255, 255, 255);

/* 黑色 */
color: rgb(0, 0, 0);

1.4、color 属性 - rgba() 表示法

TIP

  • 颜色也可以用 rgba() 表示法,rgba 中前三个数字的范围是 0-255 之间,表示的是颜色

  • 最后一个参数表示颜色透明度介于 0 到 1 之间

  • 0 表示纯透明,1 表示纯实心(不透明),从 0-1 值越大,透明度越低

  • rgba() 表示法从 IE9 开始兼容

color: rgba(255, 0, 0, 0.35);

2、font-size 属性,字体大小

TIP

  • font-size 属性用来设置文字的字号大小,单位通常为 px(像素)、%百分比

  • 移动端还会学习 em、rem、vw、vh 单位

2.1、px(像素)单位.

font-size: 20px; /* 字体大小 20px */
  • 网页文字正文字号通常是 16px,网页默认字体大小通常为 16px

  • 部分浏览器最小支持 12px 字号(比如旧版本的 Edge 浏览器和 Chrome 浏览器),也就是你设置的字体小于 12px,默认都会以 12px 大小显示

  • 面试题:如何在页面显示小于 12px 的字体?(学到动画会讲)

2.2、%(百分比)单位

百分比相对于父元素的 font-size 大小而言

<style>
p {
    font-size: 20px; /*字体大小*/
}
p span {
    font-size: 200%; /*相当于 40px*/
}
</style>
<body>
<p><span>字体</span>大小以百分比为单位,相对的是父元素font-size大小</p>
</body>

![[Pasted image 20260222100146.png]]

2.3、em 单位

1em 相对于父元素的 font-size 大小

<style>
p {
    font-size: 20px; /*字体大小*/
}
p span {
    font-size: 2em; /* 2 * 20px =40px */
}
</style>
<body>
<p><span>字体</span>大小以百分比为单位,相对的是父元素font-size大小</p>
</body>

![[Pasted image 20260222100241.png]]

3、font-weight 属性

TIP

  • font-weight 属性设置字体的粗细程度

  • 通常用 normal 和 bold 两个值,或 对应数字 400 与 700 来表示

属性 描述
normal 正常粗细,与 400 等值
bold 加粗,与 700 等值
lighter 更细,大多数中文字体不支持。
比从父元素继承来的值更细(处在字体可行的粗细值范围内)
bolder 更粗,大多数中文字体不支持。
比从父元素继承来的值更粗(处在字体可行的粗细值范围内)

相对粗细值的解析

当指定的是相对粗细值 lighter 或 bolder 时,将使用如下图表来决定元素渲染时的绝对粗细值:

继承值 (Inherited value) bolder lighter
100 400 100
200 400 100
300 400 100
400 700 100
500 700 100
600 900 400
700 900 400
800 900 700
900 900 700
font-weight: normal; /* 正常粗细 与 font-weight:400; 效果相同*/
font-weight: bold; /* 加粗 与 font-weight:700; 效果相同*/

当我们使用 数字 来表示粗细时

  • 数字大小介于 1-1000(包含)之间,更大的数字比更小的数字表示的字体要相对粗些

  • 最终的粗细要在当前字体可行的精细范围之内

<style>
div {
    font-weight: 400; /*正常粗细*/
}
div span {
    font-weight: lighter;
}
div .bold {
    font-weight: bold;
}
</style>
<body>
<div>
    <span class="bold">我是加粗过的</span>
    我正常粗细,
    <span>我比父级字体细?</span>
</div>
</body>

渲染效果: ![[Pasted image 20260222100438.png]]

4、font-style 字体样式

TIP

  • font-style 属性设置字体的倾斜
属性 描述
normal 取消倾斜,如:把天生倾斜的 i、em 等标签设置为 不倾斜
italic 设置为倾斜字体(常用)
如果当前字体没有可用的斜体版本,会选用( oblique )替代
oblique 设置为倾斜字体(用常规字体模拟,不常用)
<style>
p i {
    font-style: normal; /*取消倾斜*/
}
.line1 {
    font-style: italic; /*倾斜字体*/
}
.line2 {
    font-style: oblique; /*倾斜字体*/
}
</style>
<body>
    <p><i>我是normal下修正过来的,不倾斜</i></p>
    <p class="line1">倾斜?</p>
    <p class="line2">倾斜?</p>
</body>

渲染效果: ![[Pasted image 20260222100559.png]]

5、font-family 字体类型

TIP

font-family 属性用于设置字体类型。

font-family: "微软雅黑"; /* 中文的微软雅黑 */
font-family: "Microsoft Yahei"; /*英文的微软雅黑 */

默认字体类型

当我们没有设置时,会显示浏览器的默认字体类型。不同浏览器默认字体不一样

  • 旧版本的 Edge 和 Chrome 浏览器 默认字体为 "微软雅黑"

  • 新版本 Edge 和 Chrome 浏览器字体为 "Noto Sans SC" (思源黑体)

添加后备字体类型

  • 我们可以一次设置多个字体类型,后面的字体为前面字体的"后备"字体。

  • 字体间用 ,逗号 隔开,如果第一个字体浏览器不支持,就会往后找,直到找到支持的为主,如果设置的字体都不支持,就会以浏览器默认的字体显示。

font-family: "Times New Roman", Times, serif;

注意点:

  • 中文字体要用 双号号包裹 ,英文字体如果字体名称中有空格,也需要用引号包裹(不加也可以)

  • 字体通常必须是用户计算机中已经安装好的字体,所以一般设置为 "微软雅黑" 和 "宋体" 较多,设置成其他的较少

  • 特殊字体,一般极用图片代替,或使用自定义字体方式实现。

中文字体也可以称呼他们的英文名字

中文字体名 英文字体名
font-family: "微软雅黑"; font-family: "Microsoft Yahei";
font-family: "宋体"; font-family: "SimSun";
<style>
.title {
    font-family: "Microsoft YaHei", "宋体"; /* 显示 Microsoft YaHei */
}
.desc {
    font-family: "宋体", "Microsoft YaHei"; /* 显示 宋体 */
}
</style>

<div class="title">我是标题</div>
<div class="desc">我是描述文字</div>

渲染效果: ![[Pasted image 20260222100741.png]]

6、@font-face 自定义字体

TIP

设置用户电脑中没有的字体

@font-face 可以消除对用户电脑字体的依赖,如果用户电脑中没有我们想要的字体,那用户在浏览网页时就会下载相关字体,然后显示字体效果。

6.1、定义字体前准备工作

TIP

  • 必须自己定义新的字体,同时需要有对应字体文件,因为用户加载网页时,会同时下载这些字体文件

  • 字体文件根据操作系统和浏览器不同,有 eot 、woff2 、woff 、ttf 、svg 等文件格式。

  • 浏览器对字体类型的支持性

    • 目前所有浏览器都几乎都支持 woff 格式

    • 目前现代浏览器都支持 woff2 格式。WOFF2 是当前最优选择,压缩率更高、加载更快。

    • 目前所有浏览器都支持 ttf 格式,但 ttf 文件通常较大,影响页面加载速度,性能不如 WOFF 格式。

    • EOT:主要用于兼容旧版 IE 浏览器,现代浏览器都支持 woff 和 woff2 了。

    • SVG:虽然具有可缩放性和清晰度等优点,但在字体呈现方面不是首选格式。

最佳实践

  • WOFF2 覆盖约 98% 的全球浏览器(排除 IE)。

  • WOFF + WOFF2 组合覆盖近 100% 的现代浏览器。

所以,在实际开发中优先选择 woff2 格式,然后以 woff 格式作为向下兼容格式(后备方案)

6.2、如何定义字体

@font-face {
    font-family: ; /*字体类型*/
    src: url(); /*引入字体文件*/
}
@font-face {
    font-family: "webfont";
    src: url("webfont.eot"); /* IE9 */
    src: url("webfont.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
         url("webfont.woff2") format("woff2"), url("webfont.woff") format("woff"), /* chrome、firefox */
         url("webfont.ttf") format("truetype"),
         /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
         url("webfont.svg#webfont") format("svg"); /* iOS 4.1- */
    font-display: swap;
}

注:

  • 当我们拥有字体文件后,就可以用 @font-face 定义字体

  • 字体有很多是有版权的,不能随便商业使用。

  • 阿里巴巴提供了一套免费商业授权的字体:https://www.iconfont.cn/fonts

  • 学习时,可以采用阿里巴巴的字体。字体,可以下载,也可以在线使用,也省去了下载字体的麻烦

  • 实际应用场景:指定特定文字设置样式,比如:标题 ...

6.3、使用阿里妈妈·智造字,字体步骤

第一步:进入字体网站,选择对应字体

TIP

点击网址 https://www.iconfont.cn/fonts进入,这里我们选择 阿里妈妈东方大楷,来作为教学

![[Pasted image 20260222100947.png]] 第一步:输入想要使用的该字体类型的文字内容 ![[Pasted image 20260222101015.png]] 第三步:下载字体包 TIP

一般为了使代码的体积更小,我们会选择 下载子集,而不是所有字体包 ![[Pasted image 20260222101049.png]] ![[Pasted image 20260222101120.png]] 第四步:在网页中使用该字体 TIP

在当前项目根目录下,新建 webfont 文件夹,把下载的字体文件放入文件夹中 复制代码引用,放在 CSS 文件内容的最顶部

![[Pasted image 20260222101149.png]]

  • 修改引用字体文件的地址,以免免费线上字体文件加载失败或其它问题,造成字体不能用
/* 在线链接服务仅供平台体验和调试使用,平台不承诺服务的稳定性,企业客户需下载字体包自行发布使用并做好备份。 */
@font-face {
    font-family: "阿里妈妈东方大楷 Regular";
    font-weight: 400;
    src: url("./webfont/QYorMMK0ZI7T.woff2") format("woff2"), url("./webfont/QYorMMK0ZI7T.woff")
    format("woff"); /* chromefirefoxoperaSafari,*/
    font-display: swap;
}
  • 定义 .iconfont 样式,用来声明字体的类型
.iconfont {
    font-family: "阿里妈妈东方大楷 Regular";
}
  • 为文字加上对应的样式
<div class="iconfont">
    艾编程- 为每个互联网人提供高质量的终身学习平台 - 这里是不支持的内容
</div>

渲染效果: ![[Pasted image 20260222101304.png]]