我写了一个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. Typesafe优先级规则
- 3. AWS ALB:规则优先级
- 4. 混淆CSS规则优先
- 5. TextMate语法 - 规则的优先级
- 6. Grails的URL映射优先级规则
- 7. Solr:字段中的高优先级
- 8. 优先权规则
- 9. 优先上传优先级,以高优先级使用HTB qdiscs
- 10. CSS类优先级
- 11. 如何设置Drools决策表中的规则优先级
- 12. 错误:音频优先级提高
- 13. 我如何给一个CSS类优先级的ID?
- 14. 通过多个指令提供服务时,优先级的规则是什么?
- 15. 如何提高Delphi中TCP数据包的优先级?
- 16. 如何使一个进程高优先级(关键)
- 17. 规则优先==超过=
- 18. CSS优先级查询
- 19. jQuery更改CSS优先级?
- 20. 一个CSS规则
- 21. yacc - 没有运算符的规则的优先级?
- 22. 如何添加两个CSS规则,一个HTML元素
- 23. 优先级队列中的优先级
- 24. ANTLR规则优先级和丢失的令牌
- 25. 如何确定terraform执行优先级的优先级
- 26. 如何在css中使用另一个规则中的规则?
- 27. HTML - 优先于CSS样式
- 28. 优先级最高的优先队列项目
- 29. VisualSVN预先提交规则
- 30. 哪一个是PMD中的最高优先级?
它不能做,因为一些JavaScript问题 – tsds 2011-05-13 19:00:49
该网站的CSS使用'!重要'在愚蠢的方式吗?如果不是的话,那么建议预先加上“id”的答案肯定会起作用。例如,'#myWidget p {..}'/'#myWidget a'会覆盖文档其余部分的CSS(比如在'body'上设置的东西)。假如你做'#myWidget {/ *设置合理的默认值如字体,行高来避免级联* /}',你应该没问题。 – thirtydot 2011-05-13 19:03:59