當你設定一個頁面元素的高度(height)為100%時,期望這樣元素能撐滿整個瀏覽器視窗的高度,但大多數情況下,這樣的做法沒有任何效果。你知道為什麼height:100%
不起作用嗎?
依照常理,當我們用CSS的height屬性定義一個元素的高度時,這個元素應該按照設定在瀏覽器的縱向空間裡擴展對應的空間距離。例如,如果一個p
元素的CSS是height:
100px;
,那它應該在頁面的垂直空間裡佔滿100px的高度。
而跟W3C的規範,百分比的高度在設定時需要根據這個元素的父元素容器的高度。所以,如果你把一個p
的高度設定為height:
50%;
,而它的父元素的高度是100px,那麼,這個p的高度應該是50px。
那為什麼height:100%; 不起作用
當設計一個頁面時,你在裡面放置了一個p
元素,你希望它佔滿整個視窗高度,最自然的做法,你會給這個p
加上height:
100%;
的css屬性。然而,如果你要是設定寬度為<a href="http://www.php.cn/wiki/835.html" target="_blank">width</a>:
100%;
,那這個元素的寬度會立刻擴展到視窗的整個橫向寬度。高度也會這樣嗎?
錯。
為了理解為什麼不會,你需要理解瀏覽器是如何計算高度和寬度的。 Web瀏覽器在計算有效寬度時會考慮瀏覽器視窗的開啟寬度。如果你不給寬度設定任何缺省值,那麼瀏覽器會自動將頁面內容平鋪填滿整個橫向寬度。
但是高度的計算方式完全不一樣。事實上,瀏覽器根本就不計算內容的高度,除非內容超出了視窗範圍(導致捲軸出現)。或者你給整個頁面設定一個絕對高度。否則,瀏覽器就會簡單的讓內容往下堆砌,頁面的高度根本就不需要考慮。
因為頁面並沒有缺省的高度值,所以,當你讓一個元素的高度設定為百分比高度時,無法根據取得父元素的高度,也就無法計算自己的高度。換句話說,父元素的高度只是一個預設值:height:
auto;
。當你要求瀏覽器根據這樣一個缺省值來計算百分比高度時,只能得到undefined
的結果。也就是一個null值,瀏覽器不會對這個值有任何的反應。
上面的示範範例是父元素沒有設定固定高度,於是子元素的高度height:
100%
也不會起作用。你可以根據父元素的背景色來判斷子元素的高度不是100%
。
那麼,如果想讓一個元素的百分比高度height:
100%;
起作用,你需要為這個元素的所有父元素的高度設定一個有效值。換句話說,你需要這樣做:
<html> <body> <p style="height: 100%;"> <p> 想让这个p高度为 100% 。 </p> </p> </body></html>
現在你給了這個p
的高度是100%,它有兩個父元素和
。為了讓你的p的百分比高度運作,你必須設定
和
的高度。
<html style="height: 100%;"> <body style="height: 100%;"> <p style="height: 100%;"> <p> 这样这个p的高度就会100%了 </p> </p> </body></html>
從這個示範你可以看出,height:
100%;
起作用了。
在使用height:
100%;
時需要注意的一些事項
1、Margins 和 padding 會讓你的頁面出現捲軸,也許這是你不希望的。
2、如果你的元素實際高度大於你設定的百分比高度,那麼元素的高度會自動擴展。
以上是CSS 如何操作height:100%;使其發揮作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

我知道,我知道:有大量的內容管理系統選項可用,而我進行了幾個測試,但實際上沒有一個是一個,y&#039;知道嗎?怪異的定價模型,艱難的自定義,有些甚至最終成為整個&

鏈接CSS文件到HTML可以通過在HTML的部分使用元素實現。 1)使用標籤鏈接本地CSS文件。 2)多個CSS文件可通過添加多個標籤實現。 3)外部CSS文件使用絕對URL鏈接,如。 4)確保正確使用文件路徑和CSS文件加載順序,優化性能可使用CSS預處理器合併文件。

選擇Flexbox還是Grid取決於佈局需求:1)Flexbox適用於一維佈局,如導航欄;2)Grid適合二維佈局,如雜誌式佈局。兩者在項目中可結合使用,提升佈局效果。

包含CSS文件的最佳方法是使用標籤在HTML的部分引入外部CSS文件。 1.使用標籤引入外部CSS文件,如。 2.對於小型調整,可以使用內聯CSS,但應謹慎使用。 3.大型項目可使用CSS預處理器如Sass或Less,通過@import導入其他CSS文件。 4.為了性能,應合併CSS文件並使用CDN,同時使用工具如CSSNano進行壓縮。

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重構自己的代碼看起來是什麼樣的?約翰·瑞亞(John Rhea)挑選了他寫的一個舊的CSS動畫,並介紹了優化它的思維過程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!