我一直在处理一段HTML代码供个人使用。
在Windows 8.1计算机上,Chrome(38.0.2125.111 m),Firefox(32.0.3)和Opera(24.0.1558.53)中的代码运行良好。由于它在本地服务器上,我设法在其他机器上测试它。但我的IE11(11.0.9600.17416)在代码上效果不佳。
这是我写的代码:
<section class="gs">
<input id="googleSearch" class="googleSearch" type="text" name="search" autocomplete="off" />
<div id="resultGS" class="result"></div>
</section>
以下是IE呈现的代码:
<section class=gs></section>
<input id=googleSearch class=googleSearch name=search autocomplete="off"></input>
<div id=resultGS class=result></div>
</section><//section>
任何人都可以向我解释一下这里发生了什么吗?任何人有什么想法?
以下是代码的快照:
据我所知,IE正在完成标签,就像输入标签一样,我是否正确?
答案 0 :(得分:1)
正如Claudix所说,添加HTML5文档类型应该会有所帮助。因为它会将IE浏览器设置为最后一个兼容模式。 但由于某种原因(IE设置,内联网......),可以强制它使用特定模式。如果是这种情况,请添加元以强制IE使用最新的兼容模式执行您的页面。
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
答案 1 :(得分:1)
问题描述的根本不是文档呈现,而是IE在特定状态下在其中显示HTML代码的开发者工具的方式。当您按F12然后选择“DOM Explorer”选项卡时,您会看到代码。
这在IE 11中不正常。只有当浏览器设置为模拟IE 8或更低版本时,才会出现在开发工具的“仿真”选项卡的第一个下拉列表中。只需在那里选择“Edge”。
当您在IE 8或更低版本模式下使用IE 11时,或当某人实际使用IE 8或更低版本时,浏览器实际上并不支持section
。它表现得好像标签不存在,只是在它们之间呈现内容。 (开发工具中的代码显示以奇怪的方式反映了这一点。)这通常只影响样式。除了呈现为块之外,section
元素没有默认效果,并且通常其内容仍然是块,所以即使这也无关紧要。但是,如果您尝试设置section
,那么支持很重要。
如果你真的需要使用IE 8,模拟或真实,那么在任何CSS引用之前的以下代码通过将元素“引入”到浏览器来解决问题:
<script>
document.createElement('section');
</script>
(这在模拟IE 7或更低版本时似乎不起作用,但这可能是仿真中的一个错误。它应该可以工作,在使元素可设置的意义上,在IE版本低至6。)
答案 2 :(得分:0)
<section>
标记是HTML5中的新标记。您是否已将<!DOCTYPE html>
声明放在HTML文件的顶部(<html>
标记之前)?