我希望容器div(#a在这个例子中)适合width它的子inline-block节点,即div.
div每行的s数是未知的,因为它取决于屏幕的大小.
在这个例子中,我想要的是#a容器右侧没有额外的灰色空间.
可能吗?(纯CSS请)
#a {
background-color: gray;
}
.b {
width: 110px;
height: 110px;
display: inline-block;
background-color: blue;
}Run Code Online (Sandbox Code Playgroud)
<div id="a">
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
</div>Run Code Online (Sandbox Code Playgroud)
由于似乎没有纯CSS方法,所以这里有一些快速的JavaScript来完成工作.
display样式更改为inline,以便缩小以适应其内容.display通过清除父级的默认样式来恢复它.片段
var a = document.getElementById('a');
a.style.display = 'inline';
a.style.width = a.getBoundingClientRect().width + 'px';
a.style.display = '';Run Code Online (Sandbox Code Playgroud)
#a {
background-color: gray;
}
.b {
width: 110px;
height: 110px;
display: inline-block;
background-color: blue;
}Run Code Online (Sandbox Code Playgroud)
<div id="a">
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
<div class="b"></div>
</div>Run Code Online (Sandbox Code Playgroud)