Стильный обрабатывает страницу одинаково, в рамке или нет. Таким образом, решение состоит в том, чтобы стилизовать бит 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-адреса, что и содержащая страница. Стильные правила все еще будут применяться.
Например, если вы создаете этот стильный стиль:
@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 , вы увидите оба стиля, примененные к обоим "внутренним" фреймам.
Но обратите внимание , что независимо от того, работает JS, iFrame может переопределять стили CSS, если вы не будете осторожны. Поэтому для борьбы с этой проблемой свободно используйте флаг !important
.