我简化了我在Firefox中遇到的问题(原始代码由服务器端控件生成)。在IE和Firefox中打开以下代码段:
<html>
<style>
.AllInline, .AllInline * { display: inline; }
</style>
<span class="AllInline">
Test
<script type="text/javascript">
<!-- var obj = {}; //-->
</script>
</span>
</html>
在IE中,我得到:
测试
在Firefox中,我得到:
测试<!-- var obj = {}; //-->
脚本块的内容以某种方式显示。
我没想到样式规则会应用于脚本块(无法真正理解为什么会出现这种情况)。
有人会有解释吗?
答案 0 :(得分:1)
base
,basefont
,datalist
,head
,meta
,script
,style
,title
,noembed
和param
标记隐藏在display: none;
(这是一个UA样式表)中设置html.css
的简单权宜之计。因此,它们会被页面CSS(例如您的示例)取消隐藏。另一方面,area
有display: none ! important;
,因为它有特殊的内部处理(图像有效地拥有该区域)。
答案 1 :(得分:0)
不要把JavaScript放在那里。在</body></html>
之前插入它。
答案 2 :(得分:0)
迷人的虫子!
您可以将.AllInline script {display: none;}
添加到您的css中以隐藏它。