2013-12-15 60 views
3

當我爲我的網頁添加背景色漸變時,它直到我體元素中最後一個容器的末尾都能正常工作。之後,漸變停止工作,您會看到容器的末尾和空白頁的其餘部分之間的明顯對比。背景漸變無法正確顯示引導程序3

看到自己:

下載的默認網頁從layoutit.com和編輯CSS/style.css中有:

body { 
    background: #1e5799; /* Old browsers */ 
    background: -moz-linear-gradient(top, #1e5799 0%, #207cca 30%, #2989d8 50%, #7db9e8 100%); /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(30%,#207cca), color-stop(50%,#2989d8), color-stop(100%,#7db9e8)); /* Chrome,Safari4+ */ 
    background: -webkit-linear-gradient(top, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* Chrome10+,Safari5.1+ */ 
    background: -o-linear-gradient(top, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* Opera 11.10+ */ 
    background: -ms-linear-gradient(top, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* IE10+ */ 
    background: linear-gradient(to bottom, #1e5799 0%,#207cca 30%,#2989d8 50%,#7db9e8 100%); /* W3C */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0); /* IE6-9 */ 
} 

http://www.colorzilla.com/gradient-editor/生成CSS,所以我相當它確實有效,因爲它似乎是製作漸變的流行選擇,它可以在非引導頁面上工作。

有關如何讓漸變渲染整個頁面的任何想法?

編輯 查看在http://theshachar.com/so/

感謝一個例子!

+0

將其設置在'html'元素上,而不是'body'元素。我認爲這就是bootstrap的作用。 –

+0

試過了,它效果更糟。漸變在容器中不起作用,但頁面底部仍然獲得開始的漸變顏色 – mlobl

+0

有趣的 - 你有我們可以看看的例子嗎?也許是一個網站或jsFiddle的例子? –

回答

5

根據您的編輯,問題是背景未延伸到窗口高度。

爲了解決這個問題,只需添加:

html, body { 
    height:100%; 
} 

另外,您也可以使用viewport-percentage unitsvw

body { 
    height: 100vh; 
} 

您還可以設置min-height

body { 
    min-height: 100vh; 
} 
+0

謝謝,這工作!我曾嘗試添加高度:100%;之前爲body元素,但它沒有工作,但添加它爲html元素做了訣竅。爲了理解修正,爲什麼有必要在html元素中指定它而不是body?如果你沒有指定頁面的高度,這意味着由瀏覽器決定如何渲染它?謝謝 – mlobl

+0

@ user1549863在這個例子中,'body'元素是包含內容的高度。由於內容沒有擴展到頁面的底部,所以'100%'無用,因爲它已經是內容的100%。通過在'html'上設置'100%',它實質上是擴展它到窗口的高度。 –