css水平垂直居中的几种方法

今天给大家提供一些脱离文档流的居中方法,大家可以收藏一下。

一、脱离文档流元素的居中

方法一:margin:auto法

css代码:

.box{     
       width:  400px;
       height: 400px;
       position: relative;
       border: 1px solid #ccc;
}
 .box img{
            width:200px;
            height: 100px;
            border: 1px solid #ccc;
            position: absolute;
            margin:auto;
            top:0;
            left:0;
            bottom:0;
            right:0;
        }

html代码:

<div class="box">
    ![](../images/paiban2.jpg)
</div>

效果图:


margin:auto;法水平垂直居.png

当一个元素绝对定位时,它会根据第一个不是static定位的祖先元素定位,因此这里的img根据外层div定位。

方法二:负margin法

css代码:

 .box{
            height: 400px;
            width: 400px;
            position: relative;
            left:auto;
            top:auto;
            border:1px solid  cornflowerblue;
        }
        .box1{
            width: 100px;
            height: 100px;
            background-color: cornflowerblue;
            position:absolute;
            left:0;
            top:0;
        }
        .box2{
            width: 100px;
            height: 100px;
            background-color: cornflowerblue;
            position:absolute;
            right:0;
            top:0;
        }
        .box3{
            width: 100px;
            height: 100px;
            background-color: cornflowerblue;
            position:absolute;
            top:50%;
            left:50%;
            margin-top:-50px;
            margin-left:-50px;
        }
        .box4{
            width: 100px;
            height: 100px;
            background-color: cornflowerblue;
            position:absolute;
            bottom:0;
            left:0;
        }
        .box5 {
            width: 100px;
            height: 100px;
            background-color: cornflowerblue;
            position:absolute;
            bottom:0;
            right:0;
        }

html代码:

<div  class="box">
    <div  class="box1"></div>
    <div  class="box2"></div>
    <div  class="box3"></div>
    <div  class="box4"></div>
    <div  class="box5"></div>
</div>

效果图:


负margin法水平垂直居中.png

这里,我们首先用top: 50%;和left:50%;让box3的坐标原点(左上角)移动到box的中心,然后再利用负margin让它往左移自身宽度的一半,再往上移自身高度的一半,这样box3的中心点就跟box的中心点对齐了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,841评论 1 92
  • 直接进入主题! 一、脱离文档流元素的居中 方法一:margin:auto法 CSS代码: HTML代码: 效果图:...
    z0nka1阅读 325评论 0 1
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 8,238评论 3 30
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,673评论 0 30
  • 林东和小念认识是从漂流瓶开始的,当年的QQ漂流瓶还很流行,林东喜欢失落的时候玩两把,从中结识几个朋友。 捞起小念...
    采顷阅读 696评论 2 0