有很多问题看起来像这个,但没有一个真正回答我的问题。
我的情况如下:
我需要更改很多元素的显示,以便它们在页面中正确显示并且语义正确。
我有点有js版本和nojs版本。有些元素只有在用户使用 js 时才能看到,而有些元素只有在 js 关闭时才能看到。
我有具有很好特异性的选择器(不要争论,它们在上下文中确实有意义,我只是在这里更改了类,以免放开原始代码所在的位置)
.imagesContainer div.imageContainer .imagedata
然后这个元素意味着当用户没有js时隐藏。所以我做了类似的事情:
.nojs{
display:none;
}
我在与 HTML 相同的文件中尝试了它,期望优先级是外部文件 < 相同文件 < 内联。但似乎现在是外部文件=相同文件<内联(外部文件和内联之间没有优先级)。
处理这个问题的最佳方法是什么?
更改我展示的第一个选择器的特异性不是解决方案。
我也不想将 CSS 内联。这很痛苦,在标记中占用了太多空间并使其更难阅读。
我也不想使用!important。这被认为不是解决此类问题的正确方法,我同意。
我正在使用 XHTML,所以没有在 DTD 中定义 noscript 标签(我需要根据我所遵守的规则使用 XHTML),