日日摸夜夜添夜夜添aa,亚洲一区二区在线视频,国产精品入口在线看麻豆,久久久久久久99精品免费观看

讓元素在css里怎么垂直居中?

程序猿 2021-03-10 21:37:50 2208瀏覽 加載中

在 CSS 布局中,我們經常會遇到一個問題,讓某個 DOM 垂直居中在它的父級元素中。這個問題需要分一些情況,在不同的情況下采用的方案不一樣。

一、采用line-height屬性

這種方式很常見,當 line-height 和 height 兩個屬性設置相同的高度時,該元素內部的文字將會居中。

#parent {
    height: 100px;
    line-height: 100px;
    border: solid 1px #333;
}

優缺點:

[優點]設置簡單;

[缺點]只能對一行文字進行垂直居中;

二、采用 display:table-cell 和 vertical-align:middle

這種現實方式可以讓標簽元素以表格單元格的形式呈現,標簽就像 table 中的 td,這樣一來我們就可以通過vertical-align:middle這個樣式使得其內部的元素居中顯示。

#parent {
    height: 100px;
    display: table-cell;
    vertical-align: middle;
    border: solid 1px #333;
}

優缺點:

[優點]設置多行文字居中;

[缺點]會被其它樣式破壞例如:float、position:absolute;

三、采用 position: absolute 和 margin-top。


通過絕對定位可以給元素設置距父元素上部top:50%,但是還沒結束該元素還需要做一定的偏移才行,偏移量為該元素的一半高度margint-top:-height/2。

#parent {
    height: 100px;
    position: relative;
    border: solid 1px #333;
}

#child {
    height: 20px;
    margin-top: -10px;
    position: absolute;
    top: 50%;
}

優缺點:

[優點]居中元素對其它同級元素沒有影響;

[缺點]子元素的高度需要固定;

四、采用 padding-top 和 padding-bottom

這種方式只需要將頂部和底部的padding設置同樣高度就行。

#parent {
    padding-top: 20px;
    padding-bottom: 20px;
    border: solid 1px #333;
}

優缺點:

[優點]父級元素高度可變;

[缺點]父級元素高度可變;


標簽: 前端
最后修改:2025-04-25 18:22:16

非特殊說明,本博所有文章均為博主原創。