前端学习记录~2023.7.13~CSS杂记 Day6

  • 前言
  • 一、基本文字和字体样式
    • 1、CSS 中的文字样式涉及什么
    • 2、字体
      • (1)颜色
      • (2)字体种类
        • a. 网络安全字体
        • b. 默认字体
        • c. 字体栈
      • (3)字体大小
      • (4)字体样式
      • (5)字体粗细
      • (6)文本转换
      • (7)文本装饰
      • (8)文字阴影
        • a. 多种阴影
    • 3、文本布局
      • (1)文本对齐
      • (2) 行高
      • (3)字母和单词间距
      • (4)其他一些属性
        • a. Font 样式:
        • b. 文本布局样式:
    • 4、Font 简写
  • 二、为列表添加样式
    • 1、处理列表间距
    • 2、列表特定样式
      • (1)符号样式
      • (2)项目符号位置
      • (3)使用自定义的项目符号图片
      • (4)list-style 简写
    • 3、管理列表计数
      • (1)start 属性
      • (2)reversed 属性
      • (3)value 属性
  • 三、样式化链接
    • 1、链接样式基础
      • (1)链接状态
      • (2)默认样式
    • 2、在链接中包含图标
    • 3、样式化链接为按钮
  • 四、Web 字体
    • 1、@font-face
    • 2、查找字体
    • 3、使用在线字体服务
  • 总结


前言

由于有很多知识非常符合直觉或者和其他语言有通用性,因此个人觉得不需要全部记下来,本篇只记录一些个人觉得需要注意或单独记忆的知识点。

同时为了提高效率和减少对不重要内容的时间投入,会考虑更加精简


一、基本文字和字体样式

本节涉及文本/字体样式的基本原理,包括设置文字的粗细、字体和样式、文字的属性简写、文字的对齐和其他效果,以及行和字母间距

1、CSS 中的文字样式涉及什么

用于样式文本的 CSS 属性通常可以分为两类:

  1. 字体样式:作用于字体的属性,会直接应用到文本中,比如使用哪种字体,字体的大小是怎样的,字体是粗体还是斜体,等等
  2. 文本布局风格:作用于文本的间距以及其他布局功能的属性,比如,允许操纵行与字之间的空间,以及在内容框中,文本如何对齐

2、字体

(1)颜色

color属性:设置选中元素的前景内容的颜色 (通常指文本,不过也包含一些其他东西,或者是使用 text-decoration 属性放置在文本下方或上方的线 (underline overline)。

p {
  color: red;
}

(2)字体种类

font-family属性:这个允许你为浏览器指定一个字体 (或者一个字体的列表),然后浏览器可以将这种字体应用到选中的元素上。浏览器只会把在当前机器上可用的字体应用到当前正在访问的网站上;如果字体不可用,那么就会用浏览器默认的字体代替 default font。

p {
  font-family: arial;
}

a. 网络安全字体

只有某几个字体通常可以应用到所有系统,这些就是所谓的 网页安全字体
前端学习记录~2023.7.13~CSS杂记 Day6_第1张图片

b. 默认字体

CSS 定义了 5 个常用的字体名称:serif, sans-serif, monospace, cursive, 和 fantasy。当使用这些通用名称时,使用的字体完全取决于每个浏览器,而且它们所运行的每个操作系统也会有所不同。
前端学习记录~2023.7.13~CSS杂记 Day6_第2张图片

c. 字体栈

如果无法保证字体可用性,可以在font-family属性中写多个值,用逗号分离,浏览器会从前往后的优先级找可用的。

一般最后最后选一个合适的通用字体名称来保底。

p {
  font-family: "Trebuchet MS", Verdana, sans-serif;
}

(3)字体大小

使用font-size属性

  • px:像素
  • em:1em 等于我们设计的当前元素的父元素上设置的字体大小
  • rem:rem 等于 HTML 中的根元素的字体大小,而不是父元素

元素的 font-size 属性是从该元素的父元素继承的。所以这一切都是从整个文档的根元素——开始,浏览器的 font-size 标准设置的值为 16px。另外其他元素也有默认值,比如

默认为 2em

(4)字体样式

font-style属性:用来打开和关闭文本 italic (斜体)。

下面是一些可能取值:

  • normal:将文本设置为普通字体 (将存在的斜体关闭)
  • italic:如果当前字体的斜体版本可用,那么文本设置为斜体版本;如果不可用,那么会利用 oblique 状态来模拟 italics
  • obilque:将文本设置为斜体字体的模拟版本,也就是将普通文本倾斜的样式应用到文本中

(5)字体粗细

font-weight:设置文字的粗细大小。

这里有很多值可选 (比如 -light, -normal, -bold, -extrabold, -black, 等等), 不过事实上你很少会用到 normalbold以外的值:

  • normal:普通粗细
  • bold:加粗
  • lighterbolder:将当前元素的粗体设置为比其父元素粗体更细或更粗一步。
  • 100-900:数值粗体值,提供更精细的粒度控制

(6)文本转换

text-transform属性:允许设置要转换的字体。

取值:

  • none:防止任何转型
  • uppercase:转为大写
  • lowercase:转为小写
  • capitalize:转换所有单词让其首字母大写
  • full-width:将所有字形转换成全角,即固定宽度的正方形,类似于等宽字体,允许拉丁字符和亚洲语言字形(如中文,日文,韩文)对齐

(7)文本装饰

text-decoration属性:设置/取消字体上的文本装饰 (主要使用此方法在设置链接时取消设置链接上的默认下划线。)

取值:

  • none:取消已经存在的任何文本装饰
  • underline:文本下划线
  • overline:文本上划线
  • line-through:穿过文本的线

text-decoration属性可以一次接受多个值,比如text-decoration: underline overline

text-decoration 是一个缩写形式,它由 text-decoration-line, text-decoration-styletext-decoration-color 构成。你可以使用这些属性值的组合来创建有趣的效果,比如 text-decoration: line-through red wavy得到红色的穿过文本的波浪线

(8)文字阴影

text-shadow属性。

这最多需要 4 个值,如下例所示:

text-shadow:4px 4px 5px red

4 个属性如下:

  1. 阴影与原始文本的水平偏移。必须指定。可以使用大多数的 CSS 单位,一般用px
  2. 阴影与原始文本的垂直偏移。必须指定。一般用px
  3. 模糊半径。更高的值意味着阴影分散得更广泛。如果不包含此值,则默认为 0,这意味着没有模糊。可以使用大多数的 CSS 单位
  4. 阴影的基础颜色。没指定默认为 black

正偏移值可以向右移动阴影,但也可以使用负偏移值来左右移动阴影,例如 -1px -1px

a. 多种阴影

可以通过包含以逗号分隔的多个阴影值,将多个阴影应用于同一文本,例如:

text-shadow: -1px -1px 1px #aaa,
             0px 4px 1px rgba(0,0,0,0.5),
             4px 4px 5px rgba(0,0,0,0.7),
             0px 0px 7px rgba(0,0,0,0.4);

效果如下
在这里插入图片描述

3、文本布局

(1)文本对齐

text-align属性:控制文本如何和它所在的内容盒子对齐

取值:

  • left:左对齐
  • right:右对齐
  • center:居中
  • justify:使文本展开,改变单词之间的差距,使所有文本行的宽度相同。这个需要多注意,可能需要搭配hyphens处理长单词

(2) 行高

line-height属性:设置文本每行之间的高。

可以接受大多数单位,不过也可以设置一个无单位的值,作为乘数,通常这种是比较好的做法。无单位的值乘以 font-size 来获得 line-height

line-height: 1.5;

(3)字母和单词间距

letter-spacing:字母与字母的间距
word-spacing:单词与单词的间距

p::first-line {
  letter-spacing: 2px;
  word-spacing: 4px;
}

(4)其他一些属性

a. Font 样式:

  • font-variant: 在小型大写字母和普通文本选项之间切换
  • font-kerning: 开启或关闭字体间距选项
  • font-feature-settings: 开启或关闭不同的 OpenType 字体特性
  • font-variant-alternates: 控制给定的自定义字体的替代字形的使用
  • font-variant-caps: 控制大写字母替代字形的使用
  • font-variant-east-asian (en-US): 控制东亚文字替代字形的使用,像日语和汉语
  • font-variant-ligatures: 控制文本中使用的连写和上下文形式
  • font-variant-numeric: 控制数字,分式和序标的替代字形的使用
  • font-variant-position: 控制位于上标或下标处,字号更小的替代字形的使用
  • font-size-adjust: 独立于字体的实际大小尺寸,调整其可视大小尺寸
  • font-stretch: 在给定字体的可选拉伸版本中切换
  • text-underline-position: 指定下划线的排版位置,通过使用 text-decoration-line 属性的underline 值
  • text-rendering: 尝试执行一些文本渲染优化

b. 文本布局样式:

  • text-indent: 指定文本内容的第一行前面应该留出多少的水平空间
  • text-overflow: 定义如何向用户表示存在被隐藏的溢出内容
  • white-space: 定义如何处理元素内部的空白和换行
  • word-break: 指定是否能在单词内部换行
  • direction: 定义文本的方向 (这取决于语言,并且通常最好让 HTML 来处理这部分,因为它是和文本内容相关联的)
  • hyphens: 为支持的语言开启或关闭连字符
  • line-break: 对东亚语言采用更强或更弱的换行规则
  • text-align-last: 定义一个块或行的最后一行,恰好位于一个强制换行前时,如何对齐
  • text-orientation: 定义行内文本的方向
  • word-wrap: 指定浏览器是否可以在单词内换行以避免超出范围
  • writing-mode: 定义文本行布局为水平还是垂直,以及后继文本流的方向

4、Font 简写

许多字体的属性也可以通过 font 的简写方式来设置 . 这些是按照以下顺序来写的: font-style, font-variant, font-weight, font-stretch, font-size, line-height, font-family

如果你想要使用 font 的简写形式,在所有这些属性中,只有 font-sizefont-family 是一定要指定的

font-sizeline-height 属性之间必须放一个正斜杠

例如

font: italic normal bold normal 3em/1.5 Helvetica, Arial, sans-serif;

二、为列表添加样式

1、处理列表间距

当为列表添加样式时,需要调整样式,使其保持与周围元素相同的垂直间距(例如段落和图片,有时称为垂直节奏)和相互间的水平间距

例如

li,
p {
  line-height: 1.5;
}

2、列表特定样式

我们从三个属性开始了解,这三个属性可以在

你可能感兴趣的:(前端学习记录,前端~CSS,前端,学习,css)