【问题标题】:Masonry-style Layout ONLY with CSS仅使用 CSS 的砌体式布局
【发布时间】:2017-01-13 00:28:18
【问题描述】:

正如您在图片中看到的,每个盒子都有不同的高度,并且有些盒子的宽度是双倍的。

是否可以仅使用 CSS 创建砖石风格的布局?

【问题讨论】:

标签: html css


【解决方案1】:

我现在正在开发一个具有相同布局的网站,两列偶尔会出现双宽框。我所做的只是将双宽与其他内容分开。例如:

<div class="two-columns">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="double-wide">
</div>
<div class="two-columns">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

然后您可以将 CSS3 列解决方案仅应用于 two-columns 类。如果您需要支持 IE9,很遗憾您需要添加 JavaScript fallback

【讨论】:

    【解决方案2】:

    有了 css3 支持,您可以这样做:

    http://jsfiddle.net/huAxS/2/

    .container {
        -moz-column-count: 2;
        -moz-column-gap: 10px;
        -webkit-column-count: 2;
        -webkit-column-gap: 10px;
        column-count: 2;
        column-gap: 10px;
        width: 360px;
    }
    
    .container div {
        display: inline-block;
        width: 100%;
        background-color: red;
    }​
    

    没有css3支持,很遗憾只能求助于js。

    【讨论】:

    • 正如我所说,有些盒子是双倍宽度的! (在这种情况下为 2 列)。是的,我可以使用 CSS3!
    • 我研究了很久,单靠CSS是不行的。
    • 这个解决方案的问题是项目是从上到下、从左到右布置的,而人们通常期望的(排除文化假设)是从左到右、从上到下- 到底部布局。这是通常的基于 CSS3 列的推荐的最佳选择。
    猜你喜欢
    • 2021-12-22
    相关资源
    最近更新 更多