发布网友 发布时间:2022-04-21 19:50
共2个回答
热心网友 时间:2022-05-16 16:22
目前HTML5已向开发人员提供了很多新的标签,如section,nav,article,header和footer等。这些标签语义化程度高,会被经常使用,但在IE6,IE7,IE8和Firefox 2等老式浏览器中却不能识别和正常使用。
一、HTML5标签在浏览器展示存在的问题
对于现阶段来说,使用HTML5标签可能遇到的最大问题就是如何在不支持新标签的浏览器中做恰当的处理。当我们在页面中使用HTML5元素时,可能会得到三种不同的结果。
结果1:标签被当作错误处理并被忽略。那么DOM构建的时候,就会当作这个标签不存在。
结果2:标签会被当作错误处理,并在DOM构建的时候依然会按照预期的代码进行创建,并且HTML标签会被构造成行内元素(也就是说虽然不能识别,但是代码里section标签依然会在dom中创建一个对应section节点,但是属于行内元素)。
结果3:标签被识别为HTML5标签,然后用DOM节点对其进行替换。DOM在构建的时候和预想的一致,并且合适的样式会应用到标签上(大部分情况下是块级元素)。
有一个具体的例子,大家思考一下下面的代码:
<div class="outer">
<section>
<h1>title</h1>
<p>text</p>
</section>
</div>
很多浏览器(比如Firefox
3.6和Safari4)解析的时候都会将div作为最外层的元素,然后div里面是一个识别不了的元素(section),它会在DOM中创建,并被作为一个行内元素存在。h1和p元素都是作为section元素的子节点。因为section在DOM中真实存在,所以也可以修改其样式。这种情况对应结果2。
热心网友 时间:2022-05-16 16:22
下载一个专门测试IE浏览器不同版本兼容性的IEtest就可以了,把本地页面地址放到里面,可以看到在IE6、IE7、IE8下面页面的差别,然后有针对性的调整css样式就可以了。