首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在div中以图标形式并排列表项(css)

在div中以图标形式并排列表项(css)
EN

Stack Overflow用户
提问于 2009-05-06 09:47:49
回答 8查看 124.3K关注 0票数 24

我正在寻找一种方法来创建一个项目的<ul>,我可以放在一个<div>中,并让它们并排显示,并在浏览器窗口调整大小时换到下一行。

例如,如果列表中有10个项目,当前在第一行显示5个项目,在第二行显示5个项目,当用户将浏览器窗口变大时,它会变成第一行上的6个项目和第二行上的4个项目,依此类推。

我正在寻找类似于Windows资源管理器在平铺/图标/缩略图视图中所做的功能。我可以创建我想要的<li>的大小,颜色,内容等,我只是在包装/清除/等部分有问题。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-06 09:51:46

给出LI浮点数:左(或右)

它们都将在同一行中,直到容器中没有更多的空间(您的情况下,一个ul)。(忘记):如果你在浮动元素之后有一个block元素,他也会坚持使用它们,除非你给他一个clear:both,或者在它前面放一个空的div和clear:both

票数 29
EN

Stack Overflow用户

发布于 2009-05-06 02:09:50

这可以是一个纯CSS解决方案。给定:

代码语言:javascript
复制
<ul class="tileMe">
    <li>item 1<li>
    <li>item 2<li>
    <li>item 3<li>
</ul>

CSS将为:

代码语言:javascript
复制
.tileMe li {
    display: inline;
    float: left;
}

现在,由于您已经将显示模式从'block‘(隐含)更改为'inline',所以您应用于li元素的任何填充、边距、宽度或高度样式都将不起作用。您需要在li中嵌套一个块级元素:

代码语言:javascript
复制
<li><a class="tile" href="home">item 1</a></li>

并添加以下CSS:

代码语言:javascript
复制
.tile a {
    display: block;
    padding: 10px;
    border: 1px solid red;
    margin-right: 5px;
}

这个解决方案背后的关键概念是,您正在将li的显示样式更改为“inline”,并在其中嵌套一个块级元素以实现一致的平铺效果。

票数 20
EN

Stack Overflow用户

发布于 2009-05-06 02:01:32

这里有一个很好的资源,可以用来包装列式列表。http://www.communitymx.com/content/article.cfm?cid=27f87

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/827683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档