我有一个父div与多个子div,我想让子div并排浮动4行。
浮动规则必须:
通过使用css / css3可以做到吗?对不起我的英语不好。
答案 0 :(得分:2)
使用CSS3这相对容易:使用box-sizing: border-box;
,子div的宽度将包括填充(例如20px
)和边框,并且可以设置为正文宽度的25% 。给父div,包装器,负右边距以隐藏最右边的空间。由于这个额外的空间,身体上会出现一个滚动条,可以用overflow-x: hidden;
隐藏。
body {
margin: 0;
padding: 0;
overflow-x: hidden;
}
.wrapper {
margin-right: -20px;
}
.child {
box-sizing: border-box;
width: 25%;
padding-right: 20px;
float: left;
}
.child p {
background: lime;
}

<p>Content</p>
<div class="wrapper">
<div class="child"><p>Child</p></div>
<div class="child"><p>Child</p></div>
<div class="child"><p>Child</p></div>
<div class="child"><p>Child</p></div>
</div>
<p>Content</p>
&#13;
答案 1 :(得分:1)
这里有一些非常好的例子,但是我总是想看看让我的图像与文字对齐的方法。要做到这一点,我一直在使用页面包装器和带有负边距的图像包装器(使其与文本不一致)。然后,将相同的值应用为正填充值后,图像与文本完全对齐。
#pagewrapper {
width: 500px;
background: green;
overflow: hidden;
}
#imagewrapper {
width: auto;
margin: 0 -12px; /* negative margin to keep images aligned with text, same as margin below */
background: blue;
}
.image {
box-sizing: border-box;
width: 25%;
padding: 0 12px;
margin: 0;
height: 200px;
background: red;
float: left;
overflow: hidden;
}
答案 2 :(得分:0)
刚看到,@ user2782378回答..我想我应该通过给出答案来详细说明:
div{float:left;width:20%;background:black;height:100px;margin:1px;}
用于研究使用的CSS:
答案 3 :(得分:0)
尝试按比例使用display:inline-block
修改子div的宽度
.outer_div{
display:inline-block;
max-width:800px;
height:300px;
background-color:red;
overflow:auto;
}
.inner_div{
width:200px;
height:100px;
background-color:black;
float:left;
}
答案 4 :(得分:0)
也许这种纯CSS2解决方案更可取。
div
是一个块元素,默认为页面的宽度。如果给包装器div一个右边距是内部div之间边距的三倍,则包装器宽度的25%正好是内部div的宽度。通过相对定位调整内部div的位置:
html, body {
margin: 0;
padding: 0;
}
.wrapper {
margin-right: 30px;
}
.wrapper div {
width: 25%;
float: left;
position: relative;
background: lime; /* demo setting */
height: 100px; /* demo setting */
}
.wrapper div+div {
left: 10px;
}
.wrapper div+div+div {
left: 20px;
}
.wrapper div+div+div+div {
left: 30px;
}
<div class="wrapper">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
答案 5 :(得分:-1)
试试这个..
.row {
width: 100%;
text-align: center; // center the content of the container
}
.block {
width: 100px;
display: inline-block; // display inline with abality to provide width/height
}
有保证金:0自动;除了宽度:100%是没用的,因为你的元素将占用整个空间。
float:left将浮动左边的元素,直到没有剩余空间,因此它们将继续新的行。使用display:inline-block能够显示内联元素,burt能够提供大小(与显示内联的宽度/高度被忽略的比较)