css 模糊和背景模糊

概念

首先明确下概念,因为可能别人不这么叫。

我这里说的模糊只得是元素自己的模糊;而背景模糊,指的是透过元素看到的下层元素是模糊的。

模糊

这个相信大家也都用过,例行贴个代码搞定:

.blue-dom{
    filter: 
          blur(5px)   // 像素值,越大越模糊        
    ;
}

顺便复习下其他的属性,具体如下:


image.png

注意: 这个filter影响的是当前元素,比如加了模糊,当前dom上的字也会跟着一起模糊,这点请注意。

5px的模糊程度大约这么多👇:


image.png

背景模糊

背景模糊其实就是用到:

 -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);

需要注意的是,你设置背景模糊的背景,需要是半透明的,否则看不到下层,再模糊也没有意义了。

兼容性:


image.png

可以看到主流浏览器的最新很多版本都已经完美支持。

backdrop-filter 所有api

这里也列下所有api, 方便学习查阅

/* 关键词值 */
backdrop-filter: none;

/* 指向 SVG 滤镜的 URL */
backdrop-filter: url(commonfilters.svg#filter);

/* <filter-function> 滤镜函数值 */
backdrop-filter: blur(2px); /* 模糊 */
backdrop-filter: brightness(60%); /* 亮度调节,越大越亮 */
backdrop-filter: contrast(40%); /* 对比度调节,越大越亮 */
backdrop-filter: drop-shadow(4px 4px 10px blue); /* 阴影 */
backdrop-filter: grayscale(30%);  /* 灰度 */
backdrop-filter: hue-rotate(90deg); /* 色相旋转 */
backdrop-filter: invert(70%); /* 反转 */
backdrop-filter: opacity(20%); /* 透明度 */
backdrop-filter: sepia(90%); /* 褐色 */
backdrop-filter: saturate(80%); /* 饱和度 */

/* 多重滤镜 */
backdrop-filter: url(filters.svg#filter) blur(4px) saturate(150%);

/* 全局值 */
backdrop-filter: inherit;
backdrop-filter: initial;
backdrop-filter: revert;
backdrop-filter: unset;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。