网页设计并非所有内容都必须要DIV做“容器”

来源:岁月联盟 编辑:zhu 时间:2007-10-11
网页设计并非所有内容都必须要DIV做“容器”内容简介:主菜单究竟是用div id=mainnavul.../ul/div还是ul id=mainnav.../ul? 这是一个博弈的问题。至今这个问题也没有人能够给出明确的答案,就连我也是如此。诚然,div id=mainnav在只包含了一个ul元素的时候

  主菜单究竟是用<div id="mainnav"><ul>...</ul></div>还是<ul id="mainnav">...</ul>?

  这是一个博弈的问题。至今这个问题也没有人能够给出明确的答案,就连我也是如此。诚然,<div id="mainnav">在只包含了一个<ul>元素的时候,这个div就显得有些冗余,但有时候为了配合美工绚丽的设计,多一层标签就意味着多一层变化(有些人在a标签里套span也是如此)。而div不带任何原始属性的先天优势也是其它标签所无法比拟的。

  这个命题我只是想说明一件事,就是我们应该意识到,<div id="mainnav"><ul>...</ul></div>之外,还有<ul id="mainnav"></ul>这种写法,同样具有良好的结构和语义,并且省去了一层嵌套。在我们不需要为华丽的美工劳心劳神的时候,是不是也可以让结构更加简约呢?

  这个命题其实还可以引申为——“并不是所有内容都需要块元素做容器”、“并不是所有链接都需要其它元素做容器”,例如很多页面都有的“更多”。有些人写做“<div class="more"><a>...</a></div>”,也有人写做<p><a>...</a></p>或者<strong><a>...</a></strong>。

  在这些“容器”只包含了一个<a>标签的时候,它们是否还有存在的必要?直接写成<a class="more">...</a>会破坏结构吗?会缺乏语义吗?会影响布局吗?换一种思路,你也许就会有不一样的收获。

图片内容