时间:2021-05-08
让页面呈现多列布局时经常会使用 float:left/right ,可是浮动布局会导致父元素的高度为0(未设置高度的情况下),不会根据子元素的高度而变化,另外,后面不需要浮动想在下一行显示的标签出现在浮动元素的后面。
复制代码代码如下:
#content{background:#000;}
.left{width:100px;height:100px;background:#eee;margin:0 10px;float:left;}
所以我们在使用浮动进行布局的时候会需要一个块级元素(行内元素无效)来设置 clear 属性,如果浮动元素下方本来就有元素,那我们可以直接对该元素设置 clear:both ,若没有其他元素需要展示,我们往往会写一个空白标签来清除浮动
复制代码代码如下:
<div style="clear:both"></div>
但是这样无疑会增加浏览器的渲染负担,所以考虑使用伪元素 :after 来代替这个空白标签,因为清除浮动需要在浮动元素后面,所以不可以使用 :before ,对 :after 设置 content:"" ,并使其 display:block 成为块级元素后 clear:both 来清除浮动:
复制代码代码如下:
#content:after{content:"";display:block;clear:both;}
该方法在 ie6、7 中无效,需要对 #content 设置 zoom:1。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
网页布局中经常会用到float浮动,但是浮动的块级元素脱离了标准文档流,使得浮动元素的父元素没有高度,导致父级元素没有高度,所以需要清除浮动对父级元素的影响,本
一、问题多个浮动的元素无法撑开父元素的宽度,父元素的高度可能会变成0。若浮动元素后面跟非浮动元素,非浮动元素会紧随其后浮动起来。若浮动元素前面还有同级元素没有浮
如果父元素只包含浮动元素,且父元素未设置高度和宽度的时候。那么它的高度就会塌缩为零,也就是所谓的“高度塌陷”,如果父级元素包含背景或者边
浮动元素使其父元素高度塌陷我们经常会遇到一种情况,给一个元素设置浮动之后float:left/right;,如果该元素的父元素有背景颜色,那么会发现父元素的背景
一、清除浮动的方式一给前面一个父元素设置高度,​注意:企业开发中能不写高度就不写高度D131_ClearFloat.smallbox1{width: