如何水平对齐两个 div,而不让左边的 div 向左浮动?
How do I align two divs horizontally without the left one floating left?
我有 2 个 div 元素,我想在我的页面中居中。 outter div 是 100% 宽度和 text-align:中心。像这样:
div.centerpanel {
font-size: 28px;
width:100%;
height:100%;
text-align: center;
}
其中包含的两个元素应该并排显示但居中(它们都只是 div 带有文本内容)。简而言之,我希望我的页面上有一个居中的标题,标题的两个词中的每一个都是单独的 div。我读到您执行以下操作来完成此操作:
float: left;
clear: none;
据我所知,'clear' 没有任何可见的效果。当我将 float: left 添加到两个元素中的第一个时,它只会使该元素一直滑动到外部 .centerpanel 的最左侧,而紧随其后的元素则保持在它应该在的中间位置.所以它肯定正确对齐但莫名其妙地将它一直发送到左侧。
如何使其与其后续元素保持垂直对齐,但保持遵守外部 div 的 text-align: 中心?
如果我对你的问题理解正确,那么这就是你想要的。当然,剥猫皮的方法不止一种。
HTML:
<div class="centerpanel">
<div class="left">L</div>
<div class="right">R</div>
<div class="clearfix"></div>
</div>
CSS:
.centerpanel {
font-size: 28px;
width:100%;
height:100%;
text-align: center;
}
.centerpanel div{
width: 50%;
}
.left{
float: left;
}
.right{
float: right;
}
.clearfix{
clear: both;
}
jsFiddle: http://jsfiddle.net/nfpdpmze/2/
因为这里只有两个div
,你也可以设置它们display: inline-block
而不使用任何浮动。
旁注:
当然还有更现代的清除浮动的方法。其中之一是在浮动的 div
的容器上设置 overflow
属性。更多相关信息:https://css-tricks.com/all-about-floats/
您还可以在子元素上使用 display:inline-block;
。查看此 Fiddle 以了解如何完成此操作的示例。
HTML:
<div class="centerpanel">
<div class="leftpanel">Left</div><div class="rightpanel">Right</div>
</div>
CSS:
div.centerpanel {
font-size: 28px;
width:100%;
height:100%;
text-align: center;
}
.leftpanel {
background:red;
display:inline-block;
width:50%;
}
.rightpanel {
background:blue;
display:inline-block;
width:50%;
}
给你:
<div style="display:flex">
<div style="text-align:center">
<span>Content1</span>
</div>
<div style="text-align:center">
<span>Content2</span>
</div>
</div>
我有 2 个 div 元素,我想在我的页面中居中。 outter div 是 100% 宽度和 text-align:中心。像这样:
div.centerpanel {
font-size: 28px;
width:100%;
height:100%;
text-align: center;
}
其中包含的两个元素应该并排显示但居中(它们都只是 div 带有文本内容)。简而言之,我希望我的页面上有一个居中的标题,标题的两个词中的每一个都是单独的 div。我读到您执行以下操作来完成此操作:
float: left;
clear: none;
据我所知,'clear' 没有任何可见的效果。当我将 float: left 添加到两个元素中的第一个时,它只会使该元素一直滑动到外部 .centerpanel 的最左侧,而紧随其后的元素则保持在它应该在的中间位置.所以它肯定正确对齐但莫名其妙地将它一直发送到左侧。
如何使其与其后续元素保持垂直对齐,但保持遵守外部 div 的 text-align: 中心?
如果我对你的问题理解正确,那么这就是你想要的。当然,剥猫皮的方法不止一种。
HTML:
<div class="centerpanel">
<div class="left">L</div>
<div class="right">R</div>
<div class="clearfix"></div>
</div>
CSS:
.centerpanel {
font-size: 28px;
width:100%;
height:100%;
text-align: center;
}
.centerpanel div{
width: 50%;
}
.left{
float: left;
}
.right{
float: right;
}
.clearfix{
clear: both;
}
jsFiddle: http://jsfiddle.net/nfpdpmze/2/
因为这里只有两个div
,你也可以设置它们display: inline-block
而不使用任何浮动。
旁注:
当然还有更现代的清除浮动的方法。其中之一是在浮动的 div
的容器上设置 overflow
属性。更多相关信息:https://css-tricks.com/all-about-floats/
您还可以在子元素上使用 display:inline-block;
。查看此 Fiddle 以了解如何完成此操作的示例。
HTML:
<div class="centerpanel">
<div class="leftpanel">Left</div><div class="rightpanel">Right</div>
</div>
CSS:
div.centerpanel {
font-size: 28px;
width:100%;
height:100%;
text-align: center;
}
.leftpanel {
background:red;
display:inline-block;
width:50%;
}
.rightpanel {
background:blue;
display:inline-block;
width:50%;
}
给你:
<div style="display:flex">
<div style="text-align:center">
<span>Content1</span>
</div>
<div style="text-align:center">
<span>Content2</span>
</div>
</div>