關于垂直居中

垂直居中,是前端的基本操作,我主要在兩種情況下進行簡單的實現。分別為:

  • 已知高度(指自身高度)
  • 未知高度
    簡單的html代碼如下:
  <style>
    div.father{
            height: 300px;
            width: 500px;
            border: 1px solid red;
        }
  </style>
  <div class="father">
        <div class="child">123</div>
  </div>

- 未知高度時

  • 1.通過 display:table-cell 實現(此方法針對 img 在 div 標簽中垂直居中很適用)
    div.father{
            display: table-cell;
            vertical-align: middle;/*IE8 及以上*/
        }
  • 2.通過transform: translateY(-50%) 實現
    div.father{
            position: relative;
        }
    div.child{
            position: absolute;
            top: 50%;
            transform: translateY(-50%);/* CSS3 */
        }

- 已知高度時

  • 1.通過 margin-top 實現
    div.father{
            position: relative;
        }
    div.child{
            position: absolute;
            top: 50%;
            height: 100px;
            margin-top: -50px;
        }
  • 2.最后是一種比較特別的情況,當 .child 中的內容不超過一行時,通過設置 height = line-height 也可實現垂直居中
    div.child{
            height: 300px;
            line-height: 300px;
        }

以上,是簡單的總結,兼容性方面也很差,方法還有很多。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 書接上文,本次我們來談談怎樣根據需求來做到合適的垂直居中。 1.文字居中-line-height; 在文字垂直居中...
    早安馬丁閱讀 551評論 0 0
  • 這幾天一直在鼓搗Ubuntu,進度有點落下了....哈哈。我終于可以在ubuntu里上b站了(就是不支持獨顯---...
    知更鳥_b4d4閱讀 239評論 0 0
  • 前端7班 陸恩澤在網頁布局中,我們經常需要對div區塊,文本和圖片進行垂直居中,以便達到美觀的效果。上一次直播課中...
    饑人谷_陸恩澤閱讀 225評論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,815評論 1 92
  • 今天學習了伺服電機的工作原理,下午也自己裝了軟件,試驗了一下,感覺還可以,覺得現在的課程挺難理解的。寫程序根據老師...
    龐爽閱讀 148評論 0 0