我正在努力实现这样的事情:
我不知道将呈现多少个绿色元素,因为这是由CMS决定的,以及作者决定放入多少组件。
要求是在包裹之前每行有5个盒子。
问题是:当我将 red 包装器设置为margin: auto
时,inline-block
不起作用。
div.container {
background: black;
padding: 10px;
}
div.wrapper {
margin: 0 auto;
background: red;
padding: 10px;
display: inline-block;
}
div.box {
display: inline-block;
background: lime;
padding: 10px;
margin: 0 10px;
}
<div class="container">
<div class="wrapper">
<div class="box">
Content 1
</div>
<div class="box">
Content 2
</div>
</div>
</div>
答案 0 :(得分:1)
正如Muhammad Usman建议的那样,将text-align: center
添加到.container
。 text-align
- 属性始终引用目标元素的内容。
div.container {
background: black;
padding: 10px;
text-align: center;
}
div.wrapper {
margin: 0 auto;
background: red;
padding: 10px;
display: inline-block;
}
div.box {
display: inline-block;
background: lime;
padding: 10px;
margin: 0 10px;
}
<div class="container">
<div class="wrapper">
<div class="box">
Content 1
</div>
<div class="box">
Content 2
</div>
</div>
</div>
答案 1 :(得分:1)
div.container {
background: black;
padding: 10px;
text-align: center;
}
div.wrapper {
margin: 0 auto;
background: red;
padding: 10px;
display: inline-block;
}
div.box {
display: inline-block;
background: lime;
padding: 10px;
margin: 0 10px;
}
&#13;
<div class="container">
<div class="wrapper">
<div class="box">
Content 1
</div>
<div class="box">
Content 2
</div>
</div>
</div>
&#13;
只需将文本对齐中心添加到div.container
即可答案 2 :(得分:1)
答案 3 :(得分:1)
以margin: auto
为中心不适用于inline-block
为display
属性的元素。
但是,您可以通过将其父元素的text-alignment
设置为center
来对这些元素进行居中。然后,(重新)将您想要居中的元素的text-alignment
设置为您需要的text-alignment
。
.container {
background: black;
padding: 10px;
text-align: center; /* Center */
}
.wrapper {
margin: 0 auto;
background: red;
padding: 10px;
display: inline-block;
text-align: left; /* Reset alignment */
}
.box {
display: inline-block;
background: lime;
padding: 10px;
margin: 0 10px;
}
&#13;
<div class="container">
<div class="wrapper">
<div class="box">
Content 1
</div>
<div class="box">
Content 2
</div>
</div>
</div>
&#13;
另见this Fiddle!