2016-07-15 49 views
0

经过大量的搜索,我还没有找到解决我的问题,所以现在是时候在这里问。如何拉伸多个内联块来填充父级的所有空间?

下面是问题:我有一个块渲染的div和可变数量的按钮呈现为该div内的内联块。我希望这些按钮均匀拉伸以填充父项的空间,例如,如果我有3个按钮,它们将拉伸到33%的宽度,如果2将是50%,依此类推。

这可以用纯CSS来完成吗?提前致谢。

+0

研究柔性CSS –

回答

3

您可以使用CSS flexbox

.btn-holder { 
 
    margin-bottom: 15px; 
 
    display: flex; 
 
} 
 

 
.btn-holder button { 
 
    flex-grow: 1; 
 
}
<div class="btn-holder"> 
 
    <button type="button">Button 1</button> 
 
    <button type="button">Button 2</button> 
 
    <button type="button">Button 3</button> 
 
</div> 
 
<div class="btn-holder"> 
 
    <button type="button">Button 1</button> 
 
    <button type="button">Button 2</button> 
 
    <button type="button">Button 3</button> 
 
    <button type="button">Button 4</button> 
 
</div>

+0

那出色的帮助。非常感谢你。 –

+0

@AndreyKaydalov欢迎您) –

+0

**对于Downvoter:**请留下评论,说明您的downvote的原因。这将帮助我知道这个答案有什么问题。 –

3

您可以设置父display: table和孩子们display: table-cell

.container { 
 
    display: table; 
 
    width: 100%; 
 
} 
 
.container .cell { 
 
    display: table-cell; 
 
    border: solid 1px black; 
 
}
2 cells 
 
<div class="container"> 
 
    <div class="cell">1</div> 
 
    <div class="cell">2</div> 
 
</div> 
 

 
<br>3 cells 
 
<div class="container"> 
 
    <div class="cell">1</div> 
 
    <div class="cell">2</div> 
 
    <div class="cell">3</div> 
 
</div> 
 

 
<br>5 cells 
 
<div class="container"> 
 
    <div class="cell">1</div> 
 
    <div class="cell">2</div> 
 
    <div class="cell">3</div> 
 
    <div class="cell">4</div> 
 
    <div class="cell">5</div> 
 
</div>

+0

它不适用于要保留在“内联块行为”中的元素,即它们中的每一个都跨越与其内容相关的宽度。 “显示:表格”;解决方案使元素宽度相等... – AmintaCode

相关问题