注意:只要有浮动那么必须有清除浮动
为什么要清除浮动?因为经过浮动了元素,它会影响到它下面的元素的排版布局,还有浮动元素的父元素没有将浮动元素包裹着
只要清除了浮动,不会影响到浮动元素的下面进行排版布局,浮动元素的父元素会将浮动元素从视觉上包裹着
<!-- 浮动造成的影响 --> <div class="box"> <div class="div1"></div> <div class="div2"></div> <div class="div3"></div> <div class="clear"></div> <!-- 在最后一个浮动元素的下面新建一个空白的div,这个div的主要功能就是用于清除浮动 --> </div> <h2>总结表彰大会 张艺谋、谷爱凌们有话说 选择坚持</h2> <style type="text/css"> .box{ width: 500px; margin: 0 auto; border: 1px solid #000; } .div1,.div2,.div3{ width: 100px; height: 100px; float: left; } .div1{ background-color: #f00; } .div2{ background-color: #0f0; } .div3{ background-color: #00f; } .clear{ clear: both;/*两者都清除*/ } </style>
清除浮动有以下三种方法:
<style type="text/css"> .box{height: 300px;} </style>
●给浮动元素的父元素设置一个固定的高度,但是这个方法不建议使用,因为一个元素的高度一般情况下不是手动设置的,它应该是由其自身的内容来撑高的!
<div class="clear"></div> <style type="text/css">.clear{clear: both;}</style>
●使用清除浮动的样式属性clear,clear这个属性是专用于来清除浮动的,这个属性有三个值clear:left;清除左浮动;clear:right;清除右浮动;clear:both;两者都清除;这个属性一般是用在最后,一个浮动元素的下面,在最后一个浮动元素的下面新建一个空白的div,这个div什么都要放,不要给这个div里面放置内容,它只做一件事件就是清除浮动
<ul id="box"> <li>栏目管理</li> <li>栏目管理</li> <li>栏目管理</li> <li>栏目管理</li> <li>栏目管理</li> <li>栏目管理</li> </ul> <style type="text/css"> #box{ list-style: none; border: 1px solid red; width: 500px; margin: 0 auto; overflow: hidden; } #box li{ float: left; } </style>
●使用overflow:hidden这个属性来清除浮动,overflow是一个属性,overflow:hidden它原意是用来将溢出的部分进行隐藏,但是它还可以用于清除浮动,overflow:hidden它一般主要是用来将列表的浮动给清除。