我正在寻找一种方法来创建一个项目的<ul>
,我可以放在一个<div>
中,并让它们并排显示,并在浏览器窗口调整大小时换到下一行。
例如,如果列表中有10个项目,当前在第一行显示5个项目,在第二行显示5个项目,当用户将浏览器窗口变大时,它会变成第一行上的6个项目和第二行上的4个项目,依此类推。
我正在寻找类似于Windows资源管理器在平铺/图标/缩略图视图中所做的功能。我可以创建我想要的<li>
的大小,颜色,内容等,我只是在包装/清除/等部分有问题。
发布于 2009-05-06 09:51:46
给出LI浮点数:左(或右)
它们都将在同一行中,直到容器中没有更多的空间(您的情况下,一个ul)。(忘记):如果你在浮动元素之后有一个block元素,他也会坚持使用它们,除非你给他一个clear:both,或者在它前面放一个空的div和clear:both
发布于 2009-05-06 02:09:50
这可以是一个纯CSS解决方案。给定:
<ul class="tileMe">
<li>item 1<li>
<li>item 2<li>
<li>item 3<li>
</ul>
CSS将为:
.tileMe li {
display: inline;
float: left;
}
现在,由于您已经将显示模式从'block‘(隐含)更改为'inline',所以您应用于li元素的任何填充、边距、宽度或高度样式都将不起作用。您需要在li中嵌套一个块级元素:
<li><a class="tile" href="home">item 1</a></li>
并添加以下CSS:
.tile a {
display: block;
padding: 10px;
border: 1px solid red;
margin-right: 5px;
}
这个解决方案背后的关键概念是,您正在将li的显示样式更改为“inline”,并在其中嵌套一个块级元素以实现一致的平铺效果。
发布于 2009-05-06 02:01:32
这里有一个很好的资源,可以用来包装列式列表。http://www.communitymx.com/content/article.cfm?cid=27f87
https://stackoverflow.com/questions/827683
复制相似问题