【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专栏】中,欢迎大家订阅关注,一起学习进步!

相关文章
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
190 1
|
2月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
112 1
|
前端开发
css 设置背景色渐变、字体颜色渐变
css 设置背景色渐变、字体颜色渐变
|
8月前
|
前端开发
|
JavaScript 前端开发
jQuery和CSS3斑马线样式range滑块特效
jQuery和CSS3斑马线样式range滑块特效
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
285 4
|
前端开发 JavaScript UED
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
1590 1
|
存储 前端开发 安全
详解CSS之Web 字体
详解CSS之Web 字体
173 4

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    234
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    225
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    163
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    133
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    274
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    408
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    176
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    112
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    190
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    260