假设我的div中有随机的孩子,其固定的高度和宽度设置为100%,以便在布局中呼吸。
我必须使用哪个CSS强制子元素水平对齐,当div的宽度小于内容时,显示滚动条而不相互重叠?
小提琴:http://jsfiddle.net/GRBc6/1/
简单的css:
.parent{
width:500px;
height: 50px;
background-color: red;
}
.kid{
width: 150px;
height: 20px;
background-color: green;
float:left;
margin-left:4px;
}
答案 0 :(得分:12)
如果你让孩子成为inline-block
元素并取消float:left
,你就可以让父母拥有white-space:nowrap
并且它会达到你想要的效果:
.parent{
width:300px;
height: 50px;
background-color: red;
white-space:nowrap;
overflow-x:scroll;
}
.kid{
width: 150px;
height: 20px;
background-color: green;
display:inline-block;
margin-left:4px;
}
答案 1 :(得分:0)
您需要向.parent
添加2个属性:overflow-x:scroll
和white-space:nowrap
,并将孩子的float
属性更改为display: inline-block
。这是工作代码:
.parent{
width:500px;
height: 50px;
background-color: red;
overflow-x: scroll;
white-space: nowrap;
}
.kid{
width: 150px;
height: 20px;
background-color: green;
margin-left:4px;
display: inline-block;
}
答案 2 :(得分:0)
或者您可以只使用一行表格, tr → td 所以它不会让它里面的元素包裹