美文网首页
实现Div水平垂直居中

实现Div水平垂直居中

作者: hwj6820 | 来源:发表于2019-08-02 17:14 被阅读0次

水平垂直居中问题,在css中margin: 0 auto;可以实现水平居中,但是在垂直居中方面一直没有特定的属性,直到css3的出现,有了弹性盒,可以通过设置弹性盒直接设置居中位置,做浏览器兼容的话可以通过使用一些hack处理 负margin方法,table-cell方法,位移方法

1,负margin方法:

CSS代码:

.container{      

        width: 500px;       

        height: 400px;       

        border: 2px solid #379;       

        position: relative;  

.inner{      

        width: 480px;       

        height: 380px;       

        background-color: #746;       

        position: absolute;       

        top: 50%;       

        left: 50%;       

        margin-top: -190px; /*height的一半*/       

        margin-left: -240px; /*width的一半*/  

}

HTML代码:

<div class="container">     <div class="inner"></div> </div> 

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

2,table-cell方法

CSS代码:

div{    

     width: 300px; 

     height: 300px; 

     border: 3px solid #555; 

     display: table-cell; 

     vertical-align: middle; 

     text-align: center; 

}

img{

     vertical-align: middle; 

}

HTML代码:

<div>     <img src="mm.jpg"> </div> 

通过将盒子转换为table元素,table元素本身是可以通过属性来控制位置,div上面的vertical-align: middle是控制垂直方向上的居中的,而text-align: center是控制水平方向的

3,弹性盒子法

CSS代码:

.container{

       width: 300px; 

       height: 200px; 

       border: 3px solid #546461; 

       display: -webkit-flex; 

       display: flex; 

       -webkit-align-items: center; 

       align-items: center; 

       -webkit-justify-content: center; 

       justify-content: center;  

.inner{

       border: 3px solid #458761; 

       padding: 20px;  

}

HTML代码:

<div class="container"> 

     <div class="inner"> 

         我在容器中水平垂直居中 

     </div> 

</div>

align-items控制垂直方向的居中,justify-content控制水平方向的居中。这是CSS3的新方法

4,位移方法

位移方法和margin定位方法一样,只不过吧margin改成了位移不需要计算一半是多少,直接 transform:translate(-50%,--50%) 

相关文章

  • [2020-08-10]css3中的常用几种布局

    div的水平垂直居中 flex布局,使用display: flex实现水平垂直居中 grid布局 使用grid布局...

  • 水平垂直居中的实现方法

    小div在大div里面水平垂直居中的实现方法 初学前端时,我们都经常会练习实现关于水平垂直居中。那么你们都会用...

  • 动态设置div css属性

    jQuery实现水平和垂直居中 jQuery实现水平和垂直居中的原理就是通过jQuery设置DIV的CSS,获取D...

  • html+css,让div水平垂直居中的几种方式

    在web前端开发中经常需要使用到让div进行水平和垂直居中的技术,现在我们就来谈谈如何实现div水平垂直居中(如下...

  • css div垂直居中

    方案一:div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】, 方案二:div绝对定位水平垂...

  • CSS水平垂直居中总结

    CSS水平居中、垂直居中、水平垂直居中方法总结 文字的水平居中: 单行文字的垂直居中: 让有宽度的div水平居中:...

  • CSS居中大全(带截图)

    文字水平居中 图片水平垂直居中 图片与文字水平垂直居中 代码同上 DIV相对于页面垂直居中并且响应式 视口绝对垂直...

  • 实现Div水平垂直居中

    水平垂直居中问题,在css中margin: 0 auto;可以实现水平居中,但是在垂直居中方面一直没有特定的属性,...

  • 不定宽高的div盒子和不定宽高的盒子水平垂直居中

    让一个不定宽高的div,垂直水平居中的几种实现方式 不定宽高的div垂直居中的方式: 1、使用CSS方法: 父盒子...

  • CSS实现水平垂直居中

    把content的div在wrapper的div中水平居中垂直 text CSS实现: 第一种方法 ....

网友评论

      本文标题:实现Div水平垂直居中

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