首页 > 试题广场 >

浮动元素引起的问题和解决办法

[问答题]
浮动元素引起的问题和解决办法?
.clearfix:after {content:"";display:table;clear:both;}
.clearfix {*zoom:1;}
发表于 2015-09-26 12:50:34 回复(0)
浮动元素引起的问题:
1. 父元素的高度无法被撑开,影响与父元素同级的元素
2. 与浮动元素同级的非浮动元素会跟随其后
3. 若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构

解决方法:
使用 CSS 中的 clear:both; 属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式:
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;} /* for IE/Mac */

清除浮动的几种方法:
1. 额外标签法,<div style="clear:both;"></div>(缺点:不过这个办***增加额外的标签使HTML结构看起来不够简洁。)
2. 使用after伪类
#parent:after{
    content:".";
    height:0;
    visibility:hidden;
    display:block;
    clear:both;
}
3. 浮动外部元素
4. 设置 overflow 为 hidden 或者 auto
发表于 2015-07-27 14:16:45 回复(0)

浮动缺陷:

1.父元素没有设置高度时,会出现塌陷

2.与浮动元素同级的其他元素会紧跟在浮动元素之后

清除浮动的方法:

1.在浮动元素之后添加空标签 设置clear:both

2.给父元素设置高度

3.给父元素添加overflow:hidden/auto

4.添加伪类标签:

.clear:after{

display:block

content:“”

height:0

visibility:hidden

clear:both



编辑于 2019-10-16 09:52:16 回复(0)
浮动引起的问题:
1、父元素没有设置高度时,会出现塌陷
2、与浮动元素同级的其他元素会紧跟在其后。
清除浮动的方法:
1、在浮动元素后边添加空标签:clear:both   缺点:添加无意义的标签
2、给父元素添加高度。缺点:不灵活
3、给父元素添加overflow:auto/hidden/table
4、伪类标签:
     .clearfix:after{
       content:" ";
       display:block;
       height: 0;
       clear:both;
       visibility:hidden;
      }
      .clearfix {zoom:1}   兼容IE6

发表于 2020-10-24 12:48:54 回复(0)

<p>父元素高度塌陷 </p><p>bfc</p><p><br></p><p><br></p>

编辑于 2020-09-11 16:31:13 回复(0)
<p>浮动元素早起用于制作文字环绕效果!会让对象脱离文档流,最具体的表现就是浮动元素的父级元素会失去高度</p><p>解决办法:</p><p>1.给父级盒子一个固定高度</p><p>2.在浮动元素后加一个空盒子设置样式clear:both;来清除浮动</p><p>3.通过给父级元素后加伪类:after{</p><p>content:’’;</p><p>height :0;</p><p>display:block;</p><p>clear:both;</p><p>}</p><p>4.给父元素设置overflow:hidden;</p><p><br></p>
发表于 2020-07-14 10:33:46 回复(0)
1.父元素高度无法被撑开影响与父元素同级的元素
2.与浮动元素同级的元素会紧随其后
发表于 2020-04-30 15:56:14 回复(0)

浮动元素的高度问题,

清除浮动解决问题

发表于 2019-10-12 12:58:36 回复(0)