【问题标题】:consistent rendering of css3 filtercss3过滤器的一致渲染
【发布时间】:2013-04-10 07:24:15
【问题描述】:

我正要在我的网站上做一些花哨的 css3 过滤器,但遗憾的是浏览器显示的结果完全不同。

因为过滤器目前仅适用于 webkit 浏览器 (source),所以到目前为止我只尝试了 -webkit-filter

问题是,Safari(在 iOS 上测试)将 brightness(0) 解释为默认值,而 brightness(1) 显示元素全亮。 Chrome 的默认值为 1

有没有办法为 webkit 浏览器实现一致的亮度?

请参阅此 jsFiddle 以获取示例:http://jsfiddle.net/4SMDf/1/

提前致谢, 麦克法兰

【问题讨论】:

    标签: google-chrome css filter safari webkit


    【解决方案1】:

    您可以使用 SVG 过滤器来做到这一点。

    这是一个例子:

    <svg height="0" xmlns="http://www.w3.org/2000/svg">
      <filter id="brightness">
        <feComponentTransfer>
          <feFuncR type="linear" slope="[amount]"/>
          <feFuncG type="linear" slope="[amount]"/>
          <feFuncB type="linear" slope="[amount]"/>
        </feComponentTransfer>
      </filter>
    </svg>
    

    在此处查看亮度(数量)部分:https://developer.mozilla.org/en-US/docs/CSS/filter

    【讨论】:

    • 如果我使用这种方法,是否仍然可以在两个过滤器状态之间进行转换?
    • 我不这么认为,这是个问题吗?
    • 您可以使用 元素为 SVG 过滤器值设置动画
    猜你喜欢
    • 2023-04-06
    • 2016-01-09
    • 2012-07-22
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多