分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

CSS 垂直居中

发布时间:2023-09-06 01:11责任编辑:顾先生关键词:CSS

1、单行文本

行高和父元素的高相等即可实现垂直居中
2、多行文本
方式1:
     设置父元素display:table;
     设置里边的元素display:table-cell;vertical-align:middle;即可使得元素竖直居中,但是此种方式兼容性不是很好低版本的浏览器都不兼容。
方式2:
     设置父元素position:relative绝对定位,并设置其子元素position:absolute相对对位,设置top:50%;left:50%;将元素的左上角定位到其父元素的中间,然后设置元素宽度以及高度一般的负值外边距移动内容即可将元素竖直居中。
.container{ ???position: relative;}.container .content{ ???position: absolute; ???top: 50%; ???left: 50%; ???width: 200px; ???height: 120px; ???margin-left: -100px; ???margin-top: -60px;}

方式3:

 先结合绝对定位以及相对将元素的左上角定位到元素的中间,然后使用CSS3 translate将元素移动(translate后面是百分比的时候是根据元素自身的宽高来计算的)
.container{ ???position: relative;}.container .content{ ???position: absolute; ???top: 50%; ???left: 50%; ???transform: translate(-50%, -50%);}

方式4:

 基于视口单位的解决方案:
      在弹出对话框或者类似的场景下,我们希望某元素能够居中于视口中。这个时候可以使用 fixed 定位,外加上面提到的 “基于绝对定位的解决方案” 中类似的方法来实现。
     此外你还有另外一种选择,那就是使用 vh 和 vw 这两个单位,100vw 就等于视口的宽度,也就是说 1vw 等于 1/100 的视口宽度,vh 也同理,1vh等于 1/100 视口的高度。因此可以写出下列代码来将一个对话框在视口中居中:
.dialog{ ???position: fixed; ???margin-top: 50vh; ???margin-left: 50vw; ???transform: translate(-50%, -50%);}

方式5:

.container{ ???display: flex;}.container .content{ ???margin: auto;}

方式6:

.container{
    display: flex;
    justify-content: center;
    align-items: center;

}

CSS 垂直居中

原文地址:http://www.cnblogs.com/running1/p/7533150.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved