CSS正则表达式标志:忽略大小写,全局搜索

时间:2015-05-21 06:41:02

标签: html css regex flags

我有以下HTML:

<div>
    <img class="hi" src="http://i.imgur.com/f9WGFLj.png"></img>
    <img class="HI" src="http://i.imgur.com/f9WGFLj.png"></img>
</div>

以下CSS:

img {
    height:200px;
    width:auto;
}

img[class*='i'] {
    outline:red inset;
}

img[class*='I'] {
    outline:green inset;
}

img[class*=/'i'/i] {
    outline:blue inset;
}

正如您所看到的,在最后的CSS片段中,我尝试(不熟练地)覆盖以前的片段作为概念证明。问题是:

与Regexp标志兼容,例如&#34;忽略大小写&#34;和&#34;全球搜索?&#34;如果是这样,他们如何使用?

在另一个注释上(所有这一切的最终目标是获得CSS代码,它删除包含&#34; autoplay = 1&#34;完全)的iframe,CSS可以暂停自动播放吗?

1 个答案:

答案 0 :(得分:1)

据我所知,你不能在CSS中使用实际的Regex,只有一个名为"Substring matching attribute selectors"的东西,它的作用如下:

[attribute^='...'] /* attribute value starts with '...' */
[attribute$='...'] /* attribute value ends with '...' */
[attribute*='...'] /* attribute value contains '...' */

但你已经在第二和第三选择器中做到了。

至于你的其他问题

  

CSS可以暂停自动播放吗?

不,不是我的知识。

你可以使元素不可见,但这不会阻止音频播放 此外,在您的示例中,目前无法使用CSS“下降”到iframe。也许有可能在Shadow DOM支持进展的时候,但我怀疑它会起到跨越作用的作用。

您需要JavaScript来检测和停止自动播放的元素,但这也只能用于同源,因为您无法访问不同来源的帧。
如果页面是同源的,您也可以从该站点中删除自动播放元素...

这里唯一的“解决方案”可能是获取iframe内容服务器端,删除所有不需要的内容并将结果嵌入到您的页面中。