web-dev-qa-db-ja.com

私のCSSグラデーションは伸びず、繰り返されます

body{
padding:0;
margin:0;
font:normal 12px/16px Arial, Helvetica, sans-serif;
color:#383634;
background-image: -webkit-gradient(
linear,
left top,
left bottom,
color-stop(0.18, rgb(74,12,107)),
color-stop(0.87, rgb(102,153,102))
);
background: -moz-linear-gradient(top, #4a0c6b 0%, #669966 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4a0c6b),         color-stop(100%,#669966)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #4a0c6b 0%,#669966 100%); /*    Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #4a0c6b 0%,#669966 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #4a0c6b 0%,#669966 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a0c6b', endColorstr='#669966',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #4a0c6b 0%,#669966 100%); /* W3C */

それはほとんど下がって、それから繰り返されます

22
Mike

元のコード: http://jsfiddle.net/ecKR4/7/

グラデーションでページの高さ全体を拡大する場合:

html {
    min-height: 100%
}

コンテンツが少ない: http://jsfiddle.net/ecKR4/1/
コンテンツが多い: http://jsfiddle.net/ecKR4/2/

グラデーションを固定してビューポートと同じ高さにしたい場合:

html {
    height: 100%
}
body {
    background-attachment: fixed
}

コンテンツが少ない: http://jsfiddle.net/ecKR4/3/
コンテンツが多い: http://jsfiddle.net/ecKR4/4/

グラデーションをビューポートと同じくらい高くしたい場合は、背景色:

html {
    height: 100%
}
body {
    background-repeat: no-repeat;
    background-color: #669966; /* ending colour of gradient */
}

コンテンツが少ない: http://jsfiddle.net/ecKR4/5/
コンテンツが多い: http://jsfiddle.net/ecKR4/6/

54
thirtydot