重新理解css(一)
CSS
- 全称 层叠样式表 Cascading Style Sheet
选择器
- 分类和权重
- 元素选择器 a{}
- 伪元素选择器 ::before{}
- 类选择器 .link{}
- 属性选择器 [type=radio]{}
- 伪类选择器 :hover{}
- ID选择器 #id{}
- 组合选择器 [type=checkbox] + label{}
- 否定选择器 :not(.link){}
- 通用选择器 *{}
- 权重
- ID选择器 #id{} + 100
- 类 属性 伪类 +10
- 元素 伪元素 +1
- 其它选择器 +0
- 权重不会进位 11 个类 的权重 也比 ID 选择器 小
- !important 优先级最高
- 元素属性(内部关联写法) 优先级高 但是 没有!important 优先级高
- 相同的权重 后写的生效(覆盖)
- 解析方式和性能
浏览器 是 从右往左去 解析的
非布局样式
- 字体、字重、颜色、大小、行高
- 背景、边框
- 滚动、换行
- 粗体、斜体、下划线
- 其他
---
- 字体
- 字体族
- 多字体 fallback
- 网络字体,自定义字体
- iconfont 原理实际上是自定义字体
- 行高
- 行高的构成
- inline-box 的高度 决定行高
- 行高变大,会导致外层元素高度变高,但是文字排版渲染高度不会变(仅与字体大小有关)
- 行高相关的现象
- 垂直居中
- 设定 height-align 和外层元素高度一致就行
- 文字对齐
- 设定 vertical-align: middle
- 图片 3px 空隙问题
- 解决方案 设定 vertical-align: bottom
- 背景
- 背景颜色
- background: #f00 | hsl(230,100%,50%,0.3) | rgba(255,0,0,0.3)
- background:url(./test.png)
- 渐变色背景
- background: linear-gradient(90deg, red, yellow 80%, blue) 线性渐变
- 多背景叠加
- 背景图片和属性(雪碧图)
- base64 和性能优化
- 多分辨率适配
- 把 大图片 通过 background-size 来缩小 之后 在高分辨屏幕下查看 不会模糊
重新理解css(一)
https://blogxy.cn/posts/d5681d32/