有浮动引起的三个问题
- 父容器无法包裹浮动元素,高度无法被撑开,认为此元素不在父元素内(脱离文档流),影响与父元素同级的元素(文字产生环绕、元素内容影响等)(给父元素添加clearfix样式)
- 与浮动元素同级的非浮动元素会跟随其后*(clear清除)8
- 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构(clear清除)
1 | clear : none | left | right | both;取值只对本元素有效 |
- 添加.clearfix样式,在父级元素中添加一个class=“clearfix”的样式
1 | .clearfix:before, .clearfix:after{ |
zoom:1表示对象的缩放比例,overflow:hidden和 _zoom:1; 这两个属性连起来起作用清除内部浮动
clearfix 主要是用在浮动层的父层,而 clear 主要是用在浮动层与浮动层之间,和浮动层同一级,如果想要撑开父层的高度,clear 就要放在最后。