美文网首页
01_css垂直居中的几种实现方法

01_css垂直居中的几种实现方法

作者: 沐向 | 来源:发表于2020-04-16 14:22 被阅读0次

一、position 子元素已知宽度

  • 父元素设置为:position: relative;
  • 子元素设置为:position: absolute;

要点:子元素距上50%,距左50%,外边距设置为自身宽高的一半

<div class="parent">
    <div class="child"></div>
</div>

.parent {
  background: #f00;
  width: 400px;
  height: 400px;
  position: relative;
}
.child {
  background: #00f;
  width: 200px;
  height: 100px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -50px 0 0 -100px;
}

二、position+transform 子元素已知宽度

  • 父元素设置为:position: relative;
  • 子元素设置为:position: absolute;

要点:子元素添加 transform: translate(-50%,-50%);

<div class="parent">
  <div class="child"></div>
</div>

.parent {
  background: #f00;
  width: 400px;
  height: 400px;
  position: relative;
}
.child {
  background: #00f;
  width: 200px;
  height: 100px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

三、flex布局

  • 父元素可不设置宽高
  • 子元素必须设置宽高

要点:父元素添加 display: flex; justify-content: center; align-items: center;

<div class="parent">
  <div class="child"></div>
</div>

.parent {
  background: #f00;
  width: 400px;
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.child {
   background: #00f;
   width: 200px;
   height: 100px;
}

四、table-cell布局

  • 外层元素设置为 display: table;
  • 中间元素设置为 display: table-cell;
  • 内层元素设置为 display: inline-block;

要点:

  • 三层元素嵌套
  • 中间元素的table-cell相当于表格的td,td为行内元素,所以需要再嵌套一层
  • 内嵌元素必须设置 display: inline-block;
  • 中间元素table-cell的背景色会覆盖父元素的背景色
<div class="box">
    <div class="content">
        <div class="inner"></div>
    </div>
</div>

.box {
    background: #f00;
    width: 400px;
    height: 400px;
    display: table;
}
.content {
    background: #00f;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.inner {
    background: #000;
    display: inline-block;
    width: 200px;
    height: 100px;
}

相关文章

  • 01_css垂直居中的几种实现方法

    一、position 子元素已知宽度 父元素设置为:position: relative; 子元素设置为:posi...

  • 垂直居中

    垂直居中是我们在使用css做页面时常见的需求,以下列举几种垂直居中的实现方法: 1. 使用父元素内边距设置实现居中...

  • 页面中垂直居中的几种实现方法

    页面中垂直居中的几种方法: 1. 通过使用absolute定位来实现垂直居中 HTML: CSS: 2. 使用t...

  • 水平居中和垂直居中

    本章介绍几种常见的水平居中和垂直居中的实现方式

  • 垂直居中方法汇总

    做页面时经常会碰到垂直居中问题,下面几种方法可以根据不同场合选着相对应的合适的方法来使用。 实现单行文字垂直居中,...

  • 不定宽高的div盒子和不定宽高的盒子水平垂直居中

    让一个不定宽高的div,垂直水平居中的几种实现方式 不定宽高的div垂直居中的方式: 1、使用CSS方法: 父盒子...

  • CSS编码规范及垂直居中的实现方法

    平时写代码遵守的编码规范 垂直居中有几种实现方式,给出代码范例 绝对定位实现垂直居中 vertical align...

  • css3 元素居中的几个方法

    原文参考 纯CSS实现垂直居中的几种方法 html 当元素为 block时 position position +...

  • 用CSS实现元素居中的N种方法

    网页布局中,元素水平居中比垂直居中简单不少,同时实现水平垂直居中也不难,难的是想出多种实现水平垂直居中的方法并从中...

  • 2019-01-26

    一、总结一下CSS的几种布局以及实现方法 左右布局 左中右 水平居中 垂直居中 1. 左右布局 左右布局很多种实现...

网友评论

      本文标题:01_css垂直居中的几种实现方法

      本文链接:https://www.haomeiwen.com/subject/utmrvhtx.html