您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将div垂直居中放置在另一个div中

将div垂直居中放置在另一个div中

垂直对齐中间作品,但是您将不得不table-cell在父元素和inline-block子元素上使用。

解决方案无法在IE6和7中使用。 您的解决方案是更安全的方法。 但是由于您使用CSS3和HTML5标记了问题,所以我一直认为您不介意使用现代解决方案。

这是我最初的答案。它仍然可以正常工作,并且是获得最广泛支持解决方案。表布局将影响您的渲染性能,因此我建议您使用一种更现代的解决方案。

<div class="cn"><div class="inner">your content</div></div>

.cn {
  display: table-cell;
  width: 500px;
  height: 500px;
  vertical-align: middle;
  text-align: center;
}

.inner {
  display: inline-block;
  width: 200px; height: 200px;
}

由于现在已经很好地支持转换,因此有一种更简单的方法

.cn {
  position: relative;
  width: 500px;
  height: 500px;
}

.inner {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 200px;
  height: 200px;
}

我现在开始越来越多地使用flex@R_869_2419@,它也得到了很好的支持,这是迄今为止最简单的方法

.cn {
  display: flex;
  justify-content: center;
  align-items: center; 
}
其他 2022/1/1 18:18:00 有391人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶