我开始在现有项目中使用TinyMCE。不幸的是,该项目使用样式表来声明选择器#content td
的CSS规则,这是设计者的错误决定。这些规则打破了TinyMCE主题。但是,规则经常在项目中应用。因此,更换它们将会付出太多努力。
#content td
规则具有更高的优先级,因为它们是在TinyMCE从javascript加载CSS规则之前加载的。如果我能够使用<link>
标签加载TinyMCE CSS,我可以通过在项目样式表之前加载TinyMCE样式表来解决问题。
答案 0 :(得分:1)
使用链接标记和javascript加载tinyMCE的样式无法解决问题,因为问题在于CSS特异性。
CSS规则规定最后一个具有最高特异性的有效规则优先。
TinyMCE的表规则的格式为.mceitemtable td
,其特异性为0,1,1。
您的#content td
规则以ID开头,ID的特殊性为1,0,1。
因此,ID规则将始终胜过tinyMCE基于类的规则,无论它们的加载顺序如何。
有关CSS特异性的更多详细信息,请参阅http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html。
(旁白:我不认为TinyMCE还是通过javascript加载它的CSS?tinyMCE的默认行为是在iframe中加载编辑器,并检查iframe表明框架通过<link>
加载自己的CSS标记)。
答案 1 :(得分:0)
您可以加载自己的样式表以覆盖默认的tinymce css。看看tinymce设置content_css.