理解CSS|青训营笔记

70 阅读2分钟

1.层叠(Cascading)、优先级

1.样式表来源 image.png 2.层叠优先级 !imortant>内联>id>class=伪类选择器

3.源码位置 相同优先级,按顺序决定。

image.png

1.选择器尽量少用id 2.尽量不要使用!important 3.自己的样式加载在引用库的后面。

1.继承

大部分具有继承特性的属性跟文本相关: color 、 font 、 font-family 、 font-size 、 font-weight 、 font-variant 、 font style 、 line-height 、 letter-spacing 、 text-align 、 text-indent 、 text transform 、 white-space 以及 word-spacing 还有少部分列表、表格的属性

css的值和单位

image.png

盒模型

1.实现三角形 利用左右的border的颜色变为transparent,并且没有上边框。达成效果。

image.png

2.固定比例矩形 使用百分比继承父元素的高度和宽度。来实现固定比例。 image.png

image.png

3.实现水平居中 margin:0 auto; 4.渐变

image.png

盒模型-负外边距(只有margin可以设置为负值)

image.png

2.布局

1.常规流布局

内联、块级元素。 还有一个内敛块元素。

1.块级格式化上下文(BFC): 如外边距塌问题解决 2.内联格式化上下文:

image.png

vertic-align决定位置

image.png

实际使用场景: 1.单行文字居中

image.png

2.文字和icon居中对齐 如果不是完全对齐,试试把父元素的font-size设置为0

image.png

2.弹性盒子布局(flex)- 一维布局

image.png

3.网格布局(grid)-二维布局

image.png

父元素书写:

grid-template-columns:1 用于设置每列占的大小

repeat(2,1fr)相当于 1fr 1fr

grid-template-rows:2 用于设置行占的大小

column-gap 列间距

row-gap 行间距

gap两者同时设置。

合并单元格,子元素书写

grid-column:span 2;合并两个网格

grid-row:span 2;合并两行

grid-area: span 3 (行合并) / span 2(列合并)

4.定位position

1.relative 2.absolute 3.fixed 4.sticky

image.png 关于sticky定位的网址: position属性sticky详解-Css-前端这点事 (ltonus.com)

3.层叠上下文

形成层叠上下文的条件: 1.position:relative或absolute;且z-index不是auto 2.posiiton:fixed或sticky 3.flex或grid的子元素;并且z-index不是auto 4.opacity的值小于1 5.transform的值不为none 6.will-change的值不为通用值 等等

层叠顺序

image.png

编写z-index的建议 使用变量来管理z-index的值。比如:

image.png

4.变形、过渡、动画

1.变形

  1. 2d变形

image.png

2.3d变形

2.transition过渡

3.animiation动画

4.性能相关