我有一些看起来像这样的HTML:
<ol>
<div>
<li>one</li>
</div>
<div>
<li>two</li>
</div>
<div>
<li>three</li>
</div>
</ol>
在Chrome / Firefox中看起来像这样:
1. one
2. two
3. three
但在IE中看起来像这样:
1. one
1. two
1. three
如果我更改代码使得li元素是div元素的父元素而不是相反(所以所有li元素都是兄弟元素)IE正确呈现它。任何人都知道是什么导致这个或如果这是IE的预期工作行为?还有一种方法在技术上比另一种更正确吗?
<div><li></li></div> VS. <li><div></div></li>
答案 0 :(得分:4)
很简单,直接在<div>
内的<ol>
无效,因此secons选项更好。
此处specifications已清除,<ul>
和<ol>
只能包含<li>
元素。最好编写符合标准的HTML - 否则,浏览器更有可能出现意外行为。
答案 1 :(得分:0)
您的HTML无效。首先,出现的数字是来自浏览器的默认表示,但不是HTML的功能约定。其次,验证您的代码,问题将是自我解释的。
答案 2 :(得分:0)
用任何东西包围LI标签是不正确的。 UL和OL只能包含LI标签。 LI标签可以包含任何内容。
http://www.w3.org/TR/1999/REC-html401-19991224/struct/lists.html
答案 3 :(得分:0)
简单......标签有一些优先级。另外,“或