2011-05-12 63 views
1

我的應用程序允許用戶編輯文檔。毫不奇怪,編輯器小部件將用戶文檔表示爲HTML。我可以使用獨立樣式表顯示內部div嗎?

我需要重新顯示編輯器外部的文檔,但是在我的網站佈局中。文檔需要以與它們在編輯器中呈現的完全相同的樣式出現,而不受我網站的樣式表影響。我可以在只讀模式下使用編輯器,隱藏所有按鈕,但仍然會出現滾動條和邊框樣式問題。

我確定了編輯器使用的CSS文件。我怎樣纔能有效地配置一個div元素(包含文檔的元素)爲(1)忽略所有當前樣式,並(2)加載一個css文件以應用其內容?

+0

你可以使用iFrames嗎? – peteorpeter 2011-05-12 18:15:53

+0

爲什麼不打開一個新窗口,裏面有文檔?就我而言,如果您引入第二個樣式表,它會將所有樣式級聯到所引用的第二個樣式表,無論如何。 – 2011-05-12 18:16:59

+0

@peteorpeter是的,那是一個選項。 – 2011-05-12 19:47:43

回答

1

你有兩個選擇:

1)重置在包含文檔的DIV所有樣式,並確保您的文檔的樣式優先於復位。這可能會變得混亂。

2.)使用iframe並加載iframe中的文檔和樣式。

<iframe src=".../documents/myDocument.html"></iframe> 

其中「myDocument.html」是包含文檔和樣式的html文件(處理文件的HTML頁面的任何其他HTML頁面,並確保有適當的頭和身體標籤等

其他選項:

1.)在另一個窗口內打開文檔html頁面。

<a href=".../document/myDocument.html" target="_blank" >Open Document</a> 

2.)將文檔渲染爲pdf,並使用pdf查看器將其加載到頁面中。 (你會想保留原始文件的備份,因爲轉換會很糟糕,我猜)。

+0

如果您對樣式化iFrame或iFrame的內容有任何疑問,將看看這裏:http://stackoverflow.com/questions/217776/how-to-apply-css-to-iframe – 2011-05-12 18:19:08

+0

+1的iFrames。這是防止CSS衝突的絕對方法,而重置將取決於所有級聯的方式,並可能容易出錯。 – peteorpeter 2011-05-12 20:31:35

+0

我還沒有嘗試過,但這個SO條目似乎圓滿了我的要求:http://stackoverflow.com/questions/153152/resizing-an-iframe-based-on-content – 2011-05-12 20:38:26

0

是的,沒有。如果你想使用div,你會希望使用樣式表,樣式表定義爲「重置」該div的css。這基本上會撤消你的網站的樣式,然後任何新的樣式選擇器應該被限制在該div中。

否則,我會建議使用類似iframe的東西,在那裏你可以呈現一個真正獨立的文檔。

相關問題