2013-05-20 174 views
8

我有我的網頁內的iframe,但我想改變的CSS /字體樣式等的iframe更改內容CSS樣式

<iframe name='iframe1' id="iframe1" src='<?php echo "http://micro.shoretel.com/www/?v=$version&s=$style&l=$logo&p=" . $_GET["p"] ?>' frameborder='0' width='660' height='450'></iframe> 

我如何重寫iframe的內容的CSS樣式?

+0

是否在你的域名上的iframe src?如果是這樣,你可以使用標準的CSS來彌補它,如果沒有......那麼你什麼都做不了。 – Justin808

+0

將樣式表引用放在iframe上。 – user1

+0

http://stackoverflow.com/questions/6494721/css-overide-body-style-for-content-in-iframe – zavg

回答

18

如果iframe負載在自己的域一個頁面,你想靜態改變iframe小號款式,你可以改變CSS文件中的樣式規則,這就是@ Justin808所指的。

但是,如果你想動態改變自己的域樣式,iframe加載一個頁面,你可以這樣做使用jQuery:

$("iframe").contents().find("element-selector").css("border-color", "blue"); 

如果iframe的網頁載入在另一個域上,你運氣不好,請按照this link,在那裏你可以閱讀一下爲什麼這是行不通的。

如果您使用HTML5,則可以使用postMessage在頁面與iframe之間進行通信。

@crdunst的解決方案將工作如果你有‘編輯訪問’裏面的iframe,讓您可以編輯瞭解哪些傳遞給它的參數頁,然後讓它在行動這些參數。它不像使用jQuery那樣動態,因爲它只允許您通過重新加載iframe中的頁面並將其傳遞給另一組參數來更改樣式。

+0

生病請嘗試jQuery,謝謝, –

+0

它不適用於我:( –

5

我不知道這是什麼user2146515所指的,但如果你有在iframe中訪問的頁面,你可以在URL中傳遞值,然後將您的iframe內容中使用這些值:

<iframe src="http://www.youriframecontent.com?bg=ffffff&text=000000"></iframe> 

隨後的iframe頁面中,檢查值,並添加基於這些價值觀風格