CSS-DIV上下左右居中

方法一

#wrap{
        position:absolute;
        width:300px;
        height:200px;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%) ;
        background:#009688;
    }

若是下面的代码,其结果就是错误的

#wrap{
        width:300px;
        height:200px;
        margin-top:50%;
        margin-left:50%;
        transform:translate(-50%,-50%) ;
        background:#009688;
    }

原因:

当margin设置成百分数的时候,其top right bottom left的值是参照父元素盒子的宽度进行计算

方法二

直接用弹性盒布局,作用于父元素上实现

parent{
        width:100%;
        height:100vh;
        display:flex;
        justify-content: center;//子元素水平居中
        align-items: center;//子元素垂直居中
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,543评论 5 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,749评论 1 45
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,343评论 2 66
  • 雨菲菲, 雾蒙蒙, 为何? 心情总是如雨雾般, 如此压抑!
    听心随性阅读 283评论 1 1