【CSS】CSS字体样式【CSS基础知识详解】

简介: 【CSS】CSS字体样式【CSS基础知识详解】

🌙CSS字体认知

文字是网页界面上最常见的元素,而文字的字体、大小和文字样式等都可以通过CSS来设置。

🌙字型

在 CSS 中,有五个通用字型:

  • 衬线字体(Serif)- 在每个字母的边缘都有一个小的笔触。它们营造出一种形式感和优雅感
    特点:文字笔画粗细不均匀,并且首尾有笔锋装饰
    场景:报刊书籍中应用广泛
    常见该系列字体:宋体、Times New Roman
  • 无衬线字体(Sans-serif)- 字体线条简洁(没有小笔画)。它们营造出现代而简约的外观。
    特点:文字笔画粗细均匀,并且首尾无修饰
    场景:网页中大多采用无衬线字体
    常见该系列字体:黑体、Arial
  • 等宽字体(Monospace)- 这里所有字母都有相同的固定宽度。它们创造出机械式的外观。
    特点:每个字母或文字的宽度相等
    场景:一般用于程序代码编写,有利于代码的阅读和编写
    常见该系列字体:Consolas、fira code
  • 草书字体(Cursive)- 模仿了人类的笔迹。
  • 幻想字体(Fantasy)- 是装饰性/俏皮的字体。

所有不同的字体名称都属于这五个通用字体系列之一。

🌸Serif 和 Sans-serif 字体

在计算机屏幕上,sans-serif字体被认为比serif字体容易阅读

一些字体的例子:

通用字型 字体名称实例
Serif Times New Roman Georgia Garamond
Sans-serif Arial Verdana Helvetica
Monospace Courier New Lucida Console Monaco
Cursive Brush Script MT Lucida Handwriting
Fantasy Copperplate Papyrus

🌸font-family属性

在CSS中,我们使用font-family属性规定文本的字体。

通常 font-family 属性应该设置多个值,以保证当浏览器不支持第一种字体时使用其他的备选字体。

注意: 如果字体系列的名称超过一个字,它必须用引号,如 font family:“宋体”。

多个字体系列用一个逗号分隔指明。

例如:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>花无缺</title>
    <style>
        /*设置段落p的字体为楷体,如果浏览器不支持则采用宋体,依次类推*/
        p {
            font-family: "楷体", "宋体",serif;
        }
        /*设置div的字体为隶书,如果不支持隶书,则采用浏览器默认字体*/
        div {
            font-family: "隶书";
        }
    </style>
</head>
<body>
    <p>
        通常font-family属性应该设置多个值,以保证当浏览器不支持第一种字体时使用其他的备选字体。
    </p>
    <div>
        如果字体系列的名称超过一个字,它必须用引号,如font family:"宋体"。
        多个字体系列是用一个逗号分隔指明。
    </div>
</body>
</html>

🌙字体样式

属性名:font-style

作用:用于指定斜体文本

取值:

  • normal - 文字正常显示
  • italic - 文本以斜体显示
  • oblique - 文本为“倾斜”(倾斜与斜体非常相似,但支持较少)

例如:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>花无缺</title>
    <style>
        p {
            font-style: normal;
        }
        div {
            font-style: italic;
        }
        span {
            font-style: oblique;
        }
    </style>
</head>
<body>
    <p>字体样式</p>
    <div>字体样式</div>
    <span>字体样式</span>
</body>
</html>

🌙字体大小

属性:font-size

作用:设置字体的大小

取值:

取值 效果
xx-small/x-small/small/medium/large/x-large/xx-large 把字体的尺寸设置成相对于父元素不同的尺寸,从xx-small到xx-large 默认值:medium。
smaller 把 font-size 设置为比父元素更小的尺寸
larger 把 font-size 设置为比父元素更大的尺寸
px/cm/pt/in/mm 把 font-size 设置为一个固定的尺寸
% 把 font-size 设置为基于父元素的一个百分比的大小
inherit 从父元素继承
em 1em和当前字体大小相等。在浏览器中默认的文字大小是16px。因此,1em的默认大小是16px。可以通过下面这个公式将像素转换为em:px/16=em
rem 1rem = 1HTML字号大小

例如:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>花无缺</title>
    <style>
        body {
            color: blue;
        }
        .text2 {
            font-size: 30px;
        }
        .text3 {
            font-size: 2em;
        }
        .text4 {
            font-size: larger;
        }
        .text5 {
            font-size: 50%;
        }
    </style>
</head>
<body>
    <p class="text1">花无缺,这是浏览器默认字体大小</p>
    <p class="text2">这是使用px设置的字体大小,大小为30px</p>
    <p class="text3">这是使用em设置的字体大小,大小为2em,相当于32px</p>
    <p class="text4">这是使用small设置的字体大小</p>
    <p class="text5">这是使用百分比设置的字体大小,是父元素body16px的50%,相当于8px</p>
</body>
</html>

🌙字体粗细

属性名:font-weight

作用:设置字体的粗细

取值:

描述
normal 默认值。定义标准的字符。
bold 定义粗体字符。
bolder 定义更粗的字符。
lighter 定义更细的字符。
100 200 300 400 500 600 700 800 900 定义由细到粗的字符。400 等同于 normal,而 700 等同于 bold。
inherit 规定应该从父元素继承字体的粗细。

例如:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>花无缺</title>
    <style>
        .text1 {
            font-weight: bold;
        }
        .text2 {
            font-weight: lighter;
        }
        .text3 {
            font-weight: 900;
        }
    </style>
</head>
<body>
    <p class="text1">字体粗细</p>
    <p class="text2">字体粗细</p>
    <p class="text3">字体粗细</p>
    <!-- <p class="text4">字体粗细</p> -->
</body>
</html>

注意:

  • 不是所有字体都提供九种粗细,因此部分取值页面中无变化

🌙小型大写字母字体

属性名:font-variant

作用:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小

取值:

描述
normal 默认值。浏览器会显示一个标准的字体。
small-caps 浏览器会显示小型大写字母的字体。
inherit 规定应该从父元素继承 font-variant 属性的值。

例如:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>花无缺</title>
    <style>
        .nomal {
            font-variant: normal;
        }
        .small {
            font-variant: small-caps;
        }
    </style>
</head>
<body>
    <p class="nomal">This is a article.</p>
    <p class="small">This is a article.</p>
</body>
</html>

🌙字体复合属性

属性名:font

作用:将字体的各种属性写在一起

取值:font:style weight size family;

例如:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>花无缺</title>
    <style>
    /*将div的字体设置为斜体,粗细为700,大小为20px,字体为华文楷体*/
        div {
            font: italic 700 20px 华文楷体;
        }
    </style>
</head>
<body>
    <div>字体复合属性</div>
</body>
</html>

使用 font 时只能省略前两个属性(style、weight),如果省略了,相当于设置了默认值,而且必须按照这个顺序写。

好了,CSS字体相关的知识就到这里了,更多CSS知识都将更新在【CSS专栏】中,欢迎大家订阅关注,一起学习进步!

相关文章
移动端的打开方式,打开F12之后,就可以看到手机样式设计,移动端的初始化使用normalize.css代码库录到,box-sizing: border-box; 定宽度为多少就是多少,代码库,移动端
移动端的打开方式,打开F12之后,就可以看到手机样式设计,移动端的初始化使用normalize.css代码库录到,box-sizing: border-box; 定宽度为多少就是多少,代码库,移动端
|
9天前
|
前端开发
【前端web入门第三天】02 CSS字体和文本
本文详细介绍了CSS中字体和文本的相关属性。字体部分涵盖字体大小、粗细、样式、行高、字体族及`font`复合属性,通过具体示例展示了如何设置和使用这些属性。文本部分则讲解了文本缩进、对齐方式、修饰线及文字颜色等属性,并提供了实用的代码示例。此外,还简要介绍了调试工具中的一些细节,如错误属性标识和属性生效状态的控制。
43 28
|
8天前
|
缓存 前端开发
css内部样式和外部样式的性能比较和使用规范
CSS 的内部样式和外部样式各有优缺点,适用于不同场景。
|
2天前
|
前端开发
css <样式一>
css <样式一>
11 1
|
18天前
|
设计模式 移动开发 前端开发
CSS内联样式的使用,吐血整理
CSS内联样式的使用,吐血整理
31 6
|
23天前
|
XML 前端开发 数据格式
CSS常用样式及示例
CSS常用样式及示例
|
1月前
|
前端开发
CSS 设置hr样式
【8月更文挑战第9天】
|
20天前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
35 0
|
20天前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
29 0
|
1月前
|
前端开发 Ubuntu Linux
CSS 系统字体堆栈参考
CSS 系统字体堆栈参考
25 0