使用CSS我可以检查浏览器是否支持“CSS属性和值API”(Houdini )@ property规则

随着一些浏览器开始引入CSS Houdini API,我想知道是否有任何方法来确定CSS Properties and Values API是否仅支持 CSS?

随着一些浏览器开始引入CSS Houdini API,我想知道是否有任法来确定CSS Properties and Values API是否仅支持 CSS?

使用 Javascript,我可以检查 API 是否存在:

typeof window.CSS.registerProperty !== 'undefined'

是否有 CSS 原生的等价物?我正在试验@support规则,但这只接受属性和值-而不是 'at-rules'。所以下面将可以理解不是工作。

@property --my-color {
  syntax: '<color>';
  inherits: false;
  initial-value: #c0ffee;
}
@supports ( @property : --my-color ) {
  body { background:DarkSeaGreen ; }
}
@supports not ( @property : --my-color ) {
  body { background:Crimson; }
}
☝️CodePen Example
3

显然,此时我们可以做的最好的事情是假设paintworklet 的支持表示在样式表中支持 CSS Typed OM@property:与@property不同,<property-accepting-image>: paint(<ident>)可以在@supports块中使用。

Una Kravets 在她的@property dev.to article中使用了这个:

@supports (background: paint(something)) {
  /* [Typed OM `@property` should be supported here] */
}

她还指出,这是不可靠的 Chromiums 从版本 78 到 v84。

对于根据https://ishoudinireadyyet.com/的浏览器的当前状态,使用此建议应该是安全的:

ishoudinireadyyet.com table showing that all browsers supporting the Paint API also supports CSS Typed OM

似乎合理的是,新采用 Houdini 的 UA 将在样式表中发布对 paint API 和 CSS OM 的支持,即 Chromium v84 场景不会再次发生。(如果会的话,我敢打赌,Typed OM 将在绘制工作表之前发布,因此在该版本中将(不必要地)忽略该条件。)

0

您还可以使用window.CSS.paintWorklet检查是否支持 houdini api。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(116)
如何在左侧定位div滚动条
上一篇
找不到模块:无法解析“@ aws-amplify/core”
下一篇

相关推荐

  • css的边框:Welcome!

    示例示例CSS边框是指在HTML元素上添加边框的一种样式。它可以使元素看起来更加突出,并且可以用来控制元素的外观和布局。CSS边框有四种属性:border-style,border-width,border-color和border-radius。…

    2023-01-19 01:24:45
    0 27 70
  • css选择器nthchild:The nth-child Selector

    CSS 选择器 nth-child 是一种 CSS 伪类选择器,可以用来匹配特定的元素。它可以用来选择父元素的第 n 个子元素。…

    2023-01-12 14:18:15
    0 82 75
  • css文字省略号探索未知的世界

    CSS文字省略号是指在文本过长时,超出指定宽度的部分用省略号代替,可以使用CSS的text-overflow属性来实现,下面是一个示例代码:…

    2023-02-15 02:17:08
    0 60 47
  • css 公共样式:标题

    示例示例CSS公共样式是指在页面中,多个元素共享的样式,可以减少代码重复,提高代码的可维护性。例如:…

    2023-02-04 15:29:26
    0 84 33
  • css宋体代码:标题

    示例示例CSS宋体代码是指将文本的字体设置为宋体,以下是一个CSS宋体代码的示例:上述代码将文本字体设置为宋体,如果浏览器不支持宋体,则会使用默认的sans-serif字体。…

    2023-03-19 06:31:00
    0 68 12
  • css 盒子居中:标题

    使用margin属性实现:使用flex布局实现:…

    2023-02-19 08:23:05
    0 85 38
  • css有几种引入方式## 五种CSS引入方式

    示例示例CSS有三种引入方式:外部引用:…

    2023-01-11 05:01:16
    0 81 85
  • css table属性:行 Name Age Gender

    示例示例CSS table属性是用来控制表格的外观和布局的CSS属性,它们可以让表格更加灵活,更容易控制。下面是一些常用的CSS table属性:…

    2023-02-18 03:17:09
    0 29 94

发表评论

登录 后才能评论

评论列表(1条)