美文网首页
如何水平居中一个元素

如何水平居中一个元素

作者: nomooo | 来源:发表于2019-03-17 14:27 被阅读0次

主要介绍水平居中,垂直居中,水平垂直居中的各种办法:

行内元素水平居中
    .parent{/*在父元素设置*/
        text-align: center;
    }
  • 如果块级元素内部包着也是一个块级元素,我们可以先将其由块级元素改变为行内块元素,再通过设置行内块元素达到水平居中

      <div class="parent">
          <div class="child">Demo</div>
      </div>
      <style>
          .parent{
          text-align:center;
          }
          .child {
          display: inline-block;
          }
      </style>
    
块级元素水平居中

这种情形有多种实现方式

  • 将该块级元素的左右外边距margin-left和margin-right设置为auto

    .child{
        width: 100px;//确保该块级元素定宽
        margin:0 auto;
    }
    
  • 使用table+margin
    先将子元素设置为块级表格来显示,再将其设置水平居中
    display:table在表现上类似block元素,但是宽度为内容宽

      <div class="parent">
          <div class="child">Demo</div>
      </div>
      <style>
          .child {
          display: table;
          margin: 0 auto;
          }
      </style>
    
  • 使用absolute+transform
    先将父元素设置为相对定位,再将子元素设置为绝对定位,向右移动子元素,移动距离为父容器的一般,最后通过向左移动子元素的一般宽度以达到水平居中

      <div class="parent">
          <div class="child">Demo</div>
      </div>
      <style>
          .child {
          position:absolute;
          left:50%;
          transform:translateX(-50%);
          }
          .parent {
          position:relative;
          }
      </style>
    
  • 使用flex+justify-content
    通过CSS3中的布局利器flex中的justify-content属性来达到水平居中

      <div class="parent">
          <div class="child">Demo</div>
      </div>
      <style>
          .parent {
          display: flex;
          justify-content:center;
          }
      </style>
    
  • 使用flex+margin
    通过flex将父容器设置为Flex布局,再设置子元素居中

      <div class="parent">
          <div class="child">Demo</div>
      </div>
      <style>
          .parent {
          display: flex;
          }
          .child {
          margin:0 auto;
          }
      </style>
    
多个块级元素水平居中
  • 利用flex布局
    利用弹性布局(flex),实现水平居中,其中justify-content用于设置弹性盒子元素在主轴(默认横轴)方向上的对齐方式

    #container {
        display: flex;
        justify-content: center;
    }
    

-利用inline-block
将要水平排列的块级元素设置为display:inline-boock,然后在父元素上设置text-align:center,达到与上面行内元素的水平居中一样的效果

    .container {
        text-align: center;
    }
    .inline-block {
       display: inline-block;
    }
浮动元素水平居中
  • 对于定宽的浮动元素,通过子元素设置relative + 负margin

      .child {
          position:relative;
          left:50%;
          margin-left:-250px;
      }
      <div class="parent">
        <span class="child" style="float: left;width: 500px;">我是要居中的浮动元素</span>
      </div>
    
  • 对于不定宽的浮动元素,父子容器都用相对定位
    注意:要清除浮动,给外部元素加上float。这里的父元素就是外部元素

      <div class="box">
              <p>我是浮动的</p>
              <p>我也是居中的</p>
          </div>
          .box{
              float:left;
              position:relative;
              left:50%;
          }
          p{
              float:left;
              position:relative;
              right:50%;
          }
    
  • 通用方法(不管是定宽还是不定宽):flex布局
    利用弹性布局(flex)的justify-content属性,实现水平居中。

      .parent {
          display:flex;
          justify-content:center;
      }
      .chlid{
          float: left;
          width: 200px;//有无宽度不影响居中
      }
      <div class="parent">
        <span class="chlid">我是要居中的浮动元素</span>
      </div>
    
绝对定位元素水平居中

通过子元素绝对定位,外加margin: 0 auto来实现

    <div class="parent">
            <div class="child">让绝对定位的元素水平居中对齐。</div>
        </div>
          .parent{
                position:relative;
            }
           .child{
                 position: absolute; /*绝对定位*/
                 width: 200px;
                 height:100px;
                 background: yellow;
                 margin: 0 auto; /*水平居中*/
                 left: 0; /*此处不能省略,且为0*/
                 right: 0;/*此处不能省略,且为0*/
            }

相关文章

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

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

  • css居中

    1、如何让块级元素水平居中?如何让行内元素水平居中? 块级元素使用margin:0 auto;(上下为0,左右au...

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

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

  • 如何水平居中一个元素

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

  • CSS的水平居中

    水平居中可分为行内元素水平居中和块级元素水平居中** 1.1 行内元素水平居中 这里行内元素是指文本text、图像...

  • web前端入门到实战:行内和块状元素水平居中与单行或多行文本垂直

    行内元素水平居中如何设置?如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align...

  • CSS相关

    居中 块元素水平居中 行内元素水平居中 模拟表格 实现水平居中display:table ( ) | table-...

  • 网页布局各种居中问题的详解

    水平居中 行内元素水平居中 块级元素水平居中 多个块级元素水平居中 解决方法之一: 解决方法之二: 垂直居中 单行...

  • 水平居中和垂直居中

    水平居中设置--行内元素 水平居中设置--定宽块级元素 水平居中设置--不定宽块状元素 垂直居中--父元素高度确定...

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

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

网友评论

      本文标题:如何水平居中一个元素

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