一、如何清除浮动
父子级:
1.在子级元素后添加一个空元素,为其添加clear:both 弊端:增加了无意义的元素结构
2.给父级元素设置一个overflow:hiddden 解决了第一种方法的弊端
3.
.hidden::after 为需要清除浮动元素的伪对象中设置height:0,
#layout::after{
display:block;
clear:both;
content:"";
}
(用伪类清除浮动时用after,并且加上content:" ",可以加内容也可以不加,但是一定要加上display:block;,同时还要写clear:both;)
【最推荐使用第二种】
兄弟级:
<div></div>
<div></div>
给当前元素(被浮动影响的元素)设置css属性clear,值可为left、right,both。作用分别为清除左浮动元素带来的影响,清除右浮动元素带来的影响,清除左右两侧浮动元素带来的影响。
二、布局原则:
1.框架搭建:自上而下,由外向内
2.通配符选择器重置全局样式:
*{
margin:0,
padding:0
}
a{
text-decoration: none;
color: inherit;
}
3.由外向内布局,每一块元素依然遵循自上而下,由外至内的原则
三、水平垂直居中的方法:
1.margin移动 top、left
2.父相对定位+子绝对定位,绝对定位top、left为50%,其余使用margin-left和margin-top移动
3.父相对+子绝对,且left、top、bottom、right为0,margin:auto
4.给父元素设置display:flex,且align-items:center;justify-content:center;