IE7下在DD DT中插入a元素结果列表显示逐级向左
IE7下在DD DT中插入a元素结果列表显示逐级向左
发布时间:2016-12-27 来源:查字典编辑
摘要:今天在项目中遇到了一个奇怪的BUG,在DD,DT之间加了个标签,结果列表显示逐级向左,样式跑偏,代码如下将标签删除后,显示正常,后来在网上查...

今天在项目中遇到了一个奇怪的BUG,在DD,DT之间加了个<a>标签,结果列表显示逐级向左,样式跑偏,代码如下

<dt></dt>

<a><dd></dd>

<a><dd></dd>

将<a>标签删除后,显示正常,后来在网上查了一下,可能的原因是:

根据 HTML4.01 规范可知,LI DD DT 元素只应存在于其对应的 UL OL DL 元素中,而由 UL OL DL 元素创建的列表从 HTML 规范的定义上说不应该包含具有其他意义的非列表元素 ('display' 不为 'list-item' ),但在实际中,经常会碰到诸如 DIV SPAN 甚至文本内容被放置在 LI 元素之后。

这个现象,与 LI DT DD 元素之后插入的非列表元素类型无关,也与包含 LI DD DT 元素的类型无关。从获取到的浏览器解析后的 HTML 代码可以看出IE6 IE7 IE8(Q) 会忽略 LI DD DT 元素的结束标记,并且位于同一个父元素内的 LI 元素在文档树中会前后相连。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新 Div+Css教程学习
热门 Div+Css教程学习
网页设计子分类