深入解析:DAY 04 CSS文本,字体属性以及选择器

news/2025/9/30 12:55:21/文章来源:https://www.cnblogs.com/wzzkaifa/p/19120910

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;
}

实际应用示例:

这段文字没有装饰线

这段文字有下划线

这段文字有上划线

这段文字有删除线

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;
}

实际应用示例:

 

这段文字会居中对齐

 示例图片

重要特性:

  • 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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原核蛋白表达与真核蛋白表达的差异选择

原核蛋白表达与真核蛋白表达的差异选择 重组蛋白表达是现代分子生物学、结构生物学和生物制药研究中的核心技术。不同蛋白(尤其是真核来源的蛋白)在异源表达时可能面临折叠、修饰、毒性、可溶性、活性保持等挑战。常…

网站开发找哪家好产品做网站推广

题目链接:https://codeforces.com/contest/1105 C. Ayoub and Lost Array 题目大意:一个长度为n的数组,数组的元素都在[L,R]之间,并且数组全部元素的和可以被3整除,问有多少种方法构建出该数组。答案模1000000007 例 输…

企业网站应该找谁做seo排名教程技术

1、位存储 只有0和1两种状态! Bitmap 位图:数据结构,都是操作二进制位来进行记录 登录/未登录 活跃/不活跃 打卡 两个状态的都可以使用Bitmap! 2、常用命令 2.1、用Bitmap来记录 周一到周日的登陆情况 127.0.0.1:6379> …

【MacOS】彻底卸载Navicat

sudo rm -Rf /Applications/Navicat\ Premium.appsudo rm -Rf /private/var/db/BootCaches/CB6F12B3-2C14-461E-B5A7-A8621B7FF130/app.com.prect.NavicatPremium.playlistsudo rm -Rf ~/Library/Caches/com.apple.hel…

SpringAI 实战:解除 Netty 超时难题,优化 OpenAiApi 配置

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

泛型类型参数

泛型类型参数在Java泛型中,"T" 是一个类型参数的占位符,代表"Type"。它是一个约定俗成的命名方式:T:Type(类型)E:Element(元素)K:Key(键)V:Value(值)N:Number(数字)

哪些网站可以做一些任务挣钱网站前台做哪些工作

动态路由协议/静态路由协议 静态路由协议和动态路由协议的区别: 静态路由协议的缺点: 配置繁琐 针对拓扑的变化不能够自动收敛 只适用于小型网络 静态路由协议优点: 占用资源少 安全 稳定 动态路由协议的优点: 配置简单 针对拓…

CF1584E Game with Stones 题解

Sol 考虑一个区间 \([l,r]\) 要如何才能合法。 显然 \(l\) 只能和 \(l+1\) 消耗,所以 \(a_{l+1}\ge a_l\)。 然后接着让 \(l+1\) 和 \(l+2\) 消耗,所以 \(a_{l+2}\ge a_{l+1}-a_l\)。 以此类推 \(a_{i}\ge a_{i-1}-a…

做网站用什么插件使用html制作个人主页

目录 一、基础知识 二、两类密钥体制 三、数字签名实现功能 四、鉴别 五、密钥分配 六、互联网使用的安全协议 6.1网络层安全协议 6.2传输层安全协议 七、系统安全 7.1防火墙 7.2入侵检测系统 一、基础知识 计算机网络的通信方面面临两大类威胁:被动攻击…

高德解包和打包报错

解包和打包报错 解包报错 PS D:\code\amapauto-editor\resources> java -jar apktool.jar d gaode.apk -f I: Using Apktool 2.12.1 on gaode.apk with 8 threads I: Baksmaling classes.dex... I: Loading resourc…

用友U8Api 接口对接

U8 API接口集成主要用于第三方系统与用友U8ERP系统进行数据交互,实现业务系统对接 文档中接口集成了用友U8各个版本的数据对接功能,支持U8.9到 U818.0版本要求,摒弃了eai、openapi、api、暴力插库等接口的方式,全部…

实用指南:如何在WordPress中添加短代码

实用指南:如何在WordPress中添加短代码pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

填坑:VC++ 采用OpenSSL 3.0接口方式生成RSA密钥 - 教程

填坑:VC++ 采用OpenSSL 3.0接口方式生成RSA密钥 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

JUC:AQS

AbstractQueuedSynchronizer AQS重要性: Java => JVM JUC => AQS 4.11.1 前置知识公平锁和非公平锁 可重入锁 自旋思想 LockSupport 双向链表数据结构 模板设计模式4.11.2 AQS入门级理论知识AQS定义抽象的队列同…

CF1980F2 Field Division (hard version) 题解

Sol 注意到如果允许走没有限制边境的点答案一定不变,所以只考虑修改在边境上的点即可。 然后再注意到一个点边境上的点如果变成可通信的,那么每个不在边境上的点只会变成了边境上的点至多 \(2\) 次。 所以暴力即可。…

JUC:ThreadLocal

4.8 ThreadLocal 线程局部变量。 4.8.1 常见面试题ThreadLocal中ThreadLocalMap的数据结构和关系? ThreadLocal的key是弱引用,为什么? ThreadLocal内存泄漏问题是什么? ThreadLocal中最后为什么要加remove方法?4.…

广义串并联图とP6790 [SNOI2020] 生成树

广义串并联图とP6790 [SNOI2020] 生成树 前置知识:广义串并联图 定义广义串并联图为不存在与 \(K_4\)(即 \(4\) 个点的完全图)同胚的子图的连通无向图(同胚是指可以通过边的放缩而互相转化的图,即 \((x\leftright…

Manim实现波浪形文字特效

本文将介绍如何使用Manim实现波浪形文字特效,通过自定义动画类让文字产生波浪般的动态效果。 1. 实现原理 波浪形文字特效的核心是通过自定义Animation类,对文本对象中的每个字符应用不同的位置偏移,从而形成波浪效…

网站开发电子书网站ip地址 转向域名

内容简要 1分析网站 2简单爬取 3进阶自定义爬取 4保存进数据库 学校基础设施太差,宿舍电量过低提醒虽然贴在楼下,但是作为低头一族,经常忘记看提醒导致宿舍酣战时突然黑屏,为了避免这种尴尬的场景以及强化PY学习,我决定…

JUC: synchronized与锁升级

4.10.1 面试题谈谈你对synchronized的理解 synchronized的锁升级机制是什么? 偏向锁和轻量锁有什么区别?高并发时,同步调用应该去考量锁的性能损耗。能用无锁的数据结构,就不要用锁。能用锁块,就不要锁整个方法体…