標籤:

CSS基礎 之 垂直居中

CSS基礎 之 垂直居中

來自專欄 Miyas 技術學習小記1 人贊了文章

在做項目的時候,積累方方老師寫的CSS幾種垂直居中的方式(麻煩的不寫??,搞不懂)

一、table自帶垂直居中屬性

代碼如下:

<table class="parent"> <tr> <td class="child"> 一串文字一串文字一串文字一串文字一串文字一串文字一串文字 </tr> </table>

前提:

父元素:position:relative

子元素:position:absolute

二、transform:translate(-50%,50%)

代碼如下:

<div class="parent"> <div class="child"> 一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字 </div> </div>.parent{ height: 600px; border: 1px solid red; position: relative;}.child{ border: 1px solid green; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}

三、margin-top:-50px; margin-left:-150px;

代碼如下:

<div class="parent"> <div class="child"> 一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字 </div> </div>.parent{ height: 600px; border: 1px solid red; position: relative;}.child{ border: 1px solid green; width: 300px; position: absolute; top: 50%; left: 50%; margin-left: -150px; height: 100px; margin-top: -50px;}

四、margin:auto ;

+top: 0; bottom: 0; left: 0; right: 0;

代碼如下

<div class="parent"> <div class="child"> 一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字</div>.parent{ height: 600px; border: 1px solid red; position: relative;}.child{ border: 1px solid green; position: absolute; width: 300px; height: 200px; margin: auto; top: 0; bottom: 0; left: 0; right: 0;}

五、display: flex;

+justify-content: center;

+align-items: center;

代碼如下:

<div class="parent"> <div class="child"> 一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字一串文字 </div> </div>.parent{ height: 600px; border: 3px solid red; display: flex; justify-content: center; align-items: center;}.child{ border: 3px solid green; width: 300px;}

推薦閱讀:

刨根問底,請問所有瀏覽器的默認字型大小都是 16px 嗎?
flex布局有什麼方法能兼容國內瀏覽器的雙核模式?

TAG:CSS | CSS布局 | HTML |