【问题标题】:CSS filter: blur(0px) still blurs the textCSS 过滤器:blur(0px) 仍然模糊文本
【发布时间】:2013-11-29 09:10:50
【问题描述】:

我想对我网站的一部分进行模糊处理,单击链接后该部分会变得不模糊。为了使这个平滑,我需要应用 blur(0px) 并在元素上获得过渡。但问题是即使使用模糊(0px),文本也会变得不清晰。

.page.blurred {
  -webkit-filter: blur(10px);
  -moz-filter: blur(10px);
  filter: blur(10px);
}

.page {
  -webkit-filter: blur(0px);
  -moz-filter: blur(0px);
  filter: blur(0px);

  transition: all 1s ease;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
}

我用 jQuery 切换类。 有什么建议如何处理吗?

【问题讨论】:

  • 模糊是什么意思? Blur 是一个 jquery 事件句柄,所以它意味着当你失去焦点时你的元素!你是说不透明度吗?
  • @hicurin filter 是一个接受 blur([pixels]) 值的 CSS 属性。这可以用来给文本一个模糊的效果。 (jsfiddle.net/JamesD/FJxNv/3)

标签: css filter blur


【解决方案1】:

有趣的问题。对此的一种解决方法是将filter 属性设置为initial,从而完全重置过滤器:

elem {
    -webkit-filter: initial;
    filter: initial;
}

这是一个JSFiddle demo,显示了两者之间的区别。顶部文本将过滤器重置为initial,而底部文本将过滤器设置为blur(0)(相当于使用blur(0px;顶部文本恢复正常,而底部文本保留模糊的字体渲染。

【讨论】:

  • 这确实使文本再次清晰,但不能与过渡结合使用。到目前为止,平滑过渡仅适用于 blur(0px)...
  • @MarcelKrebs 它确实适用于 Chrome 中的过渡。您使用的是哪个浏览器? jsfiddle.net/JamesD/FJxNv/4
  • 我现在正在使用 Chrome。 Mhh .blurred 类的 jQuery 切换是问题吗?
  • @MarcelKrebs 我无法复制这个问题。如果您单击文本,转换仍然可以正常工作:jsfiddle.net/JamesD/FJxNv/5
猜你喜欢
  • 2016-10-07
  • 2021-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 2014-09-01
  • 2015-06-24
  • 2019-04-01
相关资源
最近更新 更多