html - 使用 CSS 的多列布局顶部的图像

标签 html css css-multicolumn-layout

我有一个双列布局(使用 CSS 多列布局模块),我希望在第二列的顶部有一个图像。看来我必须自己放置图像,以便它位于文本中中断的位置。

问题是我希望列也均匀填充。

没有 JavaScript 有什么办法可以解决这个问题吗?这使用 div 而不是图像,但想法是将红色 block 放在其列的顶部。

.col-2 {
    -webkit-column-count:2;
    -moz-column-count:2;
    column-count:2;
    width:800px;
}

.block {
    width:100%;
    height:100px;
    background-color:red;
}
<div class="col-2">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam blandit neque sed eros posuere molestie. Quisque mattis ante ac mauris iaculis semper vehicula nibh condimentum. Pellentesque scelerisque euismod metus a sodales. Praesent dolor nisl, consectetur at tincidunt eu, dapibus at orci. Etiam congue metus id sapien rutrum euismod. Proin porttitor rhoncus hendrerit. Phasellus pellentesque venenatis felis a eleifend. Suspendisse pretium placerat hendrerit. Praesent tempus risus in ligula condimentum egestas. Vivamus vitae nunc massa, luctus egestas lectus. Vivamus at turpis sed nisl molestie vulputate. Vivamus nec tortor et ante consectetur dignissim ac in odio. Cras et nisl non enim congue scelerisque. Curabitur in condimentum eros. Curabitur vehicula augue id neque dignissim vitae venenatis nisi feugiat.

Curabitur tristique ullamcorper neque, ac sodales eros suscipit eu. Nulla pretium accumsan lacus, non fermentum felis lacinia mattis. Sed quis turpis eros. Nullam ut turpis libero. Nam quis magna ac tortor elementum pulvinar. Quisque rutrum eleifend elit, eget consectetur nulla dapibus ac. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean rhoncus commodo tellus, sit amet pulvinar mi vehicula non. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi mollis dignissim felis, et posuere quam molestie nec. Duis sit amet pulvinar dui. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut lorem justo, lobortis id imperdiet nec, lobortis varius mauris. Nullam sit amet nulla arcu. Nullam ornare posuere leo vitae rhoncus.

Sed venenatis dui sapien. Praesent sed enim lacus, vitae venenatis metus. Aenean bibendum nibh a risus scelerisque blandit. Maecenas nibh enim, pulvinar in interdum quis, rhoncus ut orci. Vestibulum a ullamcorper ante. Nulla facilisi. Pellentesque placerat ullamcorper diam at mattis. Aliquam posuere suscipit metus sed sollicitudin. Phasellus in quam odio, ac scelerisque purus. Morbi at nunc odio, nec aliquam urna. Proin mi orci, varius vitae dapibus ac, consequat id purus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec a dui lectus, ut congue nunc. Cras diam tortor, auctor in vehicula vitae, egestas eget neque. In nisi odio, laoreet a convallis in, varius at risus.
    <div class="block"></div>
</div>

最佳答案

CSS3 规范具有“分栏”样式,但仅在 Webkit 中实现。它会完全满足您的需求,但遗憾的是只能在 Safari 和 Chrome 中使用。

您需要让您的分栏元素落在您的内容的正常流中,并添加以下样式:

div.block {
  width: 100px; /* this shouldn't be more than your column width */
  height: 100px;
  -webkit-column-break-before: always;
}

Example (View in Safari/Chrome)

http://css-infos.net/property/-webkit-column-break-before

http://www.w3.org/TR/css3-multicol/#column-breaks

关于html - 使用 CSS 的多列布局顶部的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4724276/

相关文章:

html - 在鼠标悬停在 Canvas 上的形状/位置(坐标)上时显示工具提示

javascript - 按回车键后清除文本框

html - css animation+transition 每 10 秒触发一次并且在悬停时触发

css - 如何在 CSS 多列布局中插入分栏符?

css - 防止无序列表中的列换行,将列表项对齐到列的顶部

html - 为什么会有这种 z-index 行为?

javascript - 如何加载多个文件图像作为数据 url 并在之后单独更改它们

html - Chrome 78.0.3904.70 上出现 "white-space: nowrap"问题

全局 jquery 滚动条,而不是每个 div

html - CSS使具有不同数量文本的列相等