了解CSS实践div 与 span!

网络整理 - 07-27

  我们在规划网页的结构时通常会用到div。我们正常都认为div是一个没有语意的标签,它的作用是用来分割文档的不同区域。但我们也发现,有些人认为div是有语意的。只不过它不象h1或ul等那些标签的语意那么明确而已,div的语意是division,英文的意思是区分、分开、部分。即用它来分割文档的不当部分。我们在正常编码中,会给div分配一个id名称,这样也使得文档具有了结构的意义,例如:id="main"、id="sider"等等。
  我们试图将文档的标注标签尽量的减化。只有在不得已,实在没有可用的HTML元素进行分割的时候我们再使用div的方式。这是一种简洁的方式,但有些人也认为这样使得文档的结构化出现障碍,主张需要div进行分割。我们看下面的例子:


 Example Source Code
这是一:
<div id="nav">
    <ul>
        <li><a href="htmlCSS">">htmlCSS教程</a></li>
        <li><a href="CSS">">CSS学习实例</a></li>
    .....
</ul>
</div>
这是二:
<ul id="nav">
    <li><a href="htmlCSS">">htmlCSS教程</a></li>
    <li><a href="CSS">">CSS学习实例</a></li>
.....
</ul>

  有人主张用第一种方法,结构明晰。添加了外围的div标签,释意这一段代码是nav区域。
  也有人主张第二种方法,去掉不必要的div标签,简化代码,而且能达到同样的效果。

  这是一种争论,事实上类似于这样的争论还有很多。我们不必太较真了。因为他们都有自己的道理。我们只需要理解他们的主张是什么,编码的思想是什么,就学习到知识了。CuoXin的MrJin更倾向于第二种。因为他已经满足需要了。这不一定是正确的。这只是解决问题的方法之一。

  除了上面所说的两种情况之外,还有一种情况与上面的相反,有些人对div的依赖太强烈了,以至于编码思想是用div构建与传统table类似的结构。这样是绝不可取的,这就与Web标准的思想背道而驰了,使代码烦杂不便于理解,缺少语义,结构不明朗。

  div是block块元素,可以规划文档的不同功能区域,当然,你可以运用display:inline,使它变成内联形式。但我们更常用的还是span。这是对内联无素进行标识的标签。看下面的代码。


 Example Source Code
<div id="about52css">
<h1>Div+CSS教程 </h1>
<p>CuoXin是<span>技术综合站点</span></p>
<p>CuoXin.com的<span>Div+CSS</span>教程栏目有丰富的教程</p>
</div>

  这段代码中的“专业的CSS站点”“Div+CSS”都被嵌套在了span元素之内。我们可以对某一些地方应用这些标记以应用不同的样式。我们可以将上面的两个span内嵌的内容显示为不同于普通段落的文字色彩。

  总之,我们应该尽量的简化我们的代码,扔掉那些不必要的标签标记,不过你也不要太过了保守,在实际操作中有这样的精简思维就可以了。现实的情况让我们不得不添加一些标记来让CSS准确的找到目标。因为CSS的功能还不够强大,相信未来一定会有更好的方法解决问题。
( 负责编辑: 李亚 )