css中常用的几种居中方法(推荐)

上天赐予了你宝贵的生命,必定要让你在一生中,坚持,奋斗到最后一秒,燃烧尽生命的火焰。

在前端面试中,大都会问你div居中的方法:

文笔不好,就随便寥寥几句话概括了,

不过以后文笔肯定会变得更好一些的。

今天我们就细数一下几种方法:

1,使用position:absolute,设置left、top、margin-left、margin-top的属性

CSS Code复制内容到剪贴板
  1. .one{
  2. position:absolute;
  3. width:200px;
  4. height:200px;
  5. top:50%;
  6. left:50%;
  7. margin-top:-100px;
  8. margin-left:-100px;
  9. background:red;
  10. }

这种方法基本浏览器都能够兼容,不足之处就是需要固定宽高。

2,使用position:fixed,同样设置left、top、margin-left、margin-top的属性

CSS Code复制内容到剪贴板
  1. .two{
  2. position:fixed;
  3. width:180px;
  4. height:180px;
  5. top:50%;
  6. left:50%;
  7. margin-top:-90px;
  8. margin-left:-90px;
  9. background:orange;
  10. }

大家都知道的position:fixed,IE是不支持这个属性的

3,利用position:fixed属性,margin:auto这个必须不要忘记了。

CSS Code复制内容到剪贴板
  1. .three{
  2. position:fixed;
  3. width:160px;
  4. height:160px;
  5. top:0;
  6. rightright:0;
  7. bottombottom:0;
  8. left:0;
  9. margin:auto;
  10. background:pink;
  11. }

4,利用position:absolute属性,设置top/bottom/right/left

CSS Code复制内容到剪贴板
  1. .four{
  2. position:absolute;
  3. width:140px;
  4. height:140px;
  5. top:0;
  6. rightright:0;
  7. bottombottom:0;
  8. left:0;
  9. margin:auto;
  10. background:black;
  11. }

5,利用display:table-cell属性使内容垂直居中

CSS Code复制内容到剪贴板
  1. .five{
  2. display:table-cell;
  3. vertical-align:middle;
  4. text-align:center;
  5. width:120px;
  6. height:120px;
  7. background:purple;
  8. }

6,最简单的一种使行内元素居中的方法,使用line-height属性

CSS Code复制内容到剪贴板
  1. .six{
  2. width:100px;
  3. height:100px;
  4. line-height:100px;
  5. text-align:center;
  6. background:gray;
  7. }

这种方法也很实用,比如使文字垂直居中对齐

7,使用css3的display:-webkit-box属性,再设置-webkit-box-pack:center/-webkit-box-align:center

CSS Code复制内容到剪贴板
  1. .seven{
  2. width:90px;
  3. height:90px;
  4. display:-webkit-box;
  5. -webkit-box-pack:center;
  6. -webkit-box-align:center;
  7. background:yellow;
  8. color:black;
  9. }

8,使用css3的新属性transform:translate(x,y)属性

CSS Code复制内容到剪贴板
  1. .eight{
  2. position:absolute;
  3. width:80px;
  4. height:80px;
  5. top:50%;
  6. left:50%;
  7. transform:translate(-50%,-50%);
  8. -webkit-transform:translate(-50%,-50%);
  9. -moz-transform:translate(-50%,-50%);
  10. -ms-transform:translate(-50%,-50%);
  11. background:green;
  12. }

这个方法可以不需要设定固定的宽高,在移动端用的会比较多,在移动端css3兼容的比较好

9、最高大上的一种,使用:before元素

CSS Code复制内容到剪贴板
  1. .nine{
  2. position:fixed;
  3. display:block;
  4. top:0;
  5. rightright:0;
  6. bottombottom:0;
  7. left:0;
  8. text-align:center;
  9. background:rgba(0,0,0,.5);
  10. }
  11. .nine:before{
  12. content:'';
  13. display:inline-block;
  14. vertical-align:middle;
  15. height:100%;
  16. }
  17. .nine.content{
  18. display:inline-block;
  19. vertical-align:middle;
  20. width:60px;
  21. height:60px;
  22. line-height:60px;
  23. color:red;
  24. background:yellow;
  25. }

这种方法在我的前面一片文章有详细的介绍:弹窗居中的简单实现方法

以上这篇css中常用的几种居中方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例