我有一个页面,其中页眉由三个div组成-一个向左浮动,一个向右浮动,还有一个在它们之间。我想让中心的div居中,但遗憾的是,float: center
不存在,我也不能只将其向左浮动并添加填充,因为这取决于窗口大小。
我是否忽略了某些简单的东西?或者我该如何做到这一点?
更新:
此外,如果这看起来更好,我希望找到一种在
之间空间内使中间的div居中的方法。
我有一个页面,其中页眉由三个div组成-一个向左浮动,一个向右浮动,还有一个在它们之间。我想让中心的div居中,但遗憾的是,float: center
不存在,我也不能只将其向左浮动并添加填充,因为这取决于窗口大小。
我是否忽略了某些简单的东西?或者我该如何做到这一点?
更新:
此外,如果这看起来更好,我希望找到一种在
事实上,重要的部分是居中的 div 在标记中位于左侧和右侧 div 之后。请查看此示例,它在居中的 div 上使用 margin-left: auto
和 margin-right: auto
,从而使其居中显示。
<html>
<head>
<style type="text/css">
#left
{
float: left;
border: solid 1px red;
}
#mid
{
margin-left: auto;
margin-right: auto;
border: solid 1px red;
}
#right
{
float: right;
border: solid 1px red;
}
</style>
</head>
<body>
<div id="left">
left
</div>
<div id="right">
right
</div>
<div id="mid">
mid
</div>
</body>
</html>
这里有一个JS Bin供测试:http://jsbin.com/agewes/1/edit
通常情况下,你可以使用flexbox代替浮动:
https://jsfiddle.net/h0zaf4Lp/
HTML:
<div class="container">
<div>left</div>
<div class="center">center</div>
<div>right</div>
</div>
.container {
display: flex;
}
.center {
flex-grow: 1;
}
text-align: center
即可。居中元素中的文本将挤在浮动元素之间。display: inline
或 display: inline-block
。 - user1357678试试这个(确保使用更好的类名):
.left {
float:left;
width:200px;
}
.right{
float:right;
width:200px;
}
.center {
overflow:hidden;
zoom:1;
}
position: relative
position: absolute; left: [containerWidth - middle-width / 2]
希望您明白了。
.container {
position: relative;
}
.container div {
width: 200px;
background: red;
}
.left {
float: left;
}
.right {
float: right;
}
.center {
position: absolute;
top: 0;
left: 0;
right: 0;
margin: auto;
}
<div class="container">
<div class="left">left</div>
<div class="center">center</div>
<div class="right">right</div>
</div>