无论页面是否在 iframe 中,Stylish 都会以相同的方式对待页面。因此,解决方案就是单独设置 iFramed 位的样式。
例如,假设您有页面jsbin.com/osajuz/edit,它包含这个 iFrame:
<iframe src="http://www.drudgereport.com/"></iframe>
然后你可以创建一个时尚的风格,如:
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url("http://jsbin.com/osajuz") {
body {
background-color: pink;
}
}
@-moz-document url("http://www.drudgereport.com/") {
body {
background-color: lime !important;
}
}
哪个有效。
如果您创建样式并访问jsbin.com/osajuz,您将看到如下内容:
同样,如果框架没有 URL,则将其视为来自与包含页面相同的域和 URL 的页面。时尚的规则仍然适用。
例如,如果您创建此 Stylish 样式:
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("jsbin.com") {
body {
color: orange;
}
}
@-moz-document url-prefix("http://jsbin.com/abazay/3/edit") {
body {
background: lime;
}
}
然后访问jsbin.com/abazay/3/edit#preview,您将看到两种样式都应用于两个“内部”iFrame。
但请注意,如果您不小心,任何 JS 操作 iFrame 都可能覆盖 CSS 样式。因此,请自由使用!important
标志来解决这个问题。