我想创建一个与浏览器中的标签类似的用户界面。
为此,我有这个CSS的元素:
width: 20%;
max-width: 150px;
美观,简单,反应灵敏。
但仅支持五个标签。如果我想支持10个标签,只需更改为width: 10%
。
所以基本上,我想要这样的东西:
width: calc(100% / number-of-children)
如果这样的事情成真,那就太棒了。
我目前只是使用JavaScript将宽度设置为上面的表达式。简单,实用,但我想我是否有人知道只有CSS的解决方案。
答案 0 :(得分:3)
CSS3
您可以使用display: flex
。 E.g。
标记
<section>
<div>tab 1</div>
<div>tab 2</div>
<div>tab 3</div>
<div>tab 4</div>
</section>
的CSS
section {
display: flex;
}
div {
flex-grow: 1;
max-width: 150px;
}
Codepen示例:http://codepen.io/anon/pen/EGbpH/
答案 1 :(得分:2)
答案 2 :(得分:1)