CSS3 滤镜学习
A CSS filter is a coding technique used to hide or show CSS markup depending on the browser, version number, or capabilities. Browsers have different interpretations of CSS behavior and different levels of support for the W3C standards. CSS filters are sometimes used to achieve consistent layout appearance in multiple browsers that do not have compatible rendering.
大致的意思就是CSS的滤镜的存在就是为了解决不同浏览器能够显示一致的网页效果的技术。在最大程度上保证了兼容性和一致性。关于CSS滤镜的详细的介绍,大家可以参照维基百科https://en.wikipedia.org/wiki/CSS_filter
单纯的讲解关于滤镜的知识会显得有些无趣,那么我们不妨从代码着手,来个top-down的学习方式,来体验一把CSS3滤镜的神奇魅力。
html篇
首先来贴出模板的HTML代码,为了下面的演示方便。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>前端</title>
<link rel="stylesheet" type="text/css" href="attachment.css">
</head>
<body>
<br>
<img id="img" src="http://avatar.csdn.net/0/8/F/1_marksinoberg.jpg"/>
<img id="img_temp" class="imgfilter" src="http://avatar.csdn.net/0/8/F/1_marksinoberg.jpg"/>
</body>
</html>
明眼的你也看到了博主这里引用了一个外部的css样式文件,这样可以使得代码的整洁性得到些许的提高,后续维护起来也是比较的方便,建议大家以后也尽量这么干,争取做到样式文件和html代码的分离。
样式篇
attachment.css文件其实内容很少,只涉及到了博主今天要分享的关于滤镜效果的很简短的代码。大致的“框架”如下。
.imgfilter {
-webkit-filter:/*针对于chrome,Safari厂商*/
filter:/*标准的css滤镜写法*/
}
由于目前而言,CSS3还没有被真正的标准化,所以不同厂商之间对其的支持还有点不太一致,但是对于将来而言都将不是问题。博主这里为了更加的普适,就是用标准的filter的方式了。
grayscale
灰度化。见名知意。图片变灰咯。默认值为1,实现的效果就是给图片加上一层灰色状的效果。
从0-1的过程为灰度逐渐增强的过程。
filter: grayscale(0.5);
实现的效果如下:
sepia
老照片效果。默认的参数为1,也就是会显示老照片的效果。这点可以应用到图片处理的应用上面。
filter: sepia(0.7);
实现的效果:
saturate
饱和度。给人的感觉就是图片的“浓度”(这里断章取义的使用了这个名词)问题,我们的直观感受就是图片中颜色的深度以及彩度的变化。
filter: saturate(0.3);
实现的效果:
hue-rotate
色相旋转。默认为0deg,效果即为原图效果。需要注意的是一下情况。
- 0deg == 360deg
- 180deg == -180deg
filter: hue-rotate(180deg);
实现的效果:
invert
反相。想必大家都见过或者听闻过早期的照片的底片吧。类似地,反相的效果就是翻转原图的像素,实现一个色度相反的效果。
我个人感觉:
- 默认为10%0,效果为反相;
- 0-0.5之间的相当于加上了一层灰影,较适合做蒙皮特效,比如hover的时候给照片加上灰影;
- 0.5的时候为全灰,无法正常显示图片,可以作为刮刮乐的填色效果
- 0.5-1为反相显现阶段,逐渐加深的效果。
filter: invert(0.75);
实现的效果:
opactiy
一想到透明度,大家首先可能想到的就是玻璃吧。是的,附加了透明度效果的图片可以被赋予很多奇幻的特效。
默认为1,不透明效果。
0-1为不透明度渐现的过程,0 的时候图片全透明,不可见。
filter: opacity(0.56);
实现的效果:
brightness
亮度。一个很神奇的效果。你是否想到了太阳东升西落,大地由白入黑的一天呢?是的应用了亮度的话,我们其实是可以做出这样的效果的。
默认为100%,效果不变。0的时候图片全黑。
0-1的过程为亮度逐渐增强的过程。
filter: brightness(0);
实现的效果:
contrast
对比度。人与人之间可以相互的对比。图片同样是如此。对比度给人的明显的感觉就是图片色彩的艳丽程度,值越大给人的感觉越是浮夸。但是这并不代表其用处不大。在一些类似于油画作品的展示上,还是很有效果滴。
filter: contrast(0.7);
实现的效果:
blur
模糊度。说实话,一提到模糊我们就会想到毛玻璃不是。确实是这样的一个效果。前提是运用得当的话。
默认为0px,效果为原图。0-infinite的过程为模糊程度渐强的过程,注意是以px为单位进行的变换哦。
filter: blur(10px);
实现的效果:
drop-shadow
shadow给人的印象就是加个阴影什么的了吧。事实上还真的就是这样。类似于box-shadow效果,为图片添加阴影效果,可以根据颜色的拓展实现图片的立体效果。
filter: drop-shadow(1px 1px 2px #6e6e6e);
实现的效果:
综合小效果
最后给大家来个综合一点的小滤镜合集吧。
filter: drop-shadow(2px 2px 3px #6e6e6e) blur(1px) opacity(0.3) brightness(1.2);
再加上一个图片hover的样式效果。
.img:hover {
transform: scale(2.8);
animation-duration: 2s;
border-radius: 28px;
box-shadow: 2px 2px 2px #6e6e6e;
}
最终的效果。
总结
回顾一下,本文主要是介绍了相关于CSS3的滤镜特效的实例,附带了一些效果图。
单个的效果起到的作用不大,整合起来写一个自己的滤镜样式小工具,真正的运用到实际的项目开发中,才是目的。
CSS3 滤镜学习的更多相关文章
- CSS3滤镜
今天在办公室亲眼目睹了同事使用CSS3滤镜为一张漂亮的照片轮廓加上了阴影,瞬间亮瞎了我的的双眼,见笑了. 所以也迅速尝试使用CSS3滤镜让最新出炉的MUI LOGO也性感一把,试图来愉悦一下大家的双眼 ...
- CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解
一.前言 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 F ...
- Filter Effects - 使用 CSS3 滤镜处理图片
CSS3 Filter(滤镜)属性提供了提供模糊和改变元素颜色的功能.CSS3 Fitler 常用于调整图像的渲染.背景或边框显示效果.这里给大家分享的这个网站,大家可以体验下 CSS3 对图片的处理 ...
- tiltShift.js - CSS3 滤镜实现移轴镜头效果
tiltShift.js 是一款很棒的 jQuery 插件,使用 CSS3 图片滤镜来实现照片的移轴镜头效果.使用非常简单,使用 data 属性配置参数.温馨提示:为保证最佳的效果,请在 IE10+. ...
- 使用CSS3滤镜让图片反转颜色
CSS提供的滤镜也是一大亮点,我一直痴迷其中,有些滤镜的效果很有用,可是有些的滤镜效果可能只是为了玩玩儿,CSS常见的滤镜有这些:grayscale, blur, sepia,所有常见的过滤器.但是如 ...
- CSS3魔法堂:CSS3滤镜及Canvas、SVG和IE滤镜替代方案详解[转]
一.前言 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后与Chrome合作推出CSS3的Filter特性,因此当前仅Webkit内核的浏览器支持CSS3 F ...
- 【CSS3】CSS3 滤镜实现
作者:^_^肥仔John 来源:CSS3魔法堂:CSS3滤镜及Canvas.SVG和IE滤镜替代方案详解 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后 ...
- HTMl5/CSS3/Javascript 学习推荐资源
HTMl5/CSS3/Javascript 学习推荐资源 前端的定义应该是数据内容的展示,在国内大家都觉得前端只是HTML+CSS+Javascript,但是实际上与展示有关的都是前端,所以Ruby/ ...
- css3 3d学习心得
css3 3d学习心得 卡片反转 魔方 banner图 首先我们要学习好css3 3d一定要有一定的立体感 通过这个图片应该清楚的了解到了x轴 y轴 z轴是什么概念了. 首先先给大家看一个小例子: 卡 ...
随机推荐
- 超级好用的前端开发测试Chrome插件-基于REST的Web服务客户端
基于REST的Web服务客户端是一款功能强大的谷歌浏览器插件,使用基于REST的Web服务客户端(模拟REST客户端)可以让用户使用谷歌浏览器模拟REST请求来测试REST风格. 基于REST的Web ...
- 解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)
由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...
- Set 集合
[题目描述]现在给你一些连续的整数,它们是从 A 到 B 的整数.一开始每个整数都属于各自的集合,然后你需要进行如下操作:每次选择两个属于不同集合的整数,如果这两个整数拥有大于等于 P 的公共质因数, ...
- [HNOI2011]数学作业
题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 N 和 M,要求计算 Concatenate (1 .. N) Mod M 的值,其中 Concatenat ...
- 洛谷P2144 [FJOI2007]轮状病毒
可以用Matrix-Tree定理,然而被卡精度 #include<cstdio> #include<cstdlib> #include<algorithm> #in ...
- [UOJ UNR#1]奇怪的线段树
来自FallDream的博客,未经允许,请勿转载, 谢谢. 原题可以到UOJ看,传送门 如果存在一个点是白的,却有儿子是黑的,显然无解. 不然的话,只要所有黑色的“黑叶子”节点,即没有黑色的儿子的节点 ...
- HDU 4787 GRE Words Revenge
Description Now Coach Pang is preparing for the Graduate Record Examinations as George did in 2011. ...
- Postgres中postmaster代码解析(中)
今天我们对postmaster的以下细节进行讨论: backend的启动和client的连接请求的认证 客户端取消查询时的处理 接受pg_ctl的shutdown请求进行shutdown处理 2.与前 ...
- Django Class Views
一.Base views View class django.views.generic.base.View 主要的基于类的基本视图.所有其他基于类的视图都从这个基类继承而来.它不是一个通用的视图,因 ...
- Android绘制文字时垂直居中
canvas.drawText(String text, float x, float y, Paint paint); 是Android中绘制文本的方法,其中的x代表文字绘制时在X轴的起始点,而y是 ...