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