接上篇(解决float导致塌陷问题)之clear:both失效
2016-10-21 22:15
435 查看
在今天写的途中发现一个问题,虽然解决,可并不知道原因是什么,现在先记下来。
问题的简化版大概是这样:若父元素里有一个以上的元素为浮动,那么,清除浮动(无论是用伪类还是新增一个类的方法)无效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.fu1{
border: 1px solid black;
zoom:1;
}
.son1{
height: 300px;
width: 300px;
float: left;
background-color: green;
}
.son2{
height: 300px;
width: 300px;
float: left;
background-color: yellow;
}
.fu2{
width: 800px;
height: 200px;
border: 2px solid black;
}
.clear:after{
content: ".";
height: 0;
visibility: hidden;
display: block;
clear: both;
}
</style>
</head>
<body>
<div class="fu1">
<div class="son1">
</div>
<div class="son2 .clear">
</div>
</div>
<div class="fu2">
</div>
</body>
</html>这样清除浮动仍然无法让父元素撑开。
只能通过父元素设置overflow:hidden 或者显式设置高度来撑开fu1高度
一定要注意,若设置父元素fu1 position:absolute时,父元素的高度是可以被撑开,并且体现了absolute的包裹性,表现即宽度也与内容自适应了,
但是fu1仍然不在文档流中!,所以fu2会跑去上面,达不到我们想要的效果。
问题的简化版大概是这样:若父元素里有一个以上的元素为浮动,那么,清除浮动(无论是用伪类还是新增一个类的方法)无效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.fu1{
border: 1px solid black;
zoom:1;
}
.son1{
height: 300px;
width: 300px;
float: left;
background-color: green;
}
.son2{
height: 300px;
width: 300px;
float: left;
background-color: yellow;
}
.fu2{
width: 800px;
height: 200px;
border: 2px solid black;
}
.clear:after{
content: ".";
height: 0;
visibility: hidden;
display: block;
clear: both;
}
</style>
</head>
<body>
<div class="fu1">
<div class="son1">
</div>
<div class="son2 .clear">
</div>
</div>
<div class="fu2">
</div>
</body>
</html>这样清除浮动仍然无法让父元素撑开。
只能通过父元素设置overflow:hidden 或者显式设置高度来撑开fu1高度
一定要注意,若设置父元素fu1 position:absolute时,父元素的高度是可以被撑开,并且体现了absolute的包裹性,表现即宽度也与内容自适应了,
但是fu1仍然不在文档流中!,所以fu2会跑去上面,达不到我们想要的效果。
相关文章推荐
- 转载: 解决CSS中float:left后需要clear:both清空的繁琐步骤
- 关于:使用JSP+Servlet重定向网页导致CSS等失效的问题的解决
- 解决CSS中float:left后需要clear:both清空的繁琐步骤
- ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
- 解决spring、springMVC重复扫描导致事务失效的问题
- 解决CSS中float:left后需要clear:both清空的繁琐步骤
- 分享两个ISP DNS失效导致主机访问问题的解决案例
- iOS 解决汉字联想输入,导致字数限制失效的问题
- 解决ListView里TextView设置LinkMovementMethod后导致其ItemClick失效的问题
- jquery在ie7下选择器的问题导致append失效的解决方法
- 解决CSS中float:left后需要clear:both清空的繁琐步骤
- jquery动态改变onclick属性导致失效的问题解决方法
- 一个js导致的jquery失效问题的解决方法
- css样式float造成的浮动“塌陷”问题的解决办法
- 一个js导致的jquery失效问题的解决方法
- IIS 自动回收导致后台定时器失效的问题解决
- 关于CSS中内层使用float导致外层的背景无法显示的问题的解决方法
- ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
- 解决CSS中float:left后需要clear:both清空的繁琐步骤
- css样式float造成的浮动“塌陷”问题的解决办法