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