Can I fade in a background image (CSS: background-image) with jQuery?

后端 未结 9 1064
一生所求
一生所求 2020-11-29 00:52

I have a div element with text in it and a background image, which is set via the CSS property background-image. Is it possible to fade in the back

相关标签:
9条回答
  • 2020-11-29 01:02

    You can fade your background-image in various ways since Firefox 4 ...

    Your CSS:

    .box {
        background: #CCCCCC;
        -webkit-transition: background 0.5s linear;
        -moz-transition: background 0.5s linear;
        -o-transition: background 0.5s linear;
        transition: background 0.5s linear;
        }
    .box:hover {
        background: url(path/to/file.png) no-repeat #CCCCCC;
        }
    

    Your XHTML:

    <div class="box">
        Some Text …
    </div>
    

    And thats it.

    0 讨论(0)
  • 2020-11-29 01:04

    jquery:

     $("div").fadeTo(1000 , 1);
    

    css

        div {
         background: url("../images/example.jpg") no-repeat center; 
        opacity:0;
        Height:100%;
        }
    

    html

    <div></div>
    
    0 讨论(0)
  • 2020-11-29 01:06

    i have been searching for ages and finally i put everything together to find my solution. Folks say, you cannot fade-in/-out the background-image- id of the html-background. Thats definitely wrong as you can figure out by implementing the below mentioned demo

    CSS:

    html, body
    
    height: 100%;   /* ges Hoehe der Seite -> weitere Hoehenangaben werden relativ hierzu ausgewertet */
    overflow: hidden;   /*  hide scrollbars */
    opacity: 1.0;
    -webkit-transition: background 1.5s linear;
    -moz-transition: background 1.5s linear;
    -o-transition: background 1.5s linear;
    -ms-transition: background 1.5s linear;
    transition: background 1.5s linear;
    

    Changing body's background-image can now easily be done using JavaScript:

    switch (dummy)
    
    case 1:
    
    $(document.body).css({"background-image": "url("+URL_of_pic_One+")"});
    waitAWhile();
    
    case 2:
    $(document.body).css({"background-image": "url("+URL_of_pic_Two+")"});
    waitAWhile();
    
    0 讨论(0)
  • 2020-11-29 01:18

    With modern browser i prefer a much lightweight approach with a bit of Js and CSS3...

    transition: background 300ms ease-in 200ms;
    

    Look at this demo:

    http://codepen.io/nicolasbonnici/pen/gPVNbr

    0 讨论(0)
  • 2020-11-29 01:23

    So.. I was also looking into this matter and saw that most of the answers here are asking to fade the container element, not the actual background-image. Then a hack crossed my mind. We can give multiple background right? what if we overlay other color and make it transparent, like code below-

     background: url("//unsplash.it/500/400") rgb(255, 255, 255, 0.5) no-repeat center;
    

    This code actually works stand alone. Try it. We gave a bg image and asked other white color with transparency on top of the image and Voila. TIP- we can give different colors and transparencies to get different filter kind of effect.

    0 讨论(0)
  • 2020-11-29 01:24

    This is what worked for my, and its pure css


    css

    html {
        padding: 0;
        margin: 0;
        width: 100%;
        height: 100%;
      }
    
      body {
        padding: 0;
        margin: 0;
        width: 100%;
        height: 100%;
      }
    
      #bg {
        width: 100%;
        height: 100%;
        background: url('/image.jpg/') no-repeat center center fixed;
    
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    
        -webkit-animation: myfirst 5s ; /* Chrome, Safari, Opera */
        animation: myfirst 5s ;
      }
    
      /* Chrome, Safari, Opera */
      @-webkit-keyframes myfirst {
        from {opacity: 0.2;}
        to {opacity: 1;}
      }
    
      /* Standard syntax */
      @keyframes myfirst {
        from {opacity: 0.2;}
        to {opacity: 1;}
      }
    

    html

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
      <div id="bg">
        <!-- content here -->
      </div> <!-- end bg -->
    </body>
    </html>
    
    0 讨论(0)
提交回复
热议问题