一、CSS盒模型
CSS盒模型分为:标准盒模型和怪异(IE)盒模型。
区别
标准盒模型元素宽度和高度只包含内容区的宽度和高度,怪异盒模型元素的宽度和高度包含内容区、border和padding。
二、CSS选择器的优先级
!important > 行内样式 > id选择器 > 类选择器、伪类选择器(:hover)、属性选择器([type='text'])> 元素选择器、伪元素选择器 > 通配符选择器(*)
选择器的种类:
- id选择器:#header
- class选择器:.class{}
- 伪类选择器::hover、:selection、.action、:first-child、:last-child、:first-of-type、:last-of-type、:nth-of-type(n)、:nth-of-last-type(n)等,例如a:hover{}
- 属性选择器:input[type="text"]
- 元素选择器:div{}
- 伪元素选择器:::after、::before等,例如:li::after
- 子选择器:ul > li{}
- 后代选择器:div p{}
三、CSS实现水平垂直居中
- 行内元素:看他的父级元素是不是块级元素,是的话给父元素
text-algin:center;如果父元素不是块级元素,先把父元素设置为块级元素,再给父元素text-algin:center; - 块级元素:宽度固定,
margin: 0 auto; - flex布局
.box { // 父盒子
display: flex;
justfiy-content: center;
align-items: center;
}
- 定位:父元素相对定位,子元素绝对定位,在使用
transform: translate(-50%, -50%);
.box { // 父盒子
width: 500px;
height: 500px;
position: relative;
}
.item {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
四、less和sass的区别
变量符号不一样,less使用@,sass使用$。
五、BFC
块级格式化上下文:浮动元素和其他元素相互交互的部分。
BFC特点:
- BFC容器在计算高度的时候,浮动元素的高度也会计算在内
- BFC容器内的子元素的margin-top不会和BFC父容器发生重叠
- 遵照从上至下,从左到右的布局原则
如何触发一个元素形成BFC
display: flex;overflow: hidden/auto/scroll;float: left/right;position: absolute/fixed;
高度塌陷:
- 高度塌陷:父元素没有给固定高度,默认高度是由子元素撑开,如果子元素设置了浮动,父元素高度会变成0。
- 原因:浮动元素不占据父容器文档流空间,所以父元素认为自己没有子元素,高度就会变成0。
如何解决高度塌陷
- 触发BFC:overflow: hidden; 将父元素变成BFC,使其可以包含浮动元素;
.parent {
overflow: hidden;
}
- 使用clearfix:
::after伪元素占据一行,并执行clear: both;,让父元素包裹浮动的子元素。
.parent::after {
content: "";
display: block;
clear: both;
}
- 使用
display:flex;触发BFC:flex触发 BFC,父元素自动包裹子元素的高度。
.parent {
display: flex;
}