美文网首页
各类元素的水平垂直居中

各类元素的水平垂直居中

作者: 叶猜 | 来源:发表于2014-10-30 10:55 被阅读447次

一、水平居中

  1. 行内元素:
    text-align: center
    适用元素:文字,链接,及其其它inline或者inline-*类型元素(inline-blockinline-tableinline-flex

  2. 块级元素:
    对于块状元素(display:block)来说,我们需要将它的左右外边距(即margin-leftmargin-right)设置为auto,即可实现块状元素的居中

  3. 多个块级元素:
    ① 元素:display: inline-block; 父元素text-align: center;
    将元素的display属性设置为inline-block,并且把父元素的text-align属性设置为center即可实现

② 使用flexbox:
父元素display:flex; justify-content: center;
只需要把待处理的块状元素的父元素添加属性display:flexjustify-content:center即可

二、垂直居中

  1. 单个行内元素:
    当一个行内元素,即inlineinline-*类型的元素需要居中的话,可以将它的heightline-height同时设置为父元素的高度即可实现垂直居中效果

  2. 多行行内元素:
    组合使用display:table-cellvertical-align:middle属性来定义需要居中的元素的父容器元素生成效果

  3. 已知高度的块级元素:
    将待居中元素设置为绝对定位,并且设置margin-top为居中元素高度一半的负值

  4. 未知高度的块级元素:

        .item{
        top: 50%;
        position: absolute;
        transform: translateY(-50%); /* 这里我们使用css3的transform来达到类似效果 */
        }
    

使用transform属性来垂直移动来实现垂直居中。

三、水平垂直居中

  1. 已知高度和宽度的元素:
    设置元素定位为absolute,并且设置top,left绝对值为50%,margin-topmargin-left为元素高度一半的负值即可

  2. 未知高度和宽度的元素:

  • 类似的transform属性来定义

        .item{
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
         }
    
  • 使用table-cell:
    在父元素中设置display: table-cell; vertical-align: middle; text-align:center;

  • 使用box(以WebKit为例,其它所需兼容再添。注意浏览器支持情况Firefox 、Safari、Opera 以及 Chrome )
    display: -webkit-box; -webkit-box-align: center; -webkit-box-pack: center;

  1. 使用flex布局实现:
    在父元素设置display: flex; justify-content:center; align-items: center; /* 注意这里需要设置高度来查看垂直居中效果 */

(注意浏览器支持情况Firefox 、Safari、Opera 以及 Chrome )

*flex和box较适合移动端以及不需要考虑低版本浏览器的开发。

相关文章

  • css居中方式总结(亲测有效)

    水平居中(行内元素水平居中、块级元素水平居中) 垂直居中 水平垂直居中 行内元素水平居中 text-align: ...

  • 所有CSS居中方法,了解一下?

    目录 水平居中内联元素水平居中块级元素水平居中多个块级元素的水平居中 垂直居中内联元素垂直居中单行内联元素多行内联...

  • 各类元素的水平垂直居中

    一、水平居中 行内元素:text-align: center适用元素:文字,链接,及其其它inline或者inli...

  • 居中对齐

    行内元素居中[#hang]垂直居中[#hc]水平居中[#hs] 块级元素居中[#kuai]垂直居中[#kc]水平居...

  • 2020-03-05 CSS水平垂直居中学

    1.块级元素水平居中,水平元素垂直居中 CodePen:CSS块级水平居中 2.块级元素垂直居中 CodePen:...

  • 未知高度垂直水平居中

    未知宽高的弹出框,水平垂直居中 parrent 内的元素水平垂直居中 parrent 内的元素垂直居中

  • css 水平垂直居中实现方式

    css 水平垂直居中实现方式 水平垂直居中包括行内元素居中,以及块级元素居中 行内元素html结构 块级元素结构 ...

  • 居中布局

    水平居中 垂直居中 垂直水平居中 已知元素的宽高的居中布局 定位居中布局 盒模型居中布局 图片的垂直水平居中(利用...

  • 如何水平居中一个元素

    主要介绍水平居中,垂直居中,水平垂直居中的各种办法: 行内元素水平居中 如果块级元素内部包着也是一个块级元素,我们...

  • CSS布局小技巧

    1.让元素水平垂直居中 文字水平垂直居中 2.让元素垂直居中 2.1 flex方式 2.2 position方式 ...

网友评论

      本文标题:各类元素的水平垂直居中

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