最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

CSS:height:100%失效原因,如何讓它生效_html/css_WEB-ITnose

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 16:19:34
文檔

CSS:height:100%失效原因,如何讓它生效_html/css_WEB-ITnose

CSS:height:100%失效原因,如何讓它生效_html/css_WEB-ITnose:當你設(shè)置一個頁面元素的高度(height)為100%時,期望這樣元素能撐滿整個瀏覽器窗口的高度,但大多數(shù)情況下,這樣的做法沒有任何效果。你知道為什么height:100%不起作用嗎? 按常理,當我們用CSS的height屬性定義一個元素的高度時,這個元素應(yīng)該按照設(shè)定在瀏覽
推薦度:
導(dǎo)讀CSS:height:100%失效原因,如何讓它生效_html/css_WEB-ITnose:當你設(shè)置一個頁面元素的高度(height)為100%時,期望這樣元素能撐滿整個瀏覽器窗口的高度,但大多數(shù)情況下,這樣的做法沒有任何效果。你知道為什么height:100%不起作用嗎? 按常理,當我們用CSS的height屬性定義一個元素的高度時,這個元素應(yīng)該按照設(shè)定在瀏覽

當你設(shè)置一個頁面元素的高度(height)為100%時,期望這樣元素能撐滿整個瀏覽器窗口的高度,但大多數(shù)情況下,這樣的做法沒有任何效果。你知道為什么height:100%不起作用嗎?

按常理,當我們用CSS的height屬性定義一個元素的高度時,這個元素應(yīng)該按照設(shè)定在瀏覽器的縱向空間里擴展相應(yīng)的空間距離。例如,如果一個div元素的CSS是height: 100px;,那它應(yīng)該在頁面的豎向空間里占滿100px的高度。

而跟W3C的規(guī)范,百分比的高度在設(shè)定時需要根據(jù)這個元素的父元素容器的高度。所以,如果你把一個div的高度設(shè)定為height: 50%;,而它的父元素的高度是100px,那么,這個div的高度應(yīng)該是50px。

那為什么 height:100%; 不起作用

當設(shè)計一個頁面時,你在里面放置了一個div元素,你希望它占滿整個窗口高度,最自然的做法,你會給這個div添加height: 100%;的css屬性。然而,如果你要是設(shè)置寬度為width: 100%;,那這個元素的寬度會立刻擴展到窗口的整個橫向?qū)挾取8叨纫矔@樣嗎?

錯。

為了理解為什么不會,你需要理解瀏覽器是如何計算高度和寬度的。Web瀏覽器在計算有效寬度時會考慮瀏覽器窗口的打開寬度。如果你不給寬度設(shè)定任何缺省值,那瀏覽器會自動將頁面內(nèi)容平鋪填滿整個橫向?qū)挾取?/p>

但是高度的計算方式完全不一樣。事實上,瀏覽器根本就不計算內(nèi)容的高度,除非內(nèi)容超出了視窗范圍(導(dǎo)致滾動條出現(xiàn))。或者你給整個頁面設(shè)置一個絕對高度。否則,瀏覽器就會簡單的讓內(nèi)容往下堆砌,頁面的高度根本就無需考慮。

因為頁面并沒有缺省的高度值,所以,當你讓一個元素的高度設(shè)定為百分比高度時,無法根據(jù)獲取父元素的高度,也就無法計算自己的高度。換句話說,父元素的高度只是一個缺省值:height: auto;。當你要求瀏覽器根據(jù)這樣一個缺省值來計算百分比高度時,只能得到undefined的結(jié)果。也就是一個null值,瀏覽器不會對這個值有任何的反應(yīng)。

觀看演示

上面的演示例子是父元素沒有設(shè)定固定高度,于是子元素的高度height: 100% 也不會起作用。你可以根據(jù)父元素的背景色來判斷子元素的高度不是100%。

那么,如果想讓一個元素的百分比高度height: 100%;起作用,你需要給這個元素的所有父元素的高度設(shè)定一個有效值。換句話說,你需要這樣做:

  

想讓這個div高度為 100% 。

現(xiàn)在你給了這個div的高度為100%,它有兩個父元素和。為了讓你的div的百分比高度能起作用,你必須設(shè)定和的高度。

  

這樣這個div的高度就會100%了

觀看演示

從這個演示中你可以看出,height: 100%;起作用了。

在使用height: 100%;時需要注意的一些事項

1、Margins 和 padding 會讓你的頁面出現(xiàn)滾動條,也許這是你不希望的。

2、如果你的元素實際高度大于你設(shè)定的百分比高度,那元素的高度會自動擴展。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

CSS:height:100%失效原因,如何讓它生效_html/css_WEB-ITnose

CSS:height:100%失效原因,如何讓它生效_html/css_WEB-ITnose:當你設(shè)置一個頁面元素的高度(height)為100%時,期望這樣元素能撐滿整個瀏覽器窗口的高度,但大多數(shù)情況下,這樣的做法沒有任何效果。你知道為什么height:100%不起作用嗎? 按常理,當我們用CSS的height屬性定義一個元素的高度時,這個元素應(yīng)該按照設(shè)定在瀏覽
推薦度:
標簽: 100% 生效 html
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top