html - 自动清除最后一个类型的 float

标签 html css

我正在尝试使用 float 创建一个简单的网格。但是,我想在最后一个 div 之后自动清除它们。

http://jsfiddle.net/62mfJ/2/

.col50 {
    float: left;
    width: 50%;
    background-color: grey;
    font-size: 150%;
}

img {
    max-width: 100%;
}

.col:last-of-type:after { // this does not work!
    content:'';
    display:block;
    clear: both;
}

HTML

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reprehenderit dolores autem provident ea explicabo amet sequi tempora ducimus vitae fugit. Iure blanditiis magni possimus aperiam consectetur architecto laboriosam veniam perspiciatis.</p>
<div class="col50">
    <img src="http://placehold.it/350x150">
</div>
<div class="col50">
    <img src="http://placehold.it/350x150">
</div>
<div class="col50">
    <img src="http://placehold.it/350x250">
</div>
<div class="col50">
    <img src="http://placehold.it/350x100">
</div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa commodi at ullam quae necessitatibus assumenda architecto veritatis aspernatur blanditiis amet ipsum velit totam provident earum adipisci ad corporis odio alias.</p>

出于某种原因,这不起作用:

.col:last-of-type:after { 
    content:'';
    display:block;
    clear: both;
}

最佳答案

您可以在所有列周围放置一个包装器并设置 overflow: auto; 样式。这将强制浏览器使包装高度与内部的 float 匹配并保持流动。

这是一个更新的 fiddle 说明。

http://jsfiddle.net/62mfJ/3/

关于html - 自动清除最后一个类型的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21531334/

相关文章:

javascript - 如何找出文档中最高的 z-index?

html - 图片在 Windows 上无法正确调整大小,怎么办?

html - 移动和桌面上的 Bootstrap 4 网格系统

html - 增加表格 1 个单元格的字体大小

html - 两个等宽的列(宽度由最长的列设置),第三列填充剩余空间

jquery - 网站在 safari 中以较小的屏幕尺寸不断闪烁

jquery - 可调整大小 : Resize div smaller than contents and make scrollable

html - 响应式设计 - 将元素放置在相对位置

html - css 删除继承的列表样式

javascript - 为什么垂直滚动卡在移动 View 中?