如何将两个div放在一起,其中一个div在两个div的容器中居中
如何将第二个div直接放在第一个div旁边并使其扩展到右侧?
这是一个例子:
HTML:
<div id="container" >
<div id="div1"> </div>
<div id="div2"></div>
</div>
CSS:
#container{ width: 100%;
display:inline;
height:60px;
color:#000;
}
#div1{ margin-left:auto;
margin-right:auto;
width:200px;
height:50px;
background-color:#333;
}
#div2{ float:right;
width:100%;
height:50px;
background-color:#ccc;
}
感谢。
答案 0 :(得分:2)
检查出来:http://jsfiddle.net/GTduj/2/
#container{
width: 600px;
height:60px;
border:1px solid #bbb;
text-align:center;
}
您的容器元素需要一个固定的宽度,并且您希望将其内容集中在其中。
#div1{
width:60%;
display:inline-block;
height:50px;
background-color:#333;
}
div1可以是%宽度或固定,但它需要是内联块。
#div2{
display:inline-block;
width:10%;
height:50px;
background-color:#ccc;
margin-right:0;
position:absolute;
}
对div2使用内联块和绝对位置,因此它会在居中的div1之后挂起。
答案 1 :(得分:0)
只需将float:left
提供给div1
,并确保:
width(div1) + width(div2) <= width(Screen)
所以,你希望div2
占用剩余的空间,所以给两个div的百分比宽度,即
给div1宽30%,div2宽70%。
请参阅此fiddle
所以你希望div1
始终位于#container
的中心,然后给它left:50%
并相应地调整div2
如果这是您想要的,请参阅此fiddle。
答案 2 :(得分:0)
将div放在另一个带有margin的div中:auto意味着你占用了包含div的整个宽度。将div1放在另一个给出指定宽度的div中,然后在其中浮动div1。
<div id="container" >
<div class="container">
<div id="div1"> </div>
</div>
<div id="div2"></div>
</div>
.container{
width: x%;
float: left;
}
#div2{
float: left;
}
答案 3 :(得分:0)
假设您不想在左侧显示空格,则需要从margin-left:auto;
删除margin-right:auto;
和#div1.
。您还需要更改#div2
宽度。
这样的事情:
#div1{
width:200px;
height:50px;
background-color:#333;
float:left;
}
#div2{
width:75%;
height:50px;
background-color:#ccc;
margin-right:0;
float:left;
}
然而,如果这是流动的,我也会将#div1
宽度更改为百分比。像width:25%;
这样的东西;如果您打算在两个div的左侧有空格,那么您需要在左侧添加div作为列。
答案 4 :(得分:0)
以下是我知道的方法。也许其他人可以告诉我们两种更好的方法。
首先,硬编码你的CSS中的宽度
#container{
width: 600px;
height:60px;
color:#000;
}
#div1{
float: left;
width:200px;
height:50px;
background-color:#333;
margin-left: 200px;
}
#div2{
float:left;
width:200px;
height:50px;
background-color:#ccc;
margin-right:0;
}
如果这不是一个选项,我相信它可能不会,另一个解决方案是使用javascript。我将在示例中使用jquery。
var container = $('#container1');
var div1 = $('#div1');
div1.css('margin-left', container.width()/2-div1.width());
答案 5 :(得分:0)
我的方法在ie8及以上版本中与所有其他浏览器一起使用并严格使用css 通过使用display:table然后显示:table-cell为它的子节点,它将两个元素保持在同一个表行中。
#container{
width: 100%;
display:table;
height:60px;
color:#000;
}
#div1{
margin-left:auto;
margin-right:auto;
width:200px;
height:50px;
background-color:#333;
display:table-cell;
}
#div2{
display:table-cell;
height:50px;
background-color:#ccc;
margin-right:0;
float:left;
width:100%;
}