zoukankan      html  css  js  c++  java
  • CSS3 黑白图片

    每当有自然灾害的时候,很多网站都是灰白的,想知道是怎么实现的嘛?

    1.IE私有滤镜的方式
    自IE4开始,IE引入了私有滤镜,可以实现透明度、模糊、阴影、发光等效果,当然也可以实现灰度图像效果。代码如下

    img {    
        filter: gray; /* just for IE6-9 */    
    } 

    IE10开始抛弃了这种私有滤镜,但是还没有提供对标准CSSfilter的支持,所以说IE10以上版本的灰度图像,仍然是一个问题。
    2.W3c CSS filter方式
    CSS3中借鉴IE私有滤镜的方式提供了标准的CSS Filter方案,里面可以支持grayscale灰度、sepia褐色、saturate饱和度、hue-rotate色相旋转、invert反色、 opacity透明度、brightness亮度、contrast对比度、blur模糊、drop-shadow阴影等十种效果。关于CSS3 Filter大家可以参照以下教程:大漠的《CSS3 Filter的十种特效》和Adobe的《CSS Filter Lab》。
    实现grayscale灰度图像的代码是这样的

    img{  
     -webkit-filter: grayscale(100%);    /* webkit内核支持程度较好 */  
        -moz-filter: grayscale(100%);    /* 其他内核现在并不支持,为了将来兼容性书写 */  
         -ms-filter: grayscale(100%);  
          -o-filter: grayscale(100%);  
             filter: grayscale(100%);    /* 标准写法 */  
    } 

    其中grayscale()的取值为0%-100%,也可以用0-1取代,0%代表彩色图像,100%代表完全的灰度。
    css filter的浏览器兼容情况如下,Chrome31+,Safari7+,Opera20+,ios Safari6+,Android Browser4.4+,Blackberry 10+均支持了-webkit-filter的方式,IE不支持,firefox不支持。

    3.SVG方式实现

    新建一个txt文件,把代码粘贴进去更改后缀为svg,通过filter: url(gray.svg#grayscale);调用

    <svg version="1.1" xmlns="http://www.w3.org/2000/svg">
        <filter id="grayscale">
            <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/>
        </filter>
    </svg>

    4.JS实现方式

    <script src="http://james.padolsey.com/demos/grayscale/grayscale.js"></script>
    <script>
    //grayscale(document.getElementById("thisImage"));
    //grayscale(document.getElementsByTagName("img"));
    //grayscale($("#thisImage"));
    </script>

    调用方式 三选一

  • 相关阅读:
    每个计算机科学专业的学生都应该知道些什么?
    Java中String类型转换成日期类型
    Java基础知识点总结
    JDBCJava连接MySql数据库
    MySql知识点全面总结
    PHP根据键值合并数组,键值一样的合并
    [幼儿园室外设计]幼儿园室外设计的四大原则是什么?
    [闭环步进电机]什么是闭环步进电机?闭环步进电机有什么优势?
    什么是php面向对象及面向对象的三大特性
    关于幼儿园空间设计常见的五大问题,你们园有注意吗?
  • 原文地址:https://www.cnblogs.com/crafts/p/4450373.html
Copyright © 2011-2022 走看看