你对CSS代码结构div和span的使用是否熟悉,我们在使用CSS规划网页结构时通常会用到div,div是有语意的,它不象h1或ul等那些标签的语意那么明确而已,div的语意是division,英文的意思是区分、分开、部分。即用它来分割文档的不当部分。
CSS代码结构div和span初探
我们在规划网页的结构时通常会用到div。我们正常都认为div是一个没有语意的标签,它的作用是用来分割文档的不同区域。但我们也发现,有些人认为div是有语意的。只不过它不象h1或ul等那些标签的语意那么明确而已,div的语意是division,英文的意思是区分、分开、部分。即用它来分割文档的不当部分。我们在正常编码中,会给div分配一个id名称,这样也使得文档具有了结构的意义,例如:id="main"、id="sider"等等。关于id的知识我们在前面的文章《如何为id及class类命名?》http://www.52css.com/article.asp?id=403中已经讨论过了,希望大家都能掌握相关知识。
◆我们试图将文档的标注标签尽量的减化。只有在不得已,实在没有可用的HTML元素进行分割的时候我们再使用div的方式。这是一种简洁的方式,但有些人也认为这样使得文档的结构化出现障碍,主张需要div进行分割。我们看下面的例子:
ExampleSourceCode
这是一:
- <dividdivid="nav">
- <ul>
- <li><ahrefahref="http://www.52css.com/">Div+CSS教程</a></li>
- <li><ahrefahref="http://www.52css.com/">CSS布局实例</a></li>
- .....
- </ul>
- </div>
这是二:
- <ulidulid="nav">
- <li><ahrefahref="http://www.52css.com/">Div+CSS教程</a></li>
- <li><ahrefahref="http://www.52css.com/">CSS布局实例</a></li>
- .....
- </ul>
有人主张用***种方法,结构明晰。添加了外围的div标签,释意这一段代码是nav区域。
也有人主张第二种方法,去掉不必要的div标签,简化代码,而且能达到同样的效果。
这是一种争论,事实上类似于这样的争论还有很多。我们不必太较真了。因为他们都有自己的道理。我们只需要理解他们的主张是什么,编码的思想是什么,就学习到知识了。52CSS.com的MrJin更倾向于第二种。因为他已经满足需要了。这不一定是正确的。这只是解决问题的方法之一。
除了上面所说的两种情况之外,还有一种情况与上面的相反,有些人对div的依赖太强烈了,以至于编码思想是用div构建与传统table类似的结构。这样是绝不可取的,这就与Web标准的思想背道而驰了,使代码烦杂不便于理解,缺少语义,结构不明朗。
◆div是block块元素,可以规划文档的不同功能区域,当然,你可以运用display:inline,使它变成内联形式。但我们更常用的还是span。这是对内联无素进行标识的标签。看下面的代码。
ExampleSourceCode
- <dividdivid="about52css">
- <h1>Div+CSS教程www.52css.com</h1>
- <p>52css.com是一个非常<span>专业的CSS站点</span></p>
- <p>52css.com的<span>Div+CSS</span>教程栏目有丰富的教程</p>
- </div>
这段代码中的“专业的CSS站点”“Div+CSS”都被嵌套在了span元素之内。我们可以对某一些地方应用这些标记以应用不同的样式。我们可以将上面的两个span内嵌的内容显示为不同于普通段落的文字色彩。
◆总结:
总之,我们应该尽量的简化我们的代码,扔掉那些不必要的标签标记,不过你也不要太过了保守,在实际操作中有这样的精简思维就可以了。现实的情况让我们不得不添加一些标记来让CSS准确的找到目标。因为CSS的功能还不够强大,相信未来一定会有更好的方法解决问题。
【编辑推荐】