css实现垂直居中

一、子元素设置属性
1.绝对定位结合margin:auto

.inner1{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

2.绝对定位结合margin设置指定距离

.inner2{
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
}

3.绝对定位结合transform

.inner3{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

4.css值与单位(第三版)定义了一套新的单位,称为视口相关的长度单位。

  • vw是与视口宽度相关的,1vw实际上是视口宽度1%,而不是100%
  • 与vw类似,1vh表格视口高度的1%。
  • 视口宽度小于高度时,1vmin等于1vw,否则等于1vh。
  • 视口宽度大于高度时,1vmax等于1vw,否则等于1vh。
.inner4{
    margin: 50vh auto 0;
    transform: translateY(-50%);
}

二、父元素设置属性
1.父元素flex布局

.outer{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 44年前我们就把人类送上月球了,但现在我们仍然无法在CSS中实现垂直居中。 在CSS中对元素进行水平居中是非常简单...
    康斌阅读 15,976评论 9 28
  • 对于最流行的表格布局法和行内块法不去考虑,只考虑用最新的现代CSS去实现 基于绝对定位的解决方案 1.早期解决方法...
    咕咚咚bells阅读 1,810评论 0 0
  • 事实上,每次面试前端必问的问题就是这个。及其常见的需求,看起来似乎非常简单,但是实现起来很费劲,尤其是涉及尺寸不固...
    myWsq阅读 3,649评论 0 0
  • 准备代码: 初始效果如图1: 一.绝对定位解决方案 此解决方案的思路是,距离左上角绝对定位,top和left各50...
    xuehairong阅读 2,649评论 0 0
  • 第一种:基于绝对定位的解决方案 用top,left移动只是将div的左上角移到父元素的正中心,视觉上并没有使div...
    owlhpy阅读 1,787评论 0 0

友情链接更多精彩内容