我有一个XHTML严格页面,该页面具有由Javascript控制的不可见div。 div设置为透明且可被脚本和鼠标悬停事件可见,以使div在悬停时不透明。

当有人使用没有javascript的浏览器(或带noscript的Firefox)时,div仍然保持不可见。问题是我不希望内容不可访问。我也不想让div可见,然后使用脚本使其透明,因为div位于文档的底部,并且每当页面加载时都会引起明显的闪烁。

我尝试使用noscript标记来嵌入其他样式表,该样式表仅供没有Javascript的人使用,但这无法通过XHTML严格验证。还有没有其他方法可以在XHTML有效的noscript块中包含额外的样式信息?

Ed:

通过一个简单的测试用例,我得到一个验证错误:文档类型在这里不允许元素“style”。
这是一个空的XHTML Strict文档,在noscript元素内包含一个style元素。 Noscript在体内。

最佳答案

要解决验证问题:仅noscript元素中允许body,而style中仅允许head。因此,在前者之内不允许后者。

关于一般问题:默认情况下,您需要使div元素可见,然后通过CSS + javascript将其隐藏。这就是“渐进增强”模型。我注意到您说您“不想因为闪烁而执行此操作”,但是我不确定是什么原因导致的-您可以修复它,所以也许您应该将其发布为问题。

关于css - 使用noscript嵌入额外的样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/218162/

10-12 06:39