我有一個外部CSS文件(我無法改變它),我需要在我的HTML文件中使用,但我希望CSS隻影響一段我的HTML。 (例如一切<div id="externally_styled"></div>
)如何獲取CSS文件隻影響HTML的一部分
這怎麼可能,同樣,在不改變CSS文件(和CSS文件中還包含了影響身體標記等通用風格)
我有一個外部CSS文件(我無法改變它),我需要在我的HTML文件中使用,但我希望CSS隻影響一段我的HTML。 (例如一切<div id="externally_styled"></div>
)如何獲取CSS文件隻影響HTML的一部分
這怎麼可能,同樣,在不改變CSS文件(和CSS文件中還包含了影響身體標記等通用風格)
你可能必須使用iframe
,頁面只包含您想要的樣式的HTML和對樣式表的引用。這意味着一般樣式不會應用於包含頁面,但聽起來就是您想要的。
不要忘記級聯樣式表是級聯的,本地樣式定義會覆蓋外部樣式表。 - 就這麼簡單吧。 – 2009-06-17 09:56:06
謝謝,我用你的iFrame解決方案來解決問題。(以爲我曾考慮過它,但我認爲可能會有一些HTML標記/屬性允許在HTML的某個部分包含一個外部css文件。) – EdanB 2009-06-17 10:39:47
想到的一種方法是讓HTML中的「將被樣式化」的部分存在一個完全獨立的文件中,然後通過使用外部文件中的CSS的iframe將其拉入。
我唯一能想到的就是將內容從您的DIV重新渲染到Iframe。
附加到標籤的任何類或樣式聲明都會覆蓋CSS文件中的聲明。
只是你自己的風格聲明添加標籤:
<div style="<your own declarations>">
...
</div>
可怕的,但由於問題本身已經是可怕的,它會一個可行的解決方案 – 2009-06-17 09:54:27
我同意這是一個可怕的解決方案。每個在標籤style屬性中省略的聲明都將默認爲css文件中的聲明。 – TFM 2009-06-17 09:59:55
要麼使用您爲特定部分創建或使用正確的父子關係的CSS類的類名,只有當它下降,這將使得根據父母的子女關係。
您可以覆蓋不希望應用於HTML文檔的一般樣式。如果CSS不是那麼廣泛的話,這可能是一個好主意。
覆蓋樣式的方法是使用關鍵字important!
。
e.g:
原來的樣式表:
body {
color: #000000;
}
你的樣式表:
body {
color: #CCCCCC !important;
}
你可以找到更多信息here。
我猜想任何客戶端解決方案都會變得混亂。
您可以使用服務器端解決方案吸入外部CSS文件並在每個規則的開始附加一個類選擇器?我相信這與正則表達式很容易。
您可以通過在您的CSS代碼中使用「!important」來強制執行樣式。
看看這個例子。 http://www.craiglotter.co.za/2010/01/21/important-css-how-to-force-one-style-above-another/
如果您可以編寫HTML而不是CSS,爲什麼不創建另一個CSS來取代原來的CSS?這不是更簡單,更清潔嗎? – 2009-06-17 09:56:37