<style type="text/css">
.x-container img {
float: left;
margin-right: 15px;
}
.content img{
clear:both;
}
</style>
<div class="x-container span-18">
<div class="content">
<img src="image.jpg" id="disneland-img">
</div>
<h2>Hello</h2>
</div>
我有像上面这样的HTML。我希望clear:both
中的.content img
会覆盖float:left
的{{1}},但事实并非如此。
我怎样才能做到这一点?
答案 0 :(得分:1)
用户clearfix类直接在图像上,即将完成所有工作 将div上的clearfix类放在内容类中。
<div class="x-container span-18">
<div class="content clearfix ">
<img src="image.jpg" id="disneland-img">
</div>
<h2>Hello</h2>
</div>
.clearfix:before, .clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
zoom: 1;
}
答案 1 :(得分:0)
这应该解决它。
.x-container img {
float: left;
margin-right: 15px;
}
.x-container h2 {
display: block;
clear: both;
}
答案 2 :(得分:0)
float
和clear
是两个不同的css声明。它们不会互相覆盖。 (虽然他们当然是相互影响/相互影响。)如果你想覆盖你的第一堂课的float:left
,你可以简单地写一下:
.content img{
float:none;
}
清除浮动是另一回事,你需要在兄弟元素上使用clear
,或者在父元素上放置overflow:auto|hidden
或者应用所谓的“clear-fix”方法。 / p>
.clearfix:after {
content:"";
display:table;
clear:both;
}
答案 3 :(得分:0)
我认为你应该在.content class
中指定float:inherit.content img{
float:inherit;
clear:both;
}
因为默认情况下float属性设置为none。 http://www.w3schools.com/cssref/pr_class_float.asp