2

背景のグラデーションがあり、見栄えが良いのですが、問題が1つあります。短いページでは背景が長すぎて不要なスクロールバーが発生し、長いページではページ全体を塗りつぶすのではなく、背景が繰り返され始めます。

これが私が使用している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ソリューションが機能する場合は、これを機能させるためにそれを試してみます。

4

3 に答える 3

2

この問題の原因は、「スティッキー フッター」を実装しようとしたことです。すべての高さの要件 (IE:min-heightおよびheight) を削除すると、ブラウザーはそれに応じて問題なく調整されます。

補足として、スティッキー フッターの問題を解決するために次のコードを使用しました。

$(function() {
    var height = $(window).height() - ($("header").outerHeight() + $("footer").outerHeight() );
    $("#page-content").css("min-height",height+"px");
});
于 2012-10-04T22:23:10.573 に答える
0

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

こんにちは、以前はmin-height:100%

ライブデモ

于 2012-09-18T05:15:03.563 に答える
0

height: 100%;CSS ルールに追加すると、修正されます。

于 2012-09-18T05:15:18.313 に答える