我将ul标签与css结合使用,并且,仅从ul标签就获得了我想要的视觉效果。
所以我计划不使用li标签。但我不确定这在HTML编码标准中是否合适,因为我读到ul和li标签总是应该一起使用的。
谢谢你的帮助!
<div class="featured_list">
<ul>
<a id="f1Link" href="" class="">
<div class="image_container"> <img id="f1Pic" src="" alt=""> </div>
<div class="info">
<h2 id="f1Title"></h2>
<h4 id="f1Stock" class=""></h4>
</div>
</a>
<a id="f2Link" href="" class="">
<div class="image_container"> <img id="f2Pic" src="" alt=""> </div>
<div class="info">
<h2 id="f2Title"></h2>
<h4 id="f2Stock" class=""></h4>
</div>
</a>
<a id="f3Link" href="" class="">
<div class="image_container"> <img id="f3Pic" src="" alt=""> </div>
<div class="info">
<h2 id="f3Title"></h2>
<h4 id="f3Stock" class=""></h4>
</div>
</a>
</ul>
</div>
发布于 2014-08-14 04:42:15
要直接回答您的问题,是的,您需要在ul
中使用li
。W3C HTML Validator通过您代码显示此错误:“在此上下文中,不允许将元素a作为元素ul的子元素。”(为简洁起见,我还删除了其他错误。)
如果你的内容不是列表,你就不应该使用ul
。如果它是一个列表,则需要在其中放入li
s才能使其在语义上正确。
您可能希望使用包含li
s的ul
,但要使用内联样式。下面是一个例子:
/* Inline list items */
.list-inline {
padding-left: 0;
margin-left: -5px;
}
.list-inline > li {
display: inline-block;
padding: 0 5px;
}
<ul class="list-inline">
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
注意:样式是从Bootstrap的type.less中借用的。
发布于 2014-08-14 04:39:22
根据规范,零个或多个li元素是ul元素唯一允许的内容。
来源:http://www.w3.org/TR/html-markup/ul.html
如果您有一个列表,请使用li元素并设置它们的样式。如果您希望从ul中获得的只是页边距和填充,而您的数据不是列表,那么您最好使用带样式的div。
https://stackoverflow.com/questions/25295633
复制相似问题