CSS中比較height:100%和height:inherit的不同點

來源:互聯網
上載者:User

inherit是個好東西,不僅節約代碼,尤其與background之流打交道;而且還利於維護。

不過,如果想要繼承background的圖片,不能這樣縮寫,會顯得很天真:

background: #fff inherit left top;

可以這樣子:

background-image: inherit;

height:100%和height:inherit的異同

1. 相容性差異
height:100% IE6+ √
height:inherit IE8+ √

2. 大多數情況作用是一樣的
除去相容性,大多數情況下,兩者作用是一樣的,甚至都很難想出不一樣的理由。

① 父容器height: auto,無論height:100%或者height:inherit表現都是auto.
② 父容器定高height: 100px,無論height:100%或者height:inherit表現都是100px高.

難道沒有差異嗎?難道沒有使用height:inherit的理由嗎?當然有,記住,江湖上所發生的一切事情,都絕非偶然!

3. 絕對位置大不同
當子項目為絕對位置元素,同時,父容器的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如下:

 代碼如下 複製代碼
<div class="outer"><div class="height-100"></div></div>
<div class="outer"><div class="height-inherit"></div></div>



結果,height:100%的衝破雲霄,哦,不對,是深入地區地獄:


而height:inherit卻完美高度自適應沒有定位特性的父級元素:


對絕對位置有所瞭解的應該都知道原因,我就不解釋了。

總之,這裡,height:inherit的強大好用可見一斑。回頭,容器高度變化了,裡面的絕對位置元素依然高度自適應。這是很贊的特性,因為如果頁面很複雜,避免使用position: relative會讓你少去很多z-index混亂層級覆蓋的麻煩。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.