css实现垂直水平居中的5种方法

css实现垂直水平居中的5种方法

  1. 给父元素设置table-cell,text-align,vertical-align
#big{
        width: 200px;
        height: 200px;
        border:1px solid #000;
        display: table-cell;
        text-align: center;
        vertical-align: middle;
    }
    #small{
        display: inline-block;
        width: 50px;
        height: 50px;
        background: yellow;
        vertical-align:middle;
    }
  1. 给子元素设置margin:auto
#big{
        width: 200px;
        height: 200px;
        border:1px solid #000;
        position: relative;
    }
    #small{
        display: inline-block;
        width: 50px;
        height: 50px;
        background: yellow;
        position: absolute;
        left:0;
        right:0;
        top:0;
        bottom:0;
        margin:auto;
    }
  1. 弹性盒
#big{
        width: 200px;
        height: 200px;
        border:1px solid #000;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #small{
        display: inline-block;
        width: 50px;
        height: 50px;
        background: yellow;
    }
  1. 利用translate实现,先进行绝对定位,然后通过translate让它自身往回移动50%
#big{
        width: 200px;
        height: 200px;
        border:1px solid #000;
        position: relative;
    }
    #small{
        display: inline-block;
        width: 50px;
        height: 50px;
        background: yellow;
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
    }
  1. 通过新创建一个元素,设置高为父元素的高,让div以这个元素来执行vertical-align
#big{
        width: 200px;
        height: 200px;
        border:1px solid #000;
        text-align: center;
    }
    #small{
        display: inline-block;
        width: 50px;
        height: 50px;
        background: yellow;
        vertical-align: middle;
    }
    span{
        display: inline-block;
        width: 0;
        height: 100%;
        background: red;
        vertical-align: middle;
    }
    </style>
</head>
<body>
    <div id="big">
        <div id="small">
        </div>
        <span></span>
    </div>
</body>
时间: 2024-10-26 11:11:02

css实现垂直水平居中的5种方法的相关文章

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

直接上代码,只需切换class就可看效果 <!DOCTYPE html> <html> <head> <title>水平垂直居中</title> <style type="text/css"> *{ margin: 0; padding: 0; } .myDiv{ width:200px; height: 200px; background: lightblue; } /*方法一*/ .divToCenter1{

垂直水平居中的几种方法

1,(元素在容器中垂直水平居中) css: .box{width:800px;height:800px;background:#ccc;display:flex;justify-content:center;align-items:center;} .box div{width:300px;height:300px;background:red;} html:  <div class="box"> <div></div> </div> 2

让一个元素垂直水平居中的三种方法

第一种方法: div.box{ weight:200px; height:400px; <!--把元素变成定位元素--> position:absolute; <!--设置元素的定位位置,距离上.左都为50%--> left:50%; top:50%; <!--设置元素的左外边距.上外边距为宽高的负1/2--> margin-left:-100px; margin-top:-200px; } *兼容性好;缺点:必须知道元素的宽高 ------------- 第二种方法:

让一个元素垂直水平居中的三种方法【转】

第一种方法: div.box{ weight:200px; height:400px; <!--把元素变成定位元素--> position:absolute; <!--设置元素的定位位置,距离上.左都为50%--> left:50%; top:50%; <!--设置元素的左外边距.上外边距为宽高的负1/2--> margin-left:-100px; margin-top:-200px; } *兼容性好;缺点:必须知道元素的宽高 ------------- 第二种方法:

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

第一种, 针对内联元素居中. <div class="box box1"> <span class="test">垂直居中</span> </div> <style> .box{ width: 200px; height: 200px; border:1px solid red; } .box1{ display: table-cell; vertical-align: middle; text-align

css实现垂直水平居中的6种方案

1.绝对定位+margin:auto <code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; wor

CSS实现垂直水平居中的三个方法:(1)固定宽高 (2)不固定宽高 (3)Flex

这两天迷上逛一些前端技术网站和论坛了,据说学前端要学会记录才能加深印象,所以有事没事还是写些随笔吧. 以前还在一个公司的面试试卷里做到过: 垂直居中: 1.父元素设置position:relative, 子元素设置position:absolute; top:50%; margin-top: -元素高度 2.height: 500px; line-height: 500px; 水平居中: 1.text-align:center 2.margin: 0 auto; 以上是我之前写的答案,接下来看看

CSS教程:div垂直居中的N种方法[转]

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生 效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertic

CSS教程:div垂直居中的N种方法以及多行文本垂直居中的方法

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生 效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertic