DIV撐滿父容器剩餘高度

2021-08-17 09:07:39 字數 1331 閱讀 8652



頁面框架關係如下圖:

如果使「使用者組織」任務區的頁面內部的div能夠自動撐滿顯示區高度,需要將「外層div」的高度設為100%,height:100%,但是這個100%是相對於父級元素的高度而定的,如果父級元素的高度不確定,這個100%是不起作用的,也就是說,外層div的所有父級頁面的高度都要設定,有值,才能起作用,所以「外層div」所在頁面的html和body要設定高度,可以用百分比設定,

html,body

body

對頁面的html和body必需新增以上兩個樣式,再將外層div的高度設為100%,並且禁止滾動條:

.org_row

org_row為外層div的class

以上情況是針對body沒有margin的情況,如果body有margin,比如實際專案中,body的上左右,有10個畫素的margin,則會出現上下滾動條,發現滾動的就是10畫素,實在沒有辦法,將body的margin改為pading:

.childrenbodypadding

則滾動條消失。

對於上圖中左側部分,外層div中套了乙個「第二級內嵌div」,其中上部有乙個headdiv,下部是內容,下部的內容超出了螢幕,需要在內容部分的div出現滾動條,上部的head高度是確定的,42畫素,下部需要根據父容器的高度,減去42畫素,如果將「內容div」的高度設為100%,則「內容div」的高度也變成了「內嵌div」的高度(父容器的高度),最後的做法是:

在父容器(第二級內嵌div)加上樣式:

style="

height

:100%

; overflow

:hidden

;box-sizing

:border-box

;padding

:73px 0 0;"

關鍵是box-sizing:bordere-box和padding:73px 0 0;

使父容器有73畫素的padding內邊距,為head留出位置(雖然head的高度是42,但是內容div的padding和border加起來有31畫素,所以是73px)

然後在head的div上加上樣式:

margin-top

:-73px

;將head div向上挪73畫素,挪到父容器的padding內邊距中。

最後,讓內容div的高度為100%即可,這時的內容div高度100%即是父容器高度減去headdiv的高度。

讓div高度撐滿螢幕的方法

在body只有乙個div的時候,可以通過這樣的方式讓div撐滿整個螢幕。1.給div設定定位。複習一下 css中position有五種屬性 static 預設值,沒有定位 absolute 絕對定位,相對於父級元素進行定位 relative 相對定位 fixed 固定定位,相對於瀏覽器視窗進行定位 ...

子元素div高度不確定時父div高度如何自適應

點評 每當進行頁面布局時,我們都有這樣的需求,就是當子元素div高度不確定時父div自適應高度,本文整理的多種方法可以解決此問題,感興趣的朋友可以參考下 在最外層div加以下樣式 height 100 overflow hidden 其它方法 div即父容器不根據內容自適應高度,我們看下面的 複製 ...

Div即父容器不根據內容自適應高度的解決方法

div即父容器不根據內容自適應高度的解決方法 div即父 容器不根據內容自適應高度,我們看下面的 當content內容多時,即使main設定了高度100 或auto。在不同瀏覽器下還是不能完好的自動伸展。內容的高度比較高了,但容器main的高 度還是不能撐開。我們可以通過三種方法來解決這個問題。一,...