2012-09-18 108 views
2

我有一個背景漸變,它看起來不錯,但我有一個問題,在短頁面背景太長,導致不必要的滾動條和長頁面背景將開始重複而不是延伸來填充整個頁面。背景漸變 - 填充頁面沒有滾動條或重複

這裏是我使用的CSS:

html, body{ 
font-size:1em; 
font-family: "ff-dagny-web-pro", Helvetica, Arial, sans-serif; 
line-height:1.438em; 
color:#222; 
margin: 0; 
padding: 0; 
text-align: justify; 
background: rgb(0,0,0); /* Old browsers */ 
background: -moz-linear-gradient(top, rgba(0,0,0,1) 25%, rgba(209,209,209,1) 100%); /* FF3.6+ */ 
background: -webkit-gradient(linear, left top, left bottom, color-stop(25%,rgba(0,0,0,1)), color-stop(100%,rgba(209,209,209,1))); /* Chrome,Safari4+ */ 
background: -webkit-linear-gradient(top, rgba(0,0,0,1) 25%,rgba(209,209,209,1) 100%); /* Chrome10+,Safari5.1+ */ 
background: -o-linear-gradient(top, rgba(0,0,0,1) 25%,rgba(209,209,209,1) 100%); /* Opera 11.10+ */ 
background: -ms-linear-gradient(top, rgba(0,0,0,1) 25%,rgba(209,209,209,1) 100%); /* IE10+ */ 
background: linear-gradient(to bottom, rgba(0,0,0,1) 25%,rgba(209,209,209,1) 100%); /* W3C */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#d1d1d1',GradientType=0); /* IE6-9 */ 

} 

當我添加height: 100%;它會導致短期的網頁滾動條。我試圖通過使用overflow: hidden;刪除它們,但導致長頁面上的任何內容不顯示!另外,如果我不使用height: 100%;,那麼漸變只填充大約一半的頁面並重復。

我有點困惑,該怎麼做或嘗試解決這個問題。

注意:雖然我更喜歡CSS解決方案,但如果有解決方案(使用jQuery)的JavaScript解決方案,我會願意嘗試這個工作。

回答

2

導致此問題的原因是我嘗試實施「粘滯頁腳」。我刪除了所有高度要求(IE:min-heightheight),並且瀏覽器相應地進行調整而沒有問題。

作爲一個側面說明,我用下面的代碼來解決我的粘頁腳問題:

$(function() { 
    var height = $(window).height() - ($("header").outerHeight() + $("footer").outerHeight()); 
    $("#page-content").css("min-height",height+"px"); 
}); 
0

..........................

嗨現在用於min-height:100%

Live demo

+0

但高度使上,我寧願避短頁面滾動條。 – L84

+0

@Lynda比你可以習慣於像這樣的特定div http://tinkerbin.com/u8Z8QOH0 –

+1

@Lynda我認爲你看起來像這樣: - http://tinkerbin.com/HexPYkx7 –

0

height: 100%;添加到您的CSS規則中,它將被修復。

+0

但是身高會導致我希望避免在簡短頁面上滾動條。 – L84

+1

你的''永遠不會比瀏覽器的內部高度短,你能告訴我一個代碼的例子,它會導致滾動條嗎? – Night2