Gradient full scale background CSS

余生颓废 提交于 2019-12-24 19:24:09

问题


Full page CSS3 Gradient Backgrounds:

Alright so I am trying to make my background be a gradient that is always 100% width and height, and it works, except for the fact that nothing will show up on top of it. Here is the code I currently have.

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>

DEMO:

http://mysteriousorigin.com/missing.html


回答1:


It's generally considered poor practice to have empty elements like your #bodyBg. Just put the background gradient on the html (or body) element and get rid of the useless 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;
}



回答2:


Use the background-image CSS property instead of using the image tag. I've made a quick jsfiddle to show what I mean. I know it's not exactly what you're going for but you should be able to change it for your use pretty quickly. If not, let me know.



来源:https://stackoverflow.com/questions/14388678/gradient-full-scale-background-css

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!