1 CSS 长度和颜色设置
1.1 CSS 中的长度单位
| px 像素 |
| em 字体大小倍数 |
| % 百分比:设置宽高参照父元素宽高,设置字体大小参照默认字体大小 |
| |
| 字体默认大小 16px |
1.2 CSS 中的颜色设置方式
① 使用颜色名表示颜色
② rgb 方式表示颜色
| |
| |
| |
| |
| |
| |
| |
| .item02 { |
| background-color: rgb(50, 255, 100); |
| |
| |
| |
| background-color: rgb(100, 100, 100); |
| background-color: rgb(200, 200, 200); |
| background-color: rgb(255, 255, 255); |
| background-color: rgb(0,0,0) |
| |
| |
| background-color: rgb(10%,40%,10%); |
| } |
③ hex 十六进制方式表示颜色
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| .item03 { |
| background-color: #ccff22; |
| background-color: #cc00ff; |
| background-color: #af2; |
| |
| |
| |
| |
| background-color: #2f2; |
| |
| background-color: #ccab66; |
| |
| background-color: #999; |
| } |
2 CSS 基本选择器
2.1 四种基本选择器
① 标签名选择器
② 类名选择器
| <div class="box"></div> |
| <p class="box item"></p> |
| 1. 多个元素可以设置相同的类名 |
| 2. 一个元素可以设置多个类名 |
③ ID 选择器
④ 全局(通配)选择器
2.2 基本选择器之间的优先级
| 1. ID选择器 > 类名选择器 > 标签名选择器 > 全局选择器 |
| 2. 如果选择器优先级相同,后面的覆盖前面的 |
| 3. 行内式设置的样式大于任何选择器设置的样式 |
3 盒子模型(显示模式)
3.1 元素的显示模式
① 块级元素 block
一个元素的显示模式如果是块级(block),该元素称为块级元素。块级元素具有如下特点:
| 1. 块级元素独占(所在父元素)一行 |
| 2. 块级元素可以设置宽度和高度 |
② 行内元素 inline
一个元素的显示模式如果是行内(inline),该元素称为行内元素。行内元素具有如下特点:
| 1. 行内元素不会独占一行 |
| 2. 行内元素无法设置宽度和高度 |
③ 行内块元素 inline-block
一个元素的显示模式如果是行内块(inline-block),该元素称为行内块元素。行内块元素具有如下特点:
| 1. 行内块元素不会独占一行 |
| 2. 行内块元素可以设置宽度和高度 |
3.2 HTML 元素的默认显示模式
① 默认显示模式是 block 的元素:
| 格式排版标签: h1 ~ h6、p、hr、br、pre、div |
| 列表标签: ul、ol、li、dl、dt、dd |
| 表格标签: table、caption、thead、tbody、tfoot、tr |
| 表单标签: form、option |
② 默认显示模式是 inline 的元素:
| 文本标签: em、strong、sub、sup、del、ins、span |
| 超链接标签: a |
| 表单标签: label |
③ 默认显示模式是 inline-block 的元素:
| 图片标签: img |
| 表格标签: td、th |
| 表单标签: input、button、select、textarea |
| 框架标签: iframe |
3.3 修改元素的显示模式
给元素设置 CSS 属性 display
,就可以修改元素的显示模式,该属性的值如下:
| block 设置为块级 |
| inline 设置为行内 |
| inline-block. 设置为行内块 |
| none 设置为隐藏 |
3.4 总结
| 1. 如果显示模式分为三种: 行内、块级、行内块 |
| 2. 如果显示模式分为两种: 行内、块级; 行内块是行内的一种。 |
| 3. 块级元素中可以包裹块级、行内、行内块 |
| 行内元素中只能包裹行内元素、文字 |
4 常用 CSS 属性总结
4.1 字体样式
属性名 |
作用 |
属性值 |
font-size |
设置文字大小 |
长度 |
font-weight |
设置文字粗细 |
normal:正常 lighter:细 bold:粗 细:100-300,正常:400-500,粗:600-900 |
font-style |
设置斜体字 |
normal:正常 italic:斜体字 |
font-family |
设置字体族科 |
|
font |
复合属性 |
|
注意:浏览器规定文字大小最小为 12px!
① 字体族科 font-family
字体族科的设置:
| font-family: "microsoft yahei"; |
设置字体列表:
| font-family:"microsoft yahei","仿宋","sans-serif"; |
衬线字体和非衬线字体:
| serif 衬线字体:字体的笔画粗细不一致,如宋体、楷体等 |
| sans-serif 非衬线字体:字体笔画粗细一致,如微软雅黑,黑体 |
② 复合属性 font
| |
| font: 14px "courier new","宋体",serif; |
| |
| |
| font: 800 18px "courier new","宋体",serif; |
| |
| |
| font: italic 18px "courier new","宋体",serif; |
| |
| |
| font: 800 italic 18px "courier new","宋体",serif; |
| font: italic 800 18px "courier new","宋体",serif; |
| |
| |
| font: bold italic 18px/30px "courier new", "sans-serif"; |
③ 子属性和复合属性的关系
| 1. 复合属性写在子属性后面,会覆盖掉子属性;即使复合属性中没有写对应属性的值也会使用默认值覆盖 |
| 2. 子属性写在复合属性后面,会覆盖掉复合属性中的对应属性值 |
4.2 文字颜色
属性名 |
作用 |
属性值 |
color |
设置文字的颜色 |
颜色 |
4.3 文本样式
属性名 |
作用 |
属性值 |
letter-spacing |
设置字间距 |
长度(不能使用百分比) |
word-spacing |
设置词间距 |
长度(不能使用百分比) |
text-indent |
设置首行缩进 |
长度(推荐2em) |
text-decoration |
设置文本的修饰线 |
none:无修饰线 underline:下划线 overline:上滑线 line-through:删除线 |
text-align |
设置元素中文本水平对齐方式 |
left:靠左对齐 right:靠右对齐 center:居中对齐 |
vertical-align |
设置行内或行内块元素和同行文本如何对齐 |
baseline:基线对齐,默认值 bottom:底线对齐 top:顶线对齐 middle:中线对齐 sub:下标字效果 super:上标字效果 长度:与文字基线的距离,可以为负值 |
line-height |
设置行高 |
长度 |
① vertical-align
该属性有如下作用:
| 1. 设置行内或行内块元素和同行文本如何对齐,注意:需要直接将样式设置到行内或者行内块元素上 |
| 2. 实现上标字,下标字 |
| 3. (特殊性)设置单元格(td、th)中文本的垂直对齐方式 |
② line-height 设置行高
行高的概念:
| 1. 什么是行高? |
| 上一行的中线与下一行中线的距离 |
| 我理解等价于文字大小+一个行距 |
| 2. 什么是行距? |
| 上一行的底线与下一行顶线的距离 |
| |
| 3. 行高与行距的关系? |
| 设置行高能够影响行距 |
| |
使用行高实现元素中的一行文字垂直居中,满足以下条件:
| 1. 只有一行文字 |
| 2. 本元素的行高与父元素高度一致 |
line-height是font的子属性:
| |
| |
| |
| |
| font: 1em/200px "courier new"; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?