用CSS实现给图片上色的效果

听着挺新鲜的,其实现起来很简单。让我忽发其想的是网友说到这个网页中幻灯片的效果:http://www.fullyillustrated.com/portfolio/

当你鼠标移动上去的时候图片会由黑白变成彩色的效果。刚看风的时候还以为用了js或者jquery呢。再用firebug一看就明白了:用到的只是一个简单的css sprite技术。

步骤是这样的:

1.先把你想要做的图片放到PS里面进行去色处理-“图像–调整–去色”或者“ctrl+shift+u”

2.将此图和原图片整合成上下两张的图片,如下图:

flower

3.下一步写下代码:

xhtml代码:

<div id="box"> <a href="#"> <span></span> </a> </div>

CSS代码:

a {
	float:left;
}
#box span {
	border:3px solid #ccc;
	display:block;
	width:170px;
	height:120px;
	background:url(flower.jpg) center top no-repeat;
}
#box a:hover span {
	background:url(flower.jpg) center -120px no-repeat;
}

查看效果及代码

用CSS实现给图片上色的效果》上有 46 条评论

  1. 你博客的样式有点太亮了吧,看的多了,有点累了~
    顺便问下,如果页面中存在STYLE会影响W3C的标准么。或有其他什么影响么

    • @张楠 嗯。正打算换主题呢,页面中的style标签只能放在head标签里面,如果实在想在页面上设置样式的话就用内联模式表也是可以的。

  2. 这样简单的background position还可以操作,像淘宝的用一张整个的大背景,得计算的多精确。想想就麻烦,哎

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。