我寫了一個HTML/CSS代碼片段,它包含在一些第三方的網站中。
但該網站的CSS規則使我的代碼片段看起來很糟糕。爲了保持片段的外觀,我必須使用!重要的關鍵字,但它是可怕的,我必須寫這個關鍵字約1000次(除了這樣的代碼看起來不是很好)。
我也可以使用內聯CSS而不是外部的.css文件,但它也不是一個解決方案。
那麼,如何以一種優雅的方式保護我的css風格呢?如何提高css規則優先級的一個html片段
1
A
回答
4
建議使用具有唯一ID的div
是好的。但是,主機頁樣式表中的其他規則有可能使用!important
。即使您使用唯一的ID,這些規則也會覆蓋您的規則。
首先使用iframe
中的外部文檔(這並非總是可行)的缺點,使用!important
是我能看到的唯一100%安全的方式。
2
您可以嘗試將您的代碼段放入帶有唯一ID的DIV中。
然後在您的代碼片段樣式的CSS中,爲樣式表中的項目添加DIV的ID選擇器。
3
您的代碼段應包含在iframe
之內。
這是「第三方網站小部件」的常用方式。
如果您使用iframe
,則來自父文檔的CSS不會影響您的「HTML/CSS代碼片段」。
1
我能想到的唯一方法就是讓選擇器在某些方面更加具體。例如,
LI { color: red; }
LI.class { color: blue; }
<li class="class">I will be blue</li>
但是你真的受到了'你無法控制的其餘CSS'的擺佈。
我認爲你最好的選擇是把ID和獨特的課程放在所有yoru的東西上,並且指定它。這雖然不是很好,但是因爲您可能想要申請一些「剩餘的CSS」。
1
如果你不能使用iframe方法,你需要找出父頁面聲明所具有的specificity的級別,並且用你的樣式聲明來打敗它,記住它們仍然適用於你不要清除它們。否則,請帶上「!重要」!你可能想要找一個clear.css或者其他的東西來爲你做這件事,因爲很多網站都提供這個功能。
相關問題
- 1. CSS優先級規則
- 2. CSS - 優先CSS規則
- 3. AWS ALB:規則優先級
- 4. Typesafe優先級規則
- 5. 混淆CSS規則優先
- 6. 關於CSS規則優先級的一些問題
- 7. Grails的URL映射優先級規則
- 8. TextMate語法 - 規則的優先級
- 9. 重疊規則的ninject綁定規則優先級?
- 10. Solr:字段中的高優先級
- 11. 優先權規則
- 12. 如何提高Eclipse中模板提案的優先級?
- 13. 優先上傳優先級,以高優先級使用HTB qdiscs
- 14. 如何設置Drools決策表中的規則優先級
- 15. CSS類優先級
- 16. 佈局規格w/r寬度和高度規則的優先級是什麼?
- 17. 錯誤:音頻優先級提高
- 18. 的.htaccess規則優先
- 19. 如何將優先級設置爲規則?
- 20. 語法規則優先級如何工作?
- 21. 我如何給一個CSS類優先級的ID?
- 22. 通過多個指令提供服務時,優先級的規則是什麼?
- 23. 如何提高Delphi中TCP數據包的優先級?
- 24. 如何使一個進程高優先級(關鍵)
- 25. 規則優先==超過=
- 26. Apache htaccess規則優先
- 27. 野牛nonassociative優先規則
- 28. Asp.Net授權規則優先
- 29. 高優先級Android服務
- 30. 優先級和優先級
它不能做,因爲一些JavaScript問題 – tsds 2011-05-13 19:00:49
該網站的CSS使用'!重要'在愚蠢的方式嗎?如果不是的話,那麼建議預先加上「id」的答案肯定會起作用。例如,'#myWidget p {..}'/'#myWidget a'會覆蓋文檔其餘部分的CSS(比如在'body'上設置的東西)。假如你做'#myWidget {/ *設置合理的默認值如字體,行高來避免級聯* /}',你應該沒問題。 – thirtydot 2011-05-13 19:03:59