CSS的垂直居中和水平居中总结

内联元素居中方案

水平居中设置:

行内元素 设置text-align:center;
Flex布局 设置display:flex; justify-content:center;(灵活运用)

垂直居中设置:

父元素高度确定的单行文本(内联元素) 设置 height = line-height;
父元素高度确定的多行文本(内联元素) a:插入 table(插入方法和水平居中一样),然后设置vertical-align:middle;b:先设置display:table-cell 再设置 vertical-align:middle;

块级元素居中方案

水平居中设置:

定宽块状元素 设置margin:0 auto;
不定宽块状元素 a:在元素外加入table 标签(完整的,包括table、tbody、tr、td),该元素写在td内,然后设置 margin:0 auto; b:给该元素设置 display:inine方法; c:父元素设置 position:relativeleft:50%,子元素设置 position:relativeleft:50%;

垂直居中设置:

1.使用position:absolute(fixed),设置left、top、margin-left、margin-top的属性;

.box{ position:absolute;/*或fixed*/
      top:50%;
      left:50%;
      margin-top:-100px;
      margin-left:-200px;
    }

2.利用position:fixed(absolute)属性,margin:auto这个必须不要忘记了;

.box{ position: absolute;/*或fixed*/
      top:0;
      right:0;
      bottom:0;
      left:0;
      margin: auto;
    }

3.利用display:table-cell属性使内容垂直居中;

.box{ display:table-cell;
      vertical-align:middle;
      text-align:center;
      width:120px;
      height:120px;
      background:purple;
    }

4.使用css3的新属性transform:translate(x,y)属性;

.box{ position: absolute;
      transform: translate(50%,50%);
      -webkit-transform:translate(50%,50%);
      -moz-transform:translate(50%,50%);
      -ms-transform:translate(50%,50%);
    }

5.最高大上的一种,使用:before元素;

.box{ position:fixed;
      display:block;
      background:rgba(0,0,0,.5);
    }
.box:before{ content:'';
             display:inline-block;
             vertical-align:middle;
             height:100%;
           }
.box.content{ width:60px;
              height:60px;
              line-height:60px;
              color:red;
            }

6.Flex布局;

.box{ display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex; 
水平居中
      -webkit-box-align: center;
      -moz-box-align: center;
      -ms-flex-pack:center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center;
 垂直居中
      -webkit-box-pack: center;
      -moz-box-pack: center;
      -ms-flex-align:center;
      -webkit-align-items: center;
      -moz-align-items: center;
      align-items: center;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,786评论 1 92
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 8,203评论 3 30
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,506评论 0 6
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,602评论 0 26
  • 冷月高悬。也许是太过寒冷,让我感觉月亮洒下的光也是冷的。 我双手揣在衣兜里,盖上帽子,漫无目的地行走在校园的田径场...
    離騷阅读 338评论 0 2