为什么需要浮动?
打破常规布局,让标准流的块级元素水平在一行显示并且没有间隙。
浮动元素的特点:
1.浮动元素会脱标,在标准流中不占位置。
2.浮动元素比标准流高出半个级别,可以覆盖标准流中的元素。
3.浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动
4.浮动元素有特殊的显示效果:a.一行可以显示多个 b.可以设置宽高
5.浮动有类似行内块元素的特性(一行显示多个,可以设置宽高,中间没有间隙)
特点:浮动的元素不能通过text-align:center 或 margin:0 auto。但文字不受影响。
为什么要清除浮动呢?
一般情况为,子元素浮动后脱标,不占位置。后面的元素会上移。
(子元素浮动后,父元素不给高度,高度为0,此时子元素不能撑开父元素。)
清除浮动的目的:需要父元素有高度,从而不影响其他网页元素的布局。
清除浮动的方法:
1.给父元素设置高度(有些场景不方便设置高度,例如新闻列表,京东为您推荐)
2.额外标签法(在父元素内容最后添加一个块级标签,然后再设置clear:both)
3.单伪元素(其实就是额外标签法升级版本,京东采用就是单伪元素)
4.双伪元素(小米采用就是双伪元素)
5.给父元素设置oveflow:hidden;