CSS | 字节青训营笔记

55 阅读2分钟

CSS的盒子模型

image.png 由内到外分别由内容(content),内边距边框(border),外边距(margin)四大部分组成

css的工作机制

  • 打开某个页面时,浏览器会先加载页面的HTML

  • 然后浏览器会解析HTML,其解析出的结构为一个DOM的树型结构

  • 在解析HTML的同时,浏览器也会加载CSS

  • CSS加载完成后,会添加样式到DOM树

  • 在对元素属性计算过后产生确定的树,最终去展示页面给用户

选择器

  • 通配选择器——*
  • 伪类选择器:状态伪类,比如点击时的样式、鼠标选中时的样式等;结构伪类,比如第一行元素
	a:link{
		color:black;
	}
	a:hover{
		color:orange;
	}
	li:first-child{
    	color:coral;
	}
</style>
  • 元素选择器——div
  • 类选择器——.class
  • ID选择器——#id
  • 属性选择器—— [prop=value]

优先级:!important>行内样式>ID选择器>类选择器、属性选择器、伪类>元素选择器、伪元素

组合方式

image-20220725174022847.png

常规流

inline行级盒子
block块级盒子
inline-block行级中有一个块级元素,不可拆分

Flexibility

  • flex-grow 有剩余空间时伸展能力
  • flex-shrink 容器空间不足时收缩能力

垂直水平居中

****1.     绝对定位:不知道父级的高宽,子绝父相,子元素代码Position: absolute;Top:50%;Margin-top:自身高度一半;Left:50%;Margin-left:自身高度一半;先让盒子的上下边缘和父盒子的水平中心线重叠,然后再让盒子往回移动自身的一般距离
****2.     绝对定位+margin:auto子级父级的高宽都不知道, 子绝父相。margin:auto写在子级元素。*
****3.flex法,在父级元素中设置
`4.table-cell使用表格的vertical-align:middle实现盒子的垂直居中Text-align 实现盒子的水平居中Inline-block:结合了块级和行内元素的特性。
****5.margin+transform
****6.inline-block + vertical-align****
****7.absolute + transform: 子绝父相先让盒子的上下边缘和父盒子的水平中心线重叠,然后再让盒子往回移动自身的一般距离。
****8.grid方法