我想有3个div对齐在一个容器div,就像这样:
[[LEFT] [CENTER] [RIGHT]]
容器div是100%宽(没有设定宽度),中心div在调整容器大小后应该保持在中心。
所以我设置:
#container{width:100%;}
#left{float:left;width:100px;}
#right{float:right;width:100px;}
#center{margin:0 auto;width:100px;}
但它变成了:
[[LEFT] [CENTER] ]
[RIGHT]
任何建议吗?
使用Bootstrap 3我创建了3个等宽的div(在12列布局中,每个div 4列)。
这样,即使左/右部分的宽度不同(如果它们没有溢出列的空间),您也可以保持中心区域居中。
HTML:
<div id="container">
<div id="left" class="col col-xs-4 text-left">Left</div>
<div id="center" class="col col-xs-4 text-center">Center</div>
<div id="right" class="col col-xs-4 text-right">Right</div>
</div>
CSS:
#container {
border: 1px solid #aaa;
margin: 10px;
padding: 10px;
height: 100px;
}
.col {
border: 1px solid #07f;
padding: 0;
}
CodePen
为了创建没有库的结构,我从Bootstrap CSS复制了一些规则。
HTML:
<div id="container">
<div id="left" class="col">Left</div>
<div id="center" class="col">Center</div>
<div id="right" class="col">Right</div>
</div>
CSS:
* {
box-sizing: border-box;
}
#container {
border: 1px solid #aaa;
margin: 10px;
padding: 10px;
height: 100px;
}
.col {
float: left;
width: 33.33333333%;
border: 1px solid #07f;
padding: 0;
}
#left {
text-align: left;
}
#center {
text-align: center;
}
#right {
text-align: right;
}
科普彭
Float属性实际上并不用于对齐文本。
此属性用于将元素添加到右侧、左侧或中心。
Div > Div{边框:1px纯黑色;}
< html >
< div >
< div风格= "浮动:左”>第一个< / div >
< div风格= "浮动:左”>第二< / div >
< div风格= "浮动:左”>第三< / div >
< div风格= "浮动:对" >第一个< / div >
< div风格= "浮动:对" >第二< / div >
< div风格= "浮动:对" > 3 < / div >
< / div >
< / html >
左输出为[First][second][Third]
右输出为[Third][Second][First]
这意味着float => left属性将把你的下一个元素添加到上一个元素的左边,right也是如此
此外,你还必须考虑父元素的宽度,如果子元素的宽度之和超过了父元素的宽度,那么下一个元素将在下一行添加
< > html
< div style =教室:100% >
< div style =花车:左派;教室:50%第一> < / div >
< div style =花车:左派;教室:50% >第二个< / div >
< div style = "漂浮:左派;第三教室:50% > < / div >
< / div >
< / html >
(第一次)(第二次)
(三)
所以你需要考虑所有这些方面来得到完美的结果