三、CSS字体属性

291 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路​。

 CSS Fonts(字体)属性用于定义字体系列、大小、粗细、文字样式(如斜体)。

一、字体系列

CSS使用font-family属性定义文本的字体系列。

p { font-family: "微软雅黑":}
div {font-family: Arial,"Microsoft Yahei", "微软雅黑";}
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下,如果有空格隔开的多个单词组成的字体,加引号
  • 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示
  • 最常见的几个字体:body{font-family: 'Microsoft YaHei',tahoma,arial,'Hiragino Scans GB';}

在开发中,直接给 body标签 指定字体格式,一般标签都是放在body标签中的,则所有的标签都会使用这种字体。

当 font-family: Arial,"Microsoft Yahei", "微软雅黑"; 中存在多种字体时,优先使用第一种字体,如果用户浏览器中没有,则使用第二种,以此类推。若都没有,则使用浏览器中的默认字体。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS字体属性之字体系列</title>
    <style>
        h2 {
            font-family: "微软雅黑";
        }
        p {
            font-family: '仿宋',Arial, Helvetica, sans-serif;
        }
    </style>
</head>
<body>
    <h2>pink的秘密</h2>
    <p>那一抹众人中最漂亮的颜色,</p>
    <p>优雅,淡然,又那么心中清澈,</p>
    <p>前端总是伴随着困难和犯错,</p>
    <p>精心,坦然,攻克一个又一个,</p>
    <p>拼死也要克服它,</p>
    <p>这是pink的秘密也是pink老师最终的嘱托。</p>
</body>
</html>

二、字体大小

CSS使用 font-size 属性定义字体大小。

p {
    font-size: 20px;
}
  • px(像素)大小是我们网页的最常用的单位
  • 谷歌浏览器默认的文字大小为16px
  • 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确的大小,不要默认大小
  • 可以给 body 指定整个页面文字的大小

标题标签h比较特殊,需要单独指定大小

三、字体粗细

CSS使用 font-weight 属性设置文字的粗细,可以查阅CSS中文手册

语法:

font-weight : normal | bold | bolder | lighter | number

参数:

normal : 正常的字体。相当于number为400。声明此值将取消之前任何设置

bold : 粗体。相当于number为700。也相当于b对象的作用

bolder : IE5+ 特粗体

lighter : IE5+ 细体

number : IE5+ 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900

属性值描述
normal默认值(不加粗的)
bold定义粗体(加粗的)
100-900400等同于normal,而700等同于bold 注意这个数字后面不跟单位
  • 学会让加粗标签(比如h和strong等)不加粗,或者其他标签加粗
  • 实际开发时,我们更喜欢用数字表示粗细

四、文字样式

CSS使用 font-style 属性设置文本的风格

p {
    font-style: normal;
}
属性值作用
normal默认值,浏览器会显示标准的字体样式 font-style:normal;
italic浏览器会显示斜体的字体样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p {
            font-style: italic;
        }
        em {
            /* 让倾斜的字体不倾斜 就是赶紧脉动回来 */
            font-style: normal;
        }
    </style>
</head>
<body>
    <p>同学,上课时候的你</p>
    <em>下课时候的你</em>
</body>
</html>

注意:平时我们很少给文字加斜体,反而要给斜体标签(em,i)改为不倾斜字体。

五、复合属性写法

字体属性可以把以上文字样式综合来写,这样可以更节约代码:

        body {
            /* 复合属性:简写的方式 */
            font: font-style font-weight font-size/line-height font-family;
        }

例如:

        div {
            /* font-style: italic;
            font-weight: 700;
            font-size: 16px;
            font-family: '微软雅黑'; */
            /* 复合属性:简写的方式 */
            font:italic 700 16px/20px '微软雅黑';
        }

使用 font 属性时,必须按照上面的语法格式顺序书写,不能更换顺序,并且各个属性以空格隔开

不需要设置的属性可以省略(取默认值),但是必须保留 font-size 和font-family 属性,否则 font 属性将不起作用,如:font:20px '黑体';

六、字体属性总结

属性表示注意点
font-size字号我们通常用的单位是px像素,一定要带上单位
font-family字体实际工作中按照团队约定来写字体
font-weight字体粗细记住加粗是 700 或者 bold ,不加粗是 normal 或者 400,记住数字不要跟单位
font-style字体样式记住倾斜是 italic 不倾斜是 normal 工作中我们最常用 normal
font字体属性连写1.字体连写是有顺序的,不能随意换位置2.其中字号和字体必须同时出现

字体复合属性如何写?里面有什么注意细节?

如何让加粗的文字不加粗显示,如何让倾斜的文字不倾斜显示?