我有2个div,一个向左浮动(#div1),另一个向右浮动(#div2)。我需要添加第三个div(#div3),它们集中浮动。我目前正在尝试使用z-index。然而,我得到一些奇怪的效果,如div1和div2强制下降。还有"容器" div集中对齐所有子div。
所以对于某些代码:
<div id="container" style="width: 980px;margin-left: auto;margin-right: auto; height:130px">
<div id="div1" style="float:left">Div1</div>
<div id="div2" style="float:right">Div1</div>
<div id="div3" style="border:1px solid black;colour:black;position:relative; top:0px, left:auto; z-index:1000">I look like a button and I float the other divs, in a central location</div>
</div>
我真的很感谢上面关于正确代码的一些指导,以确保#div3确实漂浮在#div1和#div2之上,并且位于中心位置。
提前致谢。
答案 0 :(得分:4)
首先,第3个div上的style属性没有关闭。 使用 ;在style属性中分隔样式语句。它的颜色,而不是颜色 我还建议使用CSS
这是一个代码: http://codepen.io/Vall3y/pen/QwWPYd
如果您希望容器在中心浮动,则足以为其提供margin: auto
给第3个div一个宽度和自动余量将得到你想要的结果。我还删除了一些不必要的陈述,如位置相对
#div3 {
border:1px solid black;
color:black;
margin: auto;
width: 30%;
}
这是一个代码: http://codepen.io/Vall3y/pen/gbOyEb
还要考虑使用display: flex
并完全抛弃浮动
http://codepen.io/Vall3y/pen/ogNOVV
如果您想了解有关flexbox的更多信息,请参阅csstricks文章http://css-tricks.com/snippets/css/a-guide-to-flexbox/
答案 1 :(得分:1)
你真的应该把CSS和HTML分开,但这就是我做的......
将width:inherit
添加到您的div3和position:absolute
:
<div id="container" style="background-color:lightgrey;width: 480px;margin-left: auto;margin-right: auto; height:130px">
<div id="div1" style="float:left">Div1</div>
<div id="div2" style="float:right">Div1</div>
<div id="div3" style="border:1px solid black;colour:black; top:0px, left:auto; z-index:1000; position:absolute; width:inherit;">I look like a button and I float the other divs, in a central location</div>
</div>
您可以修改宽度以调整您希望div3
降落的位置,因此如果您愿意,可以将它们置于它们之间。
使用JSFiddle:http://jsfiddle.net/re2hkbgh/1/
如果这不是您想要的宽度,那么只需使用宽度来获得您想要的效果,因为这是您要求的定位! :)
答案 2 :(得分:1)
我认为您需要添加到#div3
显示属性:inline-block
,并将text-align: center
设置为#container
,请查看here
答案 3 :(得分:1)
不需要相对或绝对定位的元素!这应该给你你想要的东西:
CSS:
#container{width: 580px; border:2px solid orange; height:350px;}
#div1{border:2px solid blue; width:260px; height:100px; float:left;}
#div2{border:2px solid green; width:260px; float:right; height:100px;}
#div3{border:1px solid black; width:100%; float:left; height:100px;}
HTML:
<div id="container" >
<div id="div3">I look like a button and I float the other divs, in a central location</div>
<div id="div1">Div1</div>
<div id="div2">Div3</div>
</div>
下载现场演示: