2010-02-17 68 views
6

是否可以更改iframe上滾動條的樣式?如何在iframe上設置滾動條的樣式?

我嘗試用下面的代碼風格,但它似乎沒有工作

html{scrollbar-arrow-color: #252604; 
scrollbar-highlight-color: #BFC097; 
scrollbar-shadow-color: #ffffff; 
scrollbar-base-color : #000000; 
scrollbar-track-color: #E2E1D4; 
scrollbar-face-color: #BFC097; 
scrollbar-3dlight-color: #EFEEEE; 
scrollbar-darkshadow-color: #999999;} 

,並試圖

body{scrollbar-arrow-color: #252604; 
scrollbar-highlight-color: #BFC097; 
scrollbar-shadow-color: #ffffff; 
scrollbar-base-color : #000000; 
scrollbar-track-color: #E2E1D4; 
scrollbar-face-color: #BFC097; 
scrollbar-3dlight-color: #EFEEEE; 
scrollbar-darkshadow-color: #999999;} 

難道我聽錯了? iframe中的文件還有一件事是在不同的域中?我有經驗,JavaScript沒有工作,但它會影響CSS?

+0

我只需要這個在IE中工作,我認爲上面的代碼將在IE中工作,但它沒有,除非我做錯了它... – manraj82 2010-02-17 12:52:25

回答

3

沒有跨瀏覽器樣式滾動條的方式。

您只能在Internet Explorer中工作的代碼,並且只能在怪癖(非標準)模式下使用。

你在iframe中的內容與主頁面是分離的,你必須在它們出現的頁面上,即在加載到iframe中的頁面上設置樣式。任何適用於主頁面的樣式都不會影響iframe中的內容。

如果您無法更改您在iframe中加載的頁面的內容,則無法對其滾動條進行設置。

+1

他可以將代碼注入JavaScript的iframe頁面! http://api.jquery.com/appendTo/&http://api.jquery.com/prependTo/ 雖然這只是一個受過教育的猜測 - 我從未嘗試過。 – 2010-02-17 13:12:11

+0

@Jonny:如果頁面來自同一個域,那將是可能的。 – Guffa 2010-02-17 13:24:15

+0

好 - 很酷 - 感謝指針! – 2010-02-17 13:41:36

1

AFAIK,你不能以跨瀏覽器的方式做到這一點。我認爲你上面使用的代碼只能在IE中使用。

+0

我已經試過這個在ie上,它沒有工作....... – manraj82 2010-02-17 12:50:17

4

嘗試iframe body,不只是身體。

This將在Webkit瀏覽器(Safari瀏覽器&Chrome)中完美工作,不要認爲會有跨瀏覽器解決方案。那麼 - 你可以用Javascript

+1

這些webkit滾動條很酷。 PS,他們也在Chrome中工作! – 2010-02-17 12:58:35

+0

是的 - 我打算把Webkit - 編輯 – 2010-02-17 13:13:33

0

只是失去iframe或任何樣式的滾動條,它只是沒有完成。

1

使用javascript(即jScrollPane)是造型滾動條的唯一跨瀏覽器選項,恐怕。

1

您需要將CSS添加到iframe中的實際頁面,即如果您有page.html和iframe.html,那麼CSS必須位於iframe.html中。

但是,不要依賴於那個CSS,它只能在IE或者Quirks模式下的Opera下工作。