美文网首页
网页垂直水平居中方法总结

网页垂直水平居中方法总结

作者: aE_0ff7 | 来源:发表于2020-07-21 18:08 被阅读0次

web前端开发经常用到的就是使元素在容器里面进行水平垂直居中。相对于垂直居中来说,水平居中或许比较容易。如果是块级元素直接设置其margin:auto即可完成水平居中;如果是内联元素,可以通过display:inline-block(display:block)变成块级元素再进行设置margin值或者通过text-align:center即可使水平居中。若是垂直居中,如果是内联元素,可以设置vertical-align:middle可以使其垂直居中(前提是父容器里面只有一个子元素才生效)。所以下面在平时总结了以下几种垂直居中的方法。

1.最常用的方法,也是日常web前端开发中用得最多的通过设置line-height属性与当前元素的高度值一致,但是缺点就是目前的元素的高度必须设置为固定值,没有了更多的灵活性,先举个例子demo(下面举例的html结构类似):

// html结构
<div class="parent">
    demo 
</div>
// css样式使文本元素垂直水平居中
div.parent{
  width:100px;
  height:100px;
  vertical-align:middle;
  line-height:100px;
}

2.通过绝对定位元素来使元素进行垂直水平居中,缺点就是子元素必须设置固定的宽度高度值且会以最近的一个设置posiiton为relative的父元素进行定位,如果没有这样的父元素,就以body文档为定位:

// html结构
<div class="parent">
  <div class="child">demo</div>
</div>
// css样式
div.parent{
  position:relative;
  width:200px;
  height:200px;
}
div.child{
  position:absolute;
  width:100px;
  height:100px;
  margin:auto;
  left:0;
  top:0;
  bottom:0;
  right:0;
}

3.通过table-cell方法进行定位居中,父元素设置宽高度即可:

// html结构
<div class="parent">
  <div class="child">demo</div>
</div>
// css样式
div.parent{
  display:table;
}
div.child{
  display:table-cell;
  text-aglin:center;
  vertical-align:middle;  
}

4.通过CSS3的弹性盒子模型flex进行布局定位

// html结构
<div class="parent">
  <div class="child">demo</div>
</div>
// css样式
div.parent{
  width:100%;
  height:200px;
  display:flex;
  justify-content:center;
  align-items:center;
}
// 或者直接设置子元素
div.parent{
  width:100%;
  height:200px;
  display:flex;
  justify-content:center;
}
div.child{
  align-self:center;
}

5.通过flex的旧版本进行水平垂直居中对齐(其中box-orient类似于新版的flex-direction):

// html结构
<div class="parent">
  <div class="child">demo</div>
</div>
// css样式
div.parent{
  width:100%;
  height:200px;
  display:box;
  box-align:center;
  box-pack:center;
}

6.通过绝对定位absolute加margin负值进行居中对齐:

// html结构
<div class="parent">
  <div class="child">demo</div>
</div>
// css样式
div.parent{
  width:100px;
  height:100px;
  position:relative;
}
div.child{
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:50px;
  height:50px;
  margin-left:-25px;
  margin-top:-25px;
}

7.通过CSS3的transform属性的位移值translate来进行水平垂直居中

// html结构
<div class="parent">
  <div class="child">demo</div>
</div>
// css样式
div.parent{
  width:100px;
  height:100px;
  position:relative;
}
div.child{
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:50px;
  height:50px;
  transform:translate(-50%,-50%);
}

8.利用上层元素的浮动来进行垂直居中:

// html结构
<div class="content"></div>
<div class="next">demo</div>
// css样式
div.content{
  height:50%;
  float:left;
  margin-bottom:-120px;
}
div.next{
  clear:both;
  height:240px;
  position:relative;
}

暂时可以想到与可以总结到的有这几种方法,如果有其他的水平垂直居中的方法,欢迎提出。如果有出入,欢迎提出错误所在。

相关文章

  • CSS水平垂直居中总结

    CSS水平居中、垂直居中、水平垂直居中方法总结 文字的水平居中: 单行文字的垂直居中: 让有宽度的div水平居中:...

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

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

  • 实现元素水平居中的五种方法

    概述 我们平时看到的居中效果主要分为三大类,水平居中,垂直居中和水平垂直居中,在这里总结以下元素水平居中的方法。 ...

  • 常用的居中方法

    本文将介绍的居中方法有 ,水平居中,垂直居中和水平垂直居中。 一水平居中 二水平垂直居中

  • 网页垂直水平居中方法总结

    web前端开发经常用到的就是使元素在容器里面进行水平垂直居中。相对于垂直居中来说,水平居中或许比较容易。如果是块级...

  • 网页垂直水平居中方法总结

    web前端开发经常用到的就是使元素在容器里面进行水平垂直居中。相对于垂直居中来说,水平居中或许比较容易。如果是块级...

  • Css让div在屏幕上居中

    # 让div在屏幕上居中(水平居中+垂直居中)的方法总结 - html代码如下: - Css居中方法 (敲黑板)...

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

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

  • 垂直居中的多种写法

    1、垂直居中 2、水平居中 3、垂直水平居中 方法1:使用绝对定位 方法二:使用display:flex 扩展1:...

  • 前端秘籍,CSS垂直居中必学八式,一招一式尽显功力

    前言 设计网页的时候,除了CSS水平居中的需求外,还会经常遇到CSS垂直居中的需求,CSS垂直居中跟CSS水平居中...

网友评论

      本文标题:网页垂直水平居中方法总结

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