首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CSS在一行上创建三个图标

使用CSS在一行上创建三个图标
EN

Stack Overflow用户
提问于 2013-03-06 22:15:13
回答 4查看 8K关注 0票数 3

我有三个图标,需要放在一行上。如何使用CSS来实现这一点?

下面是HTML:

代码语言:javascript
复制
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>

下面是我已经拥有的CSS:

代码语言:javascript
复制
.icon {
    min-height: 20px;
    max-width: 20px;
    min-width: 20px;
    display:inline-block;
    background-color: red;
    border-style:dashed;
    border-width: 1px;
}
.icon:nth-child(3n+0) {
    clear:right;
    display:block;
}

上面的代码在一行上生成两个图标,然后在下一行上生成一个图标,然后在下一行上生成两个图标,依此类推。

我希望的是,每行有三个图标。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-06 23:01:53

如果您将图标包装在一个最大宽度小于图标元素宽度4倍的元素中(以处理不同浏览器之间的框模型差异),这将解决所有问题。这是一个fiddle

代码语言:javascript
复制
.icon{max-width:70px;}
.icon span {
    height: 20px;
    width: 20px;
    display: inline-block;
    background-color: red;
    border-style:dashed;
    border-width: 1px;
}
.icon span:nth-child(3n+3) {
    background-color:blue; /*just to highlight it*/
}

<div class='icon'>
<span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span>
</div>
票数 1
EN

Stack Overflow用户

发布于 2013-03-06 22:19:15

为什么不在父元素上使用带有固定widthfloat: leftfiddle

票数 2
EN

Stack Overflow用户

发布于 2013-03-06 23:00:27

这是working >> jsfiddle

代码语言:javascript
复制
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>
<div class="icon"></div>


.icon {
    min-height: 20px;
    max-width: 20px;
    min-width: 20px;
    display:inline;
    background-color: red;
    border-style:dashed;
    border-width: 1px;
    float:left;
}
.icon:nth-child(3n+1) {
    clear:left;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15249623

复制
相关文章

相似问题

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