CSS3 Filter

需要说明的是,这是一篇译文,原文地址 .

Image Adjustment with CSS Filter Effects


调整图片的亮度和对比度,或者将图片变成灰色或棕褐色是一种在图片编辑软件中常见的行为, 比如说 Photoshop. 但是现在已经可以利用 CSS 给网页上的图片添加相同的特性。

而这种能力来源于 Filter Effects, 实际上这是一种还处在草案阶段的特性 。 但是,webkit 浏览器似乎要起头去实现这么一个特性。

所以,让我们来尝试一下而且我将使用一张图片去展示效果。

The Effects


使用这些效果其实是非常简单的,看下面给出的一段代码,目的是将图片变成灰色。

    img {
        -webkit-filter: grayscale(100%);
    }
demo01.png

下面是为了将图片转换成棕褐色

    img {
        -webkit-filter: sepia(100%);
    }
demo02.png

grayscalesepia 的值都是以百分比的格式表示的,100% 是最大值,如果使用的是 0% ,那么图片将保持不变,而且如果不明确指定它们的值,它们会将 100% 视为默认值。

为图像设置亮度是十分有必要的,而且我们确实可以通过 brightness 去做到,就像下面这样。

    img {
        -webkit-filter: brightness(50%);
    }
demo03.png

brightness 的行为和之前介绍的 sepiagrayscale 有所不同,因为 sepia, grayscale 将值设置为 0%, 将会保持原图不变,而 brightness 以 100% 为基准点,也就是说 100% 以下,图片会变暗,而 100% 以上图片会变暗,而且值可以为负,不过这个时候只是黑色一片,完全看不出图片内容了。

而且我们可以用这种方式调整图片的对比度。

    img {
        -webkit-filter: contrast(200%);
    }
demo04.png

同样,对比度的设置和亮度的设置是类似的,以 100% 为基准点,100% 以下为低对比,100% 以上为高对比度。

另外,我们还可以在一行声明中组合使用多个效果,就像下面这个例子。我们设置图片的灰度,与此同时提高图片 50% 的对比度。

    img {
        -webkit-filter: grayscale(100%) contrast(150%);
    }
demo05.png

通过结合 filterCSS3 中的 transition 我们可以做出一些优美的 hover 效果。

    img:hover {
      -webkit-filter: grayscale(0%);
    }
    img:hover {
      -webkit-filter: sepia(0%); 
    }
    img:hover {
      -webkit-filter: brightness(0%); 
    }
    img:hover {
      -webkit-filter: contrast(100%); 
    }

最后,还有一个属性我们可以尝试,那就是高斯模糊,通过它我们可以将一个目标元素变得模糊。

        img {
            -webkit-filter: blur(5px);
        }
demo06.png

就像在 Photoshop 中,模糊度的值以像素半径表示,而且如果你不明确指定这个值,它默认为 0, 图片将保持原样。

Final Thought


其实还有一些其它的效果,比如说 hue-rotate, invertsaturate, 但是我认为它们在真正的网页情景中很少使用。因此,我们的介绍将只包含上述的四种效果。

尽管我们这篇文章所介绍的图片都是应用在图片上的,但在实际上这些属性可以应用在 DOM 中的任何元素上。


在翻译之前,我去查看了一下 Filter 在各个浏览器中的支持情况,发现这一属性已经被各大主流浏览器支持,所以我们在使用属性的时候,最好像下面这样书写。

      -webkit-filter: grayscale(0%);        
              filter: grayscale(0%);

而且原作者在介绍 brightness 的过程中出现了错误,我已经在文章中改正过来(也可能作者在写这篇文章的时候那么使用是正确的,不过后来不适用了)。

这篇翻译文我也不是逐字逐句的翻译,而是将其大概意思翻译出来了,我想这样可能更加容易理解。

Ending..., thanks.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容