过渡背景 - 图像

时间:2013-08-13 08:03:15

标签: html css background transition smooth

我是网络编程世界的新手,但我正在尝试开发一个网页,当页面从黑白版本的照片转换为正常颜色版本的照片时负荷。

在尝试了很多不同的事情之后,我能做的最好的事情就是立即出现彩色版本。我也尝试过使用JQuery,但出于某种原因,我无法正确加载页面。它保留在黑白版本,而不是过渡到正常版本。

HTML如下:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="index.css">
<link href='http://fonts.googleapis.com/css?family=Bad+Script' rel='stylesheet' type='text/css'>
<title>UCLA Wushu - Home</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
        $("html").animate({'background' : 'url(images/home_background.jpg) no-repeat center center fixed'}, 'slow');
});
</script>

</head>
<body>
<div id="container">
<div id="middleBar">
<strong>
<a href="index.html">My Portal</a>
</strong>
<div id="enter"><a href="announcements.html">Enter</a></div>
</div>
</div>
</body>
</html>

相关的CSS如下(我复制并粘贴以便将背景图像有效地拉伸到浏览器中):

@charset "UTF-8";
/* CSS Document */
html { 
  background: url(images/home_background_bw.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

如果有办法可以使用此格式从黑白平滑过渡到彩色,请告诉我。谢谢:))

3 个答案:

答案 0 :(得分:0)

我认为不使用任何饱和度插件等最简单的解决方案是在body标签之后放置带有彩色图像和零不透明度的div,然后将该div的不透明度设置为100%。

HTML的一部分:

...
<title>UCLA Wushu - Home</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
        $("#colored-bg").animate({
           opacity: 100
        }, 'slow');
});
</script>

</head>
<body>
<div id="colored-bg"></div>
<div id="container">
<div id="middleBar">
...

CSS:

#colored-bg { 
  background: url(images/home_background.jpg) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  opacity: 0;
  filter: ~"alpha(opacity=@{0})"; // IE
  // following will strecth the element from corner to corner
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

答案 1 :(得分:0)

如果我理解你想要的东西,你可以尝试使用例如

-webkit-transition: background-color 2s linear;
-moz-transition: background-color 2s linear;
-ms-transition: background-color 2s linear;
-o-transition: background-color 2s linear;
transition: background-color 2s linear;

就像那样:http://jsfiddle.net/guillaumek/CcNHv/

答案 2 :(得分:0)

检查一下。 JSFIDDLE

它使用两个图像,一个是黑色,另一个是另一种颜色。彩色图像隐藏在黑白图像背后。

然后点击黑白图像淡出以显示彩色图像。

检查出来。

HTML:

<div id="color">
    <div id="blackAndWhite"></div>
</div>

jQuery的:

$("#blackAndWhite").click(function(){
$(this).fadeOut(5000);
});

希望它有所帮助!