溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

css里上下居中如何實(shí)現(xiàn)

發(fā)布時(shí)間:2020-09-25 10:59:02 來源:億速云 閱讀:178 作者:小新 欄目:web開發(fā)

css里上下居中如何實(shí)現(xiàn)?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

css里上下居中也就是垂直居中,css中按元素可以分為三種垂直居中方式,分別是單行的行內(nèi)元素,多行的行內(nèi)元素以及塊元素的垂直居中。。

css里上下居中如何實(shí)現(xiàn)

單行的行內(nèi)元素

只需要設(shè)置單行行內(nèi)元素的"行高等于盒子的高"即可;

<style>
    #father {
        width: 500px;
        height: 300px;
        background-color: skyblue;
    }
 
    #son {
        background-color: green;
        height: 300px;
    }
</style>
 
<div id="father">
    <span id="son">我是單行的行內(nèi)元素</span>
</div>

效果:

css里上下居中如何實(shí)現(xiàn)

多行的行內(nèi)元素

使用給父元素設(shè)置display:table-cell;和vertical-align: middle;即可;

<style>
    #father {
        width: 500px;
        height: 300px;
        background-color: skyblue;
        display: table-cell;
        vertical-align:middle;
    }
 
    #son {
        background-color: green;
    }
</style>
 
<div id="father">

<span id="son">我是多行的行內(nèi)元素我是多行的行內(nèi)元素我是多行的行內(nèi)元素我是多行的行內(nèi)元素我是多行的行內(nèi)元素我是多行的行內(nèi)元素我是多行的行內(nèi)元素我是多行的行內(nèi)元素</span>

</div>

效果:

css里上下居中如何實(shí)現(xiàn)

塊級(jí)元素

方案一:使用定位

首先設(shè)置父元素為相對(duì)定位,再設(shè)置子元素為絕對(duì)定位,設(shè)置子元素的top: 50%,即讓子元素的左上角垂直居中;

定高度:設(shè)置絕對(duì)子元素的 margin-top: -元素高度的一半px; 或者設(shè)置transform: translateY(-50%);

<style>
    #father {
        width: 500px;
        height: 300px;
        background-color: skyblue;
        position: relative;
}
 
    #son {
        height: 100px;
        background-color: green;
        position: absolute;
        top: 50%;
        margin-top: -50px;
}
</style>
 
<div id="father">
    <div id="son">我是塊級(jí)元素</div>
</div>

不定高度:利用css3新增屬性transform: translateY(-50%);

<style>
    #father {
        width: 500px;
        height: 300px;
        background-color: skyblue;
        position: relative;
}
 
    #son {
        width: 100px;
        background-color: green;
        position: absolute;
        left: 50%;
        transform: translateY(-50%);
}
</style>
 
<div id="father">
    <div id="son">我是塊級(jí)元素</div>
</div>

效果:

css里上下居中如何實(shí)現(xiàn)

方案二:使用flexbox布局實(shí)現(xiàn)(高度定不定都可以)

使用flexbox布局,只需要給待處理的塊狀元素的父元素添加屬性 display: flex; align-items: center;

<style>
    #father {
        width: 500px;
        height: 300px;
        background-color: skyblue;
        display: flex;
        align-items: center;
    }
 
    #son {
        width: 100px;
        height: 100px;
        background-color: green;
    }
</style>
 
<div id="father">
    <div id="son">我是塊級(jí)元素</div>
</div>

效果:

css里上下居中如何實(shí)現(xiàn)

感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)css里上下居中如何實(shí)現(xiàn)大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI