[css] css的height:100%和height:inherit之间有什么区别呢?
[css] css的height:100%和height:inherit之間有什么區(qū)別呢?
上周在微博上無(wú)節(jié)操吐槽了下inherit的段子,沒(méi)想到回聲還不少:
微博inherit無(wú)節(jié)操段子
不過(guò)inherit確實(shí)是個(gè)好東西,不僅節(jié)約代碼,尤其與background之流打交道;而且還利于維護(hù)。
注意,如果想要繼承background的圖片,不能這樣縮寫(xiě),會(huì)顯得很天真:
background: #fff inherit left top;
可以這樣子:
background-image: inherit;
二、height:100%和height:inherit的異同
兼容性差異
height:100% IE6+ √
height:inherit IE8+ √
大多數(shù)情況作用是一樣的
除去兼容性,大多數(shù)情況下,兩者作用是一樣的,甚至都很難想出不一樣的理由。
① 父容器height: auto,無(wú)論height:100%或者h(yuǎn)eight:inherit表現(xiàn)都是auto.
② 父容器定高h(yuǎn)eight: 100px,無(wú)論height:100%或者h(yuǎn)eight:inherit表現(xiàn)都是100px高.
難道沒(méi)有差異嗎?難道沒(méi)有使用height:inherit的理由嗎?當(dāng)然有,記住,江湖上所發(fā)生的一切事情,都絕非偶然!
當(dāng)子元素為絕對(duì)定位元素,同時(shí),父容器的position值為static的時(shí)候,呵呵呵,height:100%和height:inherit的差異就可以明顯體現(xiàn)出來(lái)了!
呵呵
您可以狠狠地點(diǎn)擊這里:height:100%和height:inherit差異demo
CSS如下:
.outer {
display: inline-block;
height: 200px; width: 40%;
border: 5px solid #cd0000;
}
.height-100 {
position: absolute;
height: 100%; width: 200px;
background-color: #beceeb;
}
.height-inherit {
position: absolute;
height: inherit; width: 200px;
background-color: #beceeb;
}
HTML如下:
而height:inherit卻完美高度自適應(yīng)沒(méi)有定位特性的父級(jí)元素:
絕對(duì)定位元素高度自適應(yīng)與普通元素
對(duì)絕對(duì)定位有所了解的應(yīng)該都知道原因,我就不解釋了。
總之,這里,height:inherit的強(qiáng)大好用可見(jiàn)一斑。回頭,容器高度變化了,里面的絕對(duì)定位元素依然高度自適應(yīng)。這是很贊的特性,因?yàn)槿绻?yè)面很復(fù)雜,避免使用position: relative會(huì)讓你少去很多z-index混亂層級(jí)覆蓋的麻煩。
個(gè)人簡(jiǎn)介
我是歌謠,歡迎和大家一起交流前后端知識(shí)。放棄很容易,
但堅(jiān)持一定很酷。歡迎大家一起討論
主目錄
與歌謠一起通關(guān)前端面試題
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的[css] css的height:100%和height:inherit之间有什么区别呢?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win11改成win7界面的设置方法
- 下一篇: python的unicode编码表_Py