2014-11-24 99 views
2

當HTML創建全屏div & CSS上主要有兩個選項:CSS全屏 - 位置絕對VS 100%的高度

使用:html, body, #myDiv {height: 100%, width: 100%}

或者:#myDiv{position: absolute; top:0px; bottom:0px; width: 100%}

有什麼一個優於另一個,還是可以互換使用?創建一個全屏幕的div

+3

我個人會使用'min-height:100%',這樣如果你的內容需要'溢出'它可以。但我在這裏分裂頭髮。 – haxxxton 2014-11-24 08:34:18

+1

當您的常規內容高於此值時,將'html'和'body'設置爲100%的固定高度很容易導致問題。 – CBroe 2014-11-24 09:35:22

回答

4

兩者產生相同的效果,即有一個完整的屏幕的div。 現在唯一的區別。是定位屬性之間現在

當你有你的CSS爲

html, body, #myDiv {height: 100%, width: 100%} 

,則默認位置屬性是靜態的,這意味着它通常會流入網頁

但是當你申請

 #myDiv{position: absolute; top:0px; bottom:0px; width: 100%} 

它與前一個略有不同。絕對位置意味着這個div相對於直接的父元素,或者如果沒有父元素,那麼它相對於頁面本身。如果您有另一個div作爲父元素,並且您在#myDiv中插入一些文本或圖像,您可以看到效果。另外,具有絕對位置的元素將從頁面上的元素流中移除,這意味着它不會影響其他元素,並且其他元素不會影響它

您可以檢查的jsfiddle鏈接,看看自己的文本的位置如何在這兩種風格http://jsfiddle.net/sidarth1989/32szd39g/

1

還有一個方法是應用height: 100%;bodyhtmldiv,然後申請position:relative全屏股利。如以下示例:

html, 
body { 
    height: 100%; 
} 

div { 
    height: 100%; 
    position: relative; 
} 

一個例子:http://jsfiddle.net/s04scj0m/1/