非均匀网格浮动

Posted

技术标签:

【中文标题】非均匀网格浮动【英文标题】:Non uniform grid float 【发布时间】:2013-06-21 07:26:39 【问题描述】:

嘿,我正在尝试制作一个具有不同形状的浮动网格。

这是我的目标和正在发生的事情: http://imgur.com/a/wXQfA

如您所见,水平部件下方有一个间隙。我试图在不使用任何定位的情况下修复它,以便以后可以添加框或移动它们。

代码: html

        <li class="mediumBox">
            <a href="#"><img src="..."  ></a>
        </li>

        <li class="largeBox">
            <a href="#"><img src="..."  ></a>
        </li>

        <li class="verticleMediumBox">
            <a href="#"><img src="..."  ></a>
        </li>

        <li class="smallBox">
            <a href="#"><img src="..."  ></a>
        </li>

        <li class="smallBox">
            <a href="#"><img src="..."  ></a>
        </li>

        <li class="smallBox">
            <a href="#"><img src="..."  ></a>
        </li>

        <li class="smallBox">
            <a href="#"><img src="..."  ></a>
        </li>
    </ul>
</div>
</body>

CSS:

body
background-color: #fffdf9;
height: 100%;
width: 100%;


#content
background-color: red;
height: auto;
width: 900px;
margin: 5em auto 0 auto;


#work ul
list-style: none;



#work li
float: left;
margin:  10px;


#work li >a
display: block;


#work li .smallBox
float: left;
display: block;


#work li .mediumBox
float: left;
display: block;


#work li .verticleMediumBox
float: left;
display: block;


#work li .largeBox
float: left;
display: block;

这是我的代码:http://jsfiddle.net/jw7pV/ 由于某种原因,jsFiddle 版本看起来不像我的 chrome 版本。

【问题讨论】:

您的 jsfiddle 示例中的 clearfix 类在哪里? 这对于仅使用 CSS 的动态内容是不可能的。使用浮点数或inline-block,当块的大小非常不同时,总会有空白。您需要使用一些 jQuery,可能是像 jQuery Masonry 这样的平铺插件,或类似的东西。 【参考方案1】:

编辑:抱歉第一次没有看到你需要动态框。

如果列的大小可以缩放(例如某种响应式设计),那么您需要一些能够动态设置这些绝对位置的东西。所以你需要javascript

为此,您可以使用 jquery masonry 或 jquery isotope。

http://masonry.desandro.com/

http://isotope.metafizzy.co/

:)

【讨论】:

以上是关于非均匀网格浮动的主要内容,如果未能解决你的问题,请参考以下文章

使用浮动项目网格避免空白

text CSS浮动,定位,弹性箱,网格等......

html 响应式网格盒(带浮动)

css CSS浮动网格

如何在浮动表单面板中刷新网格面板的商店?

使子视图在 html 中表现为浮动作品