如何讓 height:100%起作用

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

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

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

那為什么 height:100%; 不起作用
  • 當(dāng)設(shè)計(jì)一個(gè)頁面時(shí),你在里面放置了一個(gè)div元素掸冤,你希望它占滿整個(gè)窗口高度厘托,最自然的做法,你會(huì)給這個(gè)div添加height: 100%;的css屬性稿湿。然而铅匹,如果你要是設(shè)置寬度為width: 100%;,那這個(gè)元素的寬度會(huì)立刻擴(kuò)展到窗口的整個(gè)橫向?qū)挾冉忍佟8叨纫矔?huì)這樣嗎包斑?

錯(cuò)流礁。

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

  • 但是高度的計(jì)算方式完全不一樣萌抵。事實(shí)上找御,瀏覽器根本就不計(jì)算內(nèi)容的高度,除非內(nèi)容超出了視窗范圍(導(dǎo)致滾動(dòng)條出現(xiàn))绍填■Γ或者你給整個(gè)頁面設(shè)置一個(gè)絕對(duì)高度。否則讨永,瀏覽器就會(huì)簡單的讓內(nèi)容往下堆砌滔驶,頁面的高度根本就無需考慮。

  • 因?yàn)轫撁娌]有缺省的高度值卿闹,所以瓜浸,當(dāng)你讓一個(gè)元素的高度設(shè)定為百分比高度時(shí),無法根據(jù)獲取父元素的高度比原,也就無法計(jì)算自己的高度插佛。換句話說,父元素的高度只是一個(gè)缺省值:height: auto;量窘。當(dāng)你要求瀏覽器根據(jù)這樣一個(gè)缺省值來計(jì)算百分比高度時(shí)雇寇,只能得到undefined的結(jié)果。也就是一個(gè)null值蚌铜,瀏覽器不會(huì)對(duì)這個(gè)值有任何的反應(yīng)锨侯。

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

     <html>
       <body>
         <div style="height: 100%;">
           <p>
             想讓這個(gè)div高度為 100% 审葬。
           </p>
         </div>
       </body>
     </html>
    
  • 現(xiàn)在你給了這個(gè)div的高度為100%深滚,它有兩個(gè)父元素<body>和<html>。為了讓你的div的百分比高度能起作用涣觉,你必須設(shè)定<body>和<html>的高度痴荐。

     <html style="height: 100%;">
       <body style="height: 100%;">
         <div style="height: 100%;">
           <p>
             這樣這個(gè)div的高度就會(huì)100%了
           </p>
         </div>
       </body>
     </html>
    
  • 在使用height: 100%;時(shí)需要注意的一些事項(xiàng)
    1、Margins 和 padding 會(huì)讓你的頁面出現(xiàn)滾動(dòng)條官册,也許這是你不希望的生兆。
    2、如果你的元素實(shí)際高度大于你設(shè)定的百分比高度膝宁,那元素的高度會(huì)自動(dòng)擴(kuò)展鸦难。

轉(zhuǎn)載至

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末根吁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子合蔽,更是在濱河造成了極大的恐慌击敌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辈末,死亡現(xiàn)場離奇詭異愚争,居然都是意外死亡映皆,警方通過查閱死者的電腦和手機(jī)挤聘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捅彻,“玉大人组去,你說我怎么就攤上這事〔窖停” “怎么了从隆?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缭裆。 經(jīng)常有香客問我键闺,道長,這世上最難降的妖魔是什么澈驼? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任辛燥,我火速辦了婚禮,結(jié)果婚禮上缝其,老公的妹妹穿的比我還像新娘挎塌。我一直安慰自己,他們只是感情好内边,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布榴都。 她就那樣靜靜地躺著,像睡著了一般漠其。 火紅的嫁衣襯著肌膚如雪嘴高。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天和屎,我揣著相機(jī)與錄音阳惹,去河邊找鬼。 笑死眶俩,一個(gè)胖子當(dāng)著我的面吹牛莹汤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播颠印,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼纲岭,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼抹竹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起止潮,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤窃判,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后喇闸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袄琳,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年燃乍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了唆樊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刻蟹,死狀恐怖逗旁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舆瘪,我是刑警寧澤片效,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站英古,受9級(jí)特大地震影響淀衣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜召调,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一膨桥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧某残,春花似錦国撵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至澳厢,卻和暖如春环础,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剩拢。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工线得, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徐伐。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓贯钩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子角雷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355