DAY 04 CSS文本,字体属性以及选择器

CSS文本与字体属性

1. 什么是CSS文本属性

CSS文本属性用于控制文本的外观和布局,包括文本颜色、对齐方式、装饰、间距等。

2. text-decoration 文本装饰

text-decoration 属性用于给文本添加装饰线。

复制代码
/* 无装饰线 */
.none-example {
  text-decoration: none;
}
​
/* 下划线 */
.underline-example {
  text-decoration: underline;
}
​
/* 上划线 */
.overline-example {
  text-decoration: overline;
}
​
/* 删除线 */
.line-through-example {
  text-decoration: line-through;
}

实际应用示例:

复制代码
<p class="none-example">这段文字没有装饰线</p>
<p class="underline-example">这段文字有下划线</p>
<p class="overline-example">这段文字有上划线</p>
<p class="line-through-example">这段文字有删除线</p>

3. text-transform 文本转换

text-transform 控制文本的大小写转换。

复制代码
/* 全部大写 */
.uppercase {
  text-transform: uppercase;
}
​
/* 全部小写 */
.lowercase {
  text-transform: lowercase;
}
​
/* 每个单词首字母大写 */
.capitalize {
  text-transform: capitalize;
}

4. text-indent 文本缩进

text-indent 设置文本块中首行文本的缩进。

复制代码
.indent-example {
  text-indent: 2em; /* 缩进2个字符宽度 */
}

5. text-align 文本对齐(重要)

text-align 设置文本的水平对齐方式。

复制代码
/* 左对齐(默认) */
.left-align {
  text-align: left;
}
​
/* 右对齐 */
.right-align {
  text-align: right;
}
​
/* 居中对齐 */
.center-align {
  text-align: center;
}
​
/* 两端对齐 */
.justify-align {
  text-align: justify;
}

实际应用示例:

复制代码
<div class="center-align">
  <p>这段文字会居中对齐</p>
  <img src="image.jpg" alt="示例图片">
</div>

重要特性:

  • text-align: center 可以使块级元素内的行内内容(文字、图片等)居中

  • 对于块级元素本身居中,需要使用 margin: 0 auto

6. text-align的基本使用

块级元素 vs 行内元素:

  • 块级元素:独占一行,可设置宽高(如div、p、h1等)

  • 行内元素:不独占一行,不可设置宽高(如span、a、strong等)

图片居中:

复制代码
/* 方法1:使用text-align(需要父元素是块级元素) */
.container {
  text-align: center;
}
.container img {
  display: inline-block; /* 或保持默认的inline */
}
​
/* 方法2:使用margin auto(需要图片是块级元素) */
img.center {
  display: block;
  margin: 0 auto;
}

7. 间距属性

复制代码
/* 字母间距 */
.letter-spacing {
  letter-spacing: 2px;
}
​
/* 单词间距(对中文无效) */
.word-spacing {
  word-spacing: 5px;
}
​
/* 行高 */
.line-height {
  line-height: 1.5; /* 1.5倍行高 */
}

CSS字体属性

8. 什么是CSS字体属性

CSS字体属性用于控制文本的字体样式,包括字体类型、大小、粗细等。

9. font-size的三种方式

复制代码
/* 1. 绝对单位(固定大小) */
.pixel-size {
  font-size: 16px; /* 像素 */
}
​
/* 2. 相对单位(相对于父元素) */
.relative-size {
  font-size: 1.2em; /* 父元素字体大小的1.2倍 */
}
​
/* 3. 相对单位(相对于根元素) */
.root-relative-size {
  font-size: 1.5rem; /* 根元素(html)字体大小的1.5倍 */
}

10. font-family 字体族

原理: 浏览器会按照字体列表的顺序查找可用字体

复制代码
/* 单个字体 */
.single-font {
  font-family: "Microsoft YaHei";
}
​
/* 多个字体(备用字体) */
.multiple-fonts {
  font-family: "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif;
}

11. font-weight 字体粗细

复制代码
/* 正常粗细 */
.normal-weight {
  font-weight: normal; /* 或400 */
}
​
/* 加粗 */
.bold-weight {
  font-weight: bold; /* 或700 */
}

12. font-style 字体样式

复制代码
/* 正常 */
.normal-style {
  font-style: normal;
}
​
/* 斜体 */
.italic-style {
  font-style: italic;
}

13. font-variant 字体变体

复制代码
/* 小型大写字母 */
.small-caps {
  font-variant: small-caps;
}

14. line-height 行高(重要)

应用场景:

  • 改善文本可读性

  • 实现单行文本垂直居中

复制代码
/* 单行文本垂直居中 */
.vertical-center {
  height: 40px;
  line-height: 40px; /* 行高等于容器高度 */
}

15. font缩写属性

格式: font: font-style font-variant font-weight font-size/line-height font-family;

复制代码
/* 完整写法 */
.full-font {
  font-style: italic;
  font-variant: small-caps;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  font-family: Arial, sans-serif;
}
​
/* 缩写写法 */
.shorthand-font {
  font: italic small-caps bold 16px/1.5 Arial, sans-serif;
}

CSS选择器

16. 什么是CSS选择器

CSS选择器用于选择要应用样式的HTML元素。

17. 通配选择器

复制代码
/* 选择所有元素 */
* {
  margin: 0;
  padding: 0;
}

18. 简单选择器

复制代码
/* 元素选择器 */
div {
  color: blue;
}
​
/* 类选择器 */
.class-name {
  color: red;
}
​
/* ID选择器 */
#element-id {
  color: green;
}

19. 属性选择器

复制代码
/* 选择有特定属性的元素 */
input[type="text"] {
  border: 1px solid #ccc;
}

20. 后代选择器(重要)

复制代码
/* 全后代选择器(所有后代) */
div p {
  color: red;
}
​
/* 直接后代选择器(仅子代) */
div > p {
  color: blue;
}

21. 兄弟选择器

复制代码
/* 相邻兄弟选择器(紧接在后面的第一个兄弟) */
h1 + p {
  margin-top: 0;
}
​
/* 通用兄弟选择器(后面所有兄弟) */
h1 ~ p {
  color: gray;
}

22. 选择器组(重要)

复制代码
/* 并集选择器(多个选择器应用相同样式) */
h1, h2, h3 {
  color: navy;
}
​
/* 交集选择器(同时满足多个条件) */
p.special {
  font-weight: bold;
}

23. 伪类(重要)

概念: 伪类用于定义元素的特殊状态

复制代码
/* 链接未访问状态 */
a:link {
  color: blue;
}
​
/* 链接已访问状态 */
a:visited {
  color: purple;
}
​
/* 鼠标悬停状态(重要) */
a:hover {
  color: red;
  text-decoration: underline;
}
​
/* 激活状态(鼠标按下未释放) */
a:active {
  color: green;
}
​
/* 获得焦点状态 */
input:focus {
  border-color: blue;
  outline: none;
}
相关推荐
一條狗2 小时前
学习日报 20250928|React 中实现 “实时检测”:useEffect 依赖项触发机制详解
前端·react.js
Gazer_S2 小时前
【React 状态管理深度解析:Object.is()、Hook 机制与 Vue 对比实践指南】
前端·react.js·前端框架
Nicholas682 小时前
flutter视频播放器video_player_avfoundation之AVFoundationVideoPlayer(三)
前端
Asort2 小时前
JavaScript设计模式(六)——适配器模式 (Adapter)
前端·javascript·设计模式
是晓晓吖2 小时前
Puppeteer page.on('response',fn)的最佳实践之等待响应
前端·puppeteer
跟橙姐学代码2 小时前
给Python项目加个“隔离间”,从此告别依赖纠缠!
前端·python·ipython
Cache技术分享2 小时前
202. Java 异常 - throw 语句的使用
前端·后端
_AaronWong2 小时前
Electron全局搜索框实战:快捷键调起+实时高亮+多窗口支持
前端·搜索引擎·electron