Имам обикновена страница, която има няколко секции с iframe (за показване на RSS връзки). Как мога да приложа същия CSS формат от основната страница към страницата, показвана в iframe?
Ако съдържанието на iframe не е изцяло под ваш контрол или искате да получите достъп до него от различни страници с различни стилове, можете да опитате да го манипулирате с помощта на JavaScript.
var frm = frames['frame'].document;
var otherhead = frm.getElementsByTagName("head")[0];
var link = frm.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", "style.css");
otherhead.appendChild(link);
Имайте предвид, че в зависимост от използвания от вас браузър това може да работи само на страници, обслужвани от същия домейн.
Повечето браузъри се справят с iframe като с отделна HTML страница. Ако искате да приложите същия набор от стилове към съдържанието на iframe, просто направете препратка към него от страниците, използвани в него.
Ако контролирате страницата в iframe, както каза Hangy, най-лесният подход е да създадете общ CSS файл с общи стилове, след което просто да поставите връзка към него от вашите html страници.
В противен случай е малко вероятно да можете динамично да променяте стила на страница от външна страница във вашия iframe. Това се дължи на факта, че браузърите са затегнали сигурността на скриптовете между рамки (cross frame dom scripting) поради възможни злоупотреби за подправяне и други хакове.
Този урок може да ви предостави повече информация за скриптирането на iframe като цяло. About cross frame scripting обяснява ограниченията за сигурност от гледна точка на IE.