html - CSS 正则表达式标志 : ignore case, 全局搜索

标签 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 片段中,我试图(不熟练地)覆盖之前的片段作为概念证明。问题是这样的:

CSS 是否与“忽略大小写”和“全局搜索”等正则表达式标志兼容?如果可以,如何使用它们?

在一个单独的注释中(所有这一切的最终目标是获得完全删除包含“autoplay=1”的 iframe 的 CSS 代码),CSS 可以停止自动播放吗?

最佳答案

据我所知,你不能在 CSS 中使用实际的正则表达式,只有一个叫做 "Substring matching attribute selectors" 的东西,其工作方式如下:

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

但是您已经在第二个和第三个选择器中这样做了。

关于你的其他问题

Can CSS halt autoplayback?

不,据我所知不是。

您可以使元素不可见,但这不会停止播放音频。
此外,对于您的示例,目前无法使用 CSS“下降”到 iframe 中。也许当 Shadow DOM 支持得到改进时这将是可能的,但我怀疑它是否会跨源工作。

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

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

关于html - CSS 正则表达式标志 : ignore case, 全局搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30366314/

相关文章:

html - 动态更改图像的内容/src

css - Magento 1.9.1 - 安装期间未加载 CSS

ruby 自动化多个正则表达式替换

c# - c#中用于变量声明和初始化的正则表达式

regex - 如何使用 --accept-regex 选项通过 wget 下载网站?

javascript - 限制输入类型数量

c# - 页面未加载并卡在 Awesomium 中

javascript - Firefox 中索引数据库的无效状态错误

javascript - 我想要一个 div 自动刷新而不刷新整个页面

javascript - 如何序列化表单,而不是输入的值获取输入的 ID