我正在为附加组件'stylish'制作用户样式表。
它会在整个页面上应用一个半透明的黑色框,适合夜间浏览。
我正在使用:
html:before {
content:url()!important;
position:fixed!important;
width:100%!important;
height:100%!important;
top:0!important;
left:0!important;
background:rgba(2,3,3,.35)!important;
z-index:99999999999999999!important;
pointer-events:none!important;
}
创建固定的悬浮div。
这样做很好,但是如果网站中有任何iframe,它将把此代码应用于iframes的HTML,如下图所示:
因为这些社交网络小部件依赖于IFRAME,所以在那些页面上重复该代码,创建了一个半透明暗盒子的双重覆盖。
期望的外观应该是:
我尝试了一些hack-ish的方法,比如在iframes上应用更高的z-index,并指定*中所有东西的background-color和background为'white'和'opaque',使其浮动在父html页面上方,但这并不完美。 我还尝试了以下内容:
html:not(iframe):before{}
但是这也不起作用。我想知道是否有一种方法可以以不依赖于“html:before”来创建相同的效果,或者是否有一种方法可以这样做,但不要在页面上的iframes的html中重复它。我已经竭尽全力让它工作了,所以任何帮助都将不胜感激。谢谢。
html:not(iframe)
很容易匹配,因为html
不是iframe
。 - BoltClock