理解CSS
字节青训营学习笔记 - CSS
CSS是什么
介绍:
CSS(Cascading Style Sheets)是一种用来定义HTML页面的样式的语言
通过其我们可以
设置字体和颜色
设置位置和大小
添加动画效果
为不同的设备适配不同的样式
使用CSS
1 | <!-- 外链 --> |
工作流程
graph LR
A(加载HTML)-->B(解析HTML)-->C(创建DOM树)-->D(展示页面)
B-->E(加载CSS)-->F(解析CSS)-->G(添加样式到DOM节点)-->C
选择器
三种方式
标签名、类名或ID
属性
DOM树中的位置
还有一个特殊的选择器: * 统配选择器, 可以选择所有元素
选择器实例
1 |
|
伪类
当元素属于某个状态时, 可以使用伪类
1 | /* 默认状态 */ |
组合(重点)
| 名称 | 语法 | 说明 | 实例 |
|---|---|---|---|
| 直接组合 | AB | 满足A同时也满足B | input:focus |
| 后代组合 | A B | 选择A的子孙B | div a |
| 亲子组合 | A>B | 选择A的子元素B | div>a |
| 兄弟选择器 | A~B | 如果B在A后且同级则选择它 | a~img |
| 相邻选择器 | A+B | 如果B紧跟在A后则选择它 | a+img |
当选择多个时, 通过 , 隔开, 称为选择器组
颜色
三原色
- R: red
- G: green
- B: blue
通过三色可以设置颜色, 数值从0-255
#8fac87 与 rgb(143, 172, 135) 为两种设置颜色的方法,前者为后者三色的值转为16进制后拼接
HSL
通过三方面来区分颜色
- Hue: 色调 颜色(0-360)
- Saturation: 饱和度 越高越鲜艳(0-100)
- Lightness: 亮度 越高颜色越亮(0-100)
使用方式: hsl(0, 100%, 50%)
透明度
rgba(255, 0, 0, 0.5): 透明度为50%的红色
hsla(0, 100%, 50%, 0.6): 透明度为60%的红色
#ff0000ff: 透明度为255的红色
字体
1 |
|
使用网络字体
1 | @font-face{ |
字体样式
大小:
font-size: <font-size> 字体大小
font-size 可以是一个数值加单位, 如 px, em, rem
样式:
font-style: <font-style> 字体样式
normal: 正常italic: 斜体oblique: 倾斜initial: 初始值inherit: 继承
字重:
font-weight: <font-weight> 字体重量, 数值越大越粗
行高:
设置两行文字之间的间距
line-height: <line-height> 行高
组合设置:
1 | body { |
对齐:
text-align: <text-align> 文字对齐
left: 左对齐right: 右对齐center: 居中justify: 两端对齐initial: 初始值
间距:
letter-spacing: <letter-spacing> 字符间距
word-spacing: <word-spacing> 单词间距
首行缩进:
text-indent: <text-indent> 首行缩进
文字修饰:
text-decoration: <text-decoration> 文字修饰
none: 无修饰underline: 下划线overline: 上划线line-through: 删除线initial: 初始值inherit: 继承
不可见字符处理:
white-space: <white-space> 不可见字符处理
normal: 正常nowrap: 不换行pre: 单词首字母紧靠pre-wrap: 单词首字母紧靠, 其他字符换行pre-line: 单词首字母紧靠, 其他字符不换行initial: 初始值inherit: 继承