我已经开发了一段时间,经常使用菜单选项卡开发网站。
我无法弄清楚为什么这么多网页开发人员喜欢使用列表< ul> li>等等而不仅仅是使用普通的旧div。
我可以在div中制作菜单,这些菜单很简单,并且在每个浏览器中都能完美运行。对于列表,我通常会尝试以某种方式破解它以使其正常工作。
所以我的问题很简单:我为什么要使用列表来创建我的菜单而不是div?
答案 0 :(得分:10)
简单:语义HTML。导航本质上是HTML中的链接列表,因此您的标记应该反映这一点。
它有几个好处,搜索引擎蜘蛛可以聪明地弄清楚什么是东西(即你的导航)和谷歌专门用它做聪明的东西。
此外,只有文本浏览器或屏幕阅读器的用户可以轻松识别导航元素。
此外,这是一个很好的做法。
答案 1 :(得分:1)
如果以菜单为例,则菜单本质上可以是分层的,HTML列表专门用于标记项目的分层列表。对于该类型的项目,它是语义正确的标记,并且任何类型的用户代理都可以轻松理解是否启用CSS(想想屏幕阅读器,网络机器人等)< / p>
绝对没有理由你会发现将嵌套列表设置为一系列'flat'div更难。实际上,恰恰相反,因为CSS语法旨在轻松区分嵌套项。
答案 2 :(得分:0)
列表不需要黑客攻击,因为只设置display:block和清除一些其他样式会产生与div相同的行为,但优点是搜索引擎,像Lynx这样的文本浏览器等等(所有UAs都没有看到你的CSS)了解元素是什么。它还有助于mashup,如stumble,feed agregators和generator,以及从页面获取数据并尝试将其组合成有用的东西的所有其他程序。
基本上,div是多余的(如果你不相信我,请查看http://camendesign.com/;没有div,类或跨度,尽管为生产站点使用了太多HTML5。)