css样式整理
css 样式整理
line-height: 1.5line-height1.5 和 line-height:150%的区别
区别
区别体现在子元素继承时,如下:
- 父元素设置 line-height:1.5 会直接继承给子元素,子元素根据自己的 font-size 再去计算子元素自己的 line-height。
- 父元素设置 line-height:150%是计算好了 line-height 值,然后把这个计算值给子元素继承,子元素继承拿到的就是最终的值了。此时子元素设置 font-size 就对其 line-height 无影响了。
举例
- 比如父元素设置属性:font- size:14px;line-height:1.5,child 设置 font-size:26px;那么父元素:line-height = 14px _ 1.5 = 21px,子元素:line-height = 26px _ 1.5 = 39px。
- 父元素设置属性:font-size:14px;line-height:150%,child 设置 font-size:26px;那么父元素:line-height = 14px * 150% = 21px,子元素:line-height = 父元素的 line-height = 21px。
注:line-height 设置 em 和百分比同等效果

flex:1 详解
定义
CSS 属性 flex 规定了弹性元素如何伸长或缩短以适应 flex 容器中的可用空间。这是一个简写属性,用来设置 flex-grow, flex-shrink 与 flex-basis。
- flex-grow:定义项目的的放大比例;
- 默认为 0,即 即使存在剩余空间,也不会放大;
- 所有项目的 flex-grow 为 1:等分剩余空间(自动放大占位);
- flex-grow 为 n 的项目,占据的空间(放大的比例)是 flex-grow 为 1 的 n 倍。
- flex-shrink:定义项目的缩小比例;
- 默认为 1,即 如果空间不足,该项目将缩小;
- 所有项目的 flex-shrink 为 1:当空间不足时,缩小的比例相同;
- flex-shrink 为 0:空间不足时,该项目不会缩小;
- flex-shrink 为 n 的项目,空间不足时缩小的比例是 flex-shrink 为 1 的 n 倍。
- flex-basis: 定义在分配多余空间之前,项目占据的主轴空间(main size),浏览器根据此属性计算主轴是否有多余空间,
- 默认值为 auto,即 项目原本大小;
- 设置后项目将占据固定空间。
取值
- 默认值: 0 1 auto
- none:0 0 auto
- auto:1 1 auto
- **n(非负数字)**:n 1 0%
- n1 n2:n1 n2 0%
- **L(长度)**:1 1 L
- n L:n 1 L
详见MDN
用途
用作自适应布局,将父容器设置 display:flex,侧边栏大小固定后,将内容区设置 flex:1,内容区则会自动放大占满剩余空间。
first-child、last-child、nth-child()失效问题
- 在使用 first-child 时,所获取的元素前面不能有兄弟节点,同理使用 last-child 时所获取的元素后面不能有兄弟节点。
- 使用 nth-child()索引会因为所获取的元素前面的兄弟节点而累加
实现 0.5px 边框
2024.5.15
Canvas
绘制的 Canvas 实际大小与 CSS 中设置的大小不一致,通过设置 Canvas 的宽度和高度属性来确保它们与 CSS 中设置的大小相匹配