渐变全尺寸背景CSS

时间:2013-01-17 21:44:22

标签: css css3 background height width

整页CSS3渐变背景:

好吧所以我试图让我的背景成为一个总是100%宽度和高度的渐变,并且它起作用,除了事实上没有任何东西会出现在它上面。这是我目前的代码。

CSS:

<style type="text/css" media="screen">
#bodyBg{
    background:rgb(79,143,249) no-repeat center center fixed; /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%, rgba(79,143,249,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(1%,rgba(164,197,252,1)), color-stop(100%,rgba(79,143,249,1))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a4c5fc', endColorstr='#4f8ff9',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    min-height: 100%;
    min-width: 1024px;
    width: 100%;
    height: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index:0;
}
    @media screen and (max-width: 1024px) { /* Specific to this particular image */
#bodyBg {
    left: 50%;
    margin-left: -512px;   /* 50% */
}
#body-404 {
    position: relative;
    margin: 50px auto;
    width:880px;
    text-align:center;
    color:white;
    font-family: "Helvetica Neue", "URW Palladio L", Arial, Helvetica, "Palatino Linotype";
    z-index:99;
}
</style>

HTML:

<div id="body-404">
    <img src="img/logo.png" width="100%">
    <h1><span>Sorry the page you were looking for was not found</span></h1>
    <p>If you believe you got to this page in error, please contact us via <a href="contactus.php">this page</a>.</p><br />
    <font size="120%"><a href="index.php">Return to Homepage</font>
</div>
<div id="bodyBg"></div>

样本:

http://mysteriousorigin.com/missing.html

2 个答案:

答案 0 :(得分:5)

通常认为使用像#bodyBg这样的空元素是不好的做法。只需将背景渐变放在html(或body)元素上,摆脱无用的div:

http://jsfiddle.net/2yVRA/1/

html {
    background:rgb(79,143,249) no-repeat center center fixed; /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%, rgba(79,143,249,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(1%,rgba(164,197,252,1)), color-stop(100%,rgba(79,143,249,1))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center,  rgba(164,197,252,1) 1%,rgba(79,143,249,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a4c5fc', endColorstr='#4f8ff9',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    min-height: 100%;
}
    @media screen and (max-width: 1024px) { /* Specific to this particular image */

body-404 {
    position: relative;
    margin: 50px auto;
    width:880px;
    text-align:center;
    color:white;
    font-family: "Helvetica Neue", "URW Palladio L", Arial, Helvetica, "Palatino Linotype";
    z-index:99;
}

答案 1 :(得分:0)

使用background-image CSS属性而不是图像标记。我快速jsfiddle来表明我的意思。我知道这不是你想要的,但是你应该能够很快地改变它以供你使用。如果没有,请告诉我。