美文网首页
前端垂直居中的几种简单实现

前端垂直居中的几种简单实现

作者: aaaaaAndy980 | 来源:发表于2017-12-25 16:28 被阅读0次

在前端开发尤其是web开发中会经常调整元素位置,所以经常会遇到居中问题,对于水平居中我们都知道用简单的text-align:center;就可以实现,但是对于垂直居中却并不是那么简单实现的,往往需要多条代码合作才能实现其效果。

本文简单介绍几种垂直居中的方式,技术不高,水平有限,仅供参考。

1. 不知道自己高度和父元素高度时,只要�使用绝对定位就可以实现

以下代码没有插图的都是实现的效果相同,如图所示:


image.png

当一个父元素没有明确限制高度,而只是靠着内部元素的高度撑起来其高度时,我们又要在该父元素中设置一个居中的框框就可以采取这种方式:

// html代码
<div class="parent-element-absolute">
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    enter <br>
    <div class="child-element-absolute"></div>
</div>

//css代码
.parent-element-absolute {
    width: 800px;
    text-align: left;
    background-color: white;

    position: relative;
}
.child-element-absolute {
    width: 450px;
    height: 100px;
    background-color: gray;

    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

2. 在父元素下只有一个元素,且父元素设置了高度,则只需要使用相对定位即可

该必须条件为该父元素下只有一个子元素。其html代码与上类似。

// css
.parent-element-relative {
    width: 800px;
    height: 250px;
    text-align: left;
    background-color: white;

    position: relative;
}

.child-element-relative {
    width: 450px;
    height: 100px;
    background-color: gray;

    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

3. flex布局设置垂直居中

.parent-element-flex {
    width: 800px;
    height: 250px;
    background-color: white;

    display: flex;
    display: -webkit-flex;
    align-items: center;
}

.child-element-flex {
    width: 450px;
    height: 100px;
    background-color: gray;

    margin: 0 auto;
}

4. table-cell设置垂直居中

.parent-element-table-cell {
    width: 800px;
    height: 250px;
    background-color: white;

    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.child-element-table-cell {
    width: 450px;
    height: 100px;
    background-color: gray;

    margin: 0 auto;
}

5. -webkit-box属性设置垂直居中

.parent-element-webkit-box{
    width: 800px;
    height: 250px;
    background-color: white;

    display: -webkit-box;
    -webkit-webkit-box-pack: enter;
    -moz-webkit-box-pack: enter;
    -ms-webkit-box-pack: enter;
    -o-webkit-box-pack: enter;
    -khtml-webkit-box-pack: enter;
    webkit-box-pack: enter;
    -webkit-box-align: center;
}
.child-element-webkit-box{
    width: 450px;
    height: 100px;
    background-color: gray;

    margin:0 auto;
}

6. line-height实现文字居中

//html
<div class="parent-element-line-height">
    andy
</div>

//css
.parent-element-line-height {
    width: 800px;
    height: 250px;
    background-color: white;

    line-height: 250px;
    text-align: center;
    vertical-align: middle;
}

7. fixed设置窗口整体居中

.parent-element-fixed{
    width: 600px;
    height: 250px;
    background-color: lightgrey;

    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;

    line-height: 250px;
    vertical-align: middle;
}

相关文章

  • 前端垂直居中的几种简单实现

    在前端开发尤其是web开发中会经常调整元素位置,所以经常会遇到居中问题,对于水平居中我们都知道用简单的text-a...

  • 水平居中和垂直居中

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

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

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

  • css实现水平垂直居中的方法总结

    css实现水平垂直居中的方法总结 实现水平垂直居中你有多少种方法?这是前端面试必考题啊!-=- 这段时间公司招前端...

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

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

  • CSS 的几种典型居中

    CSS 中,有几种经典的居中,水平居中,垂直居中。其中水平居中比较常见,也相对比较简单;垂直居中相对少见,但是也很...

  • 垂直居中

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

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

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

  • CSS3实现居中的常用方法总结

    在前端开发项目中,经常用到盒子的水平垂直居中。盒子的水平居中相对容易实现,垂直居中的实现相对复杂一些,在这里主要总...

  • 水平垂直居中的实现方法

    小div在大div里面水平垂直居中的实现方法 初学前端时,我们都经常会练习实现关于水平垂直居中。那么你们都会用...

网友评论

      本文标题:前端垂直居中的几种简单实现

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