3 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個贊
的修復(fù)程序是肯定的,垂直填充和余量是相對于寬度,但top
并bottom
不是。
所以只需將div放在另一個內(nèi)部,并在內(nèi)部div中使用類似的東西top:50%
(position
如果它仍然不起作用,請記住問題)

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個贊
以下是模擬所需行為的兩個選項(xiàng)。不是一般解決方案,但在某些情況下可能有所幫助。這里的垂直間距是根據(jù)外部元素的大小而不是其父元素計(jì)算的,但是這個大小本身可以相對于父元素,這樣間距也是相對的。
<div id="outer">
<div id="inner">
content
</div>
</div>
第一種選擇:使用偽元素,這里垂直和水平間距都相對于外部。演示
#outer::before, #outer::after {
display: block;
content: "";
height: 10%;
}
#inner {
height: 80%;
margin-left: 10%;
margin-right: 10%;
}
將水平間距移動到外部元素使其相對于外部的父級。演示
#outer {
padding-left: 10%;
padding-right: 10%;
}
第二種選擇:使用絕對定位。演示
#outer {
position: relative;
}
#inner {
position: absolute;
left: 10%;
right: 10%;
top: 10%;
bottom: 10%;
}

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個贊
回答一個稍微不同的問題:您可以使用vh單位將元素填充到視口的中心:
.centerme {
margin-top: 50vh;
background: red;
}
<div class="centerme">middle</div>
添加回答
舉報(bào)