css滤镜灰色影响浮动

html-css011

css滤镜灰色影响浮动,第1张

您是想问css滤镜灰色影响浮动吗?不影响。

acc滤镜将图像中的所有颜色逐渐转换为某种灰色阴影。值为0%对我们的图像没有影响,而值为100%将使它们完全变为灰度。不允许使用负值。

CSS滤镜不是浏览器的插件,也不符合CSS的标准,是微软为了增强浏览器功能而特意开发,并且,整合在IE浏览器中的一类功能的集合。

IE10和IE11在图像滤镜方面还是比较坑爹的,不能执行filter滤镜,而且连svg滤镜也不支持,所以通常是用js来实现这个效果的。

具体可以参考下面这段代码:

var imgObj = document.getElementById('imgToGray')   

  

function gray(imgObj) {  

  var canvas = document.createElement('canvas')  

  var canvasContext = canvas.getContext('2d')  

  

  var imgW = imgObj.width  

  var imgH = imgObj.height  

  canvas.width = imgW  

  canvas.height = imgH  

  

  canvasContext.drawImage(imgObj, 0, 0)  

  var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH)  

  

  for (var y = 0 y < imgPixels.height y++) {  

    for (var x = 0 x < imgPixels.width x++) {  

      var i = (y * 4) * imgPixels.width + x * 4  

      var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3  

      imgPixels.data[i] = avg  

      imgPixels.data[i + 1] = avg  

      imgPixels.data[i + 2] = avg  

    }  

  }  

  canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height)  

  return canvas.toDataURL()  

}  

imgObj.src = gray(imgObj)

还有一些跨浏览器的解决方案,代码太多,不贴出来了,百度一下就能够找到。

Css中将图片调为灰色,是利用滤镜的效果进行渲染的

不同的浏览器需要不同的前缀进行支持。

具体将图片调整为灰色的代码如下

img { 

      filter: grayscale(100%)  //默认

      -webkit-filter: grayscale(100%)  //谷歌浏览器

      -moz-filter: grayscale(100%)  //火狐浏览器

      -ms-filter: grayscale(100%)  //IE核心浏览器

      -o-filter: grayscale(100%)   //Oprea浏览器

      -webkit-transition:all 1s ease-in-out  //这是设置过渡时间效果,有一个缓冲时间

      -o-transition:all 1s ease-in-out

      -moz-transition:all 1s ease-in-out

      -ms-transition:all 1s ease-in-out

}

若需要调整为彩色

img:hover{ 

      filter: grayscale(0%)  //默认

      -webkit-filter: grayscale(0%)  //谷歌浏览器

      -moz-filter: grayscale(0%)  //火狐浏览器

      -ms-filter: grayscale(0%)  //IE核心浏览器

      -o-filter: grayscale(0%)   //Oprea浏览器

      -webkit-transition:all 1s ease-in  //这是设置过渡时间效果,有一个缓冲时间

      -o-transition:all 1s ease-in

      -moz-transition:all 1s ease-in

      -ms-transition:all 1s ease-in

}