css垂直居中的方法有哪些


本文摘自PHP中文网,作者青灯夜游,侵删。

方法:1、利用“display:table-cell;vertical-align:middle;”样式;2、使用flex布局;3、利用绝对定位和负边距;4、利用绝对定位和transform属性;5、利用绝对定位和top、left等属性。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法。有了css3,针对移动端的垂直居中就更加多样化。

方法1:table-cell

html结构:

1

2

3

<div class="box box1">

        <span>垂直居中</span>

</div>

css:

1

2

3

4

5

.box1{

    display: table-cell;

    vertical-align: middle;

    text-align: center;        

}

方法2:display:flex

1

2

3

4

5

.box2{

    display: flex;

    justify-content:center;

    align-items:Center;

}

方法3:绝对定位和负边距

1

2

3

4

5

6

7

8

9

10

11

.box3{position:relative;}

.box3 span{

            position: absolute;

            width:100px;

            height: 50px;

            top:50%;

            left:50%;

            margin-left:-50px;

            margin-top:-25px;

            text-align: center;

        }

方法4:绝对定位和0

1

2

3

4

5

6

7

8

9

10

11

12

.box4 span{

  width: 50%

  height: 50%

  background: #000;

  overflow: auto

  margin: auto

  position: absolute

  top: 0;

  left: 0;

  bottom: 0;

  right: 0

}

这种方法跟上面的有些类似,但是这里是通过margin:auto和top,left,right,bottom都设置为0实现居中,很神奇吧。不过这里得确定内部元素的高度,可以用百分比,比较适合移动端。

方法5:translate

1

2

3

4

5

6

7

8

.box6 span{

            position: absolute;

            top:50%;

            left:50%;

            width:100%;

            transform:translate(-50%,-50%);

            text-align: center;

        }

这实际上是方法3的变形,移位是通过translate来实现的。

方法6:display:inline-block

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

.box7{

  text-align:center;

  font-size:0;

}

.box7 span{

  vertical-align:middle;

  display:inline-block;

  font-size:16px;

}

.box7:after{

  content:'';

  width:0;

  height:100%;

  display:inline-block;

  vertical-align:middle;

}

这种方法确实巧妙...通过:after来占位。

(学习视频分享:css视频教程)

以上就是css垂直居中的方法有哪些的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

css怎么让字体更大

css设置外边距的属性名是什么

css中如何使颜色透明度

css中怎么设置行高

css的作用是什么

css中权重是什么意思

深入浅析css text-emphasis属性,看看它的用法!

display:block属性的作用是什么

css怎么控制不换行

css怎么去除图片边框

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...