在不使用位置的情况下将 div 居中

Posted

技术标签:

【中文标题】在不使用位置的情况下将 div 居中【英文标题】:center a div without using position 【发布时间】:2016-12-08 18:19:40 【问题描述】:

第二个 div 应该居中对齐,不使用位置,第一个和最后一个 div 有浮动

 <div class="abc">
    </div>
    <div class="def">
    </div>
    <div class="ghi">
    </div>

【问题讨论】:

.def float: left; 或更好的divfloat : left 一个plunker会帮助了解到目前为止已经完成的工作 这听起来像是一个 XY 问题。 真正的问题是什么?你怎么不能用position?让我们解决那个问题。 【参考方案1】:

如果您在 firstlast 上使用浮点数。它不起作用,最后一个 div 填充下降。您可以为此使用 flex。

.container
  display: flex;

.container div
  flex: 1;

.abc
  text-align: left

.ghi
  text-align: right;

.def
  text-align: center;
<div class="container">
	<div class="abc">
   1st
	</div>
	<div class="def">
		second
	</div>
	<div class="ghi">
		third
	</div>
</div>

Demo这里

【讨论】:

请注意,中间的 div 不是实际上居中的,除非左/右 div 大小相同

以上是关于在不使用位置的情况下将 div 居中的主要内容,如果未能解决你的问题,请参考以下文章

在不使用绝对位置、顶部和左侧的情况下将按钮置于图像中心的替代方法

Jquery 循环 - 在不破坏缩略图分页器的情况下将图像包装在 div 标签中

如何在不影响其兄弟位置的情况下将 div 绝对定位在弹性框中? [复制]

如何在没有外部 css 文件的情况下将 div 元素居中

如何在不知道其宽度的情况下将 ul li 列表居中? (分页)

在不知道尺寸的情况下垂直居中图像