[翻译]标记语言和样式手册 Chapter 9 精简标签(4)

作者:zhaozy 来源:3user.com 时间:2008-02-01 09:55:00 

接着,来看看另一个精简标签的做法:消除不必要的<div>标签,直接取用现有的块级标签.

不必要的<div>

除了减少指定样式所需的分类属性外,还有另一个精简标签的简单方法:那就是当<div>标签里有块级元素时,就把<div>去掉,接下来看看这两个例子.

方法A:使用<div>

<div id="nav">
  <ul>
    <li><a href="archives.html">Archives</a></li>
    <li><a href="about.html">About</a></li>
  </ul>
</div>

这是个非常小巧的导航条,只以一个无序清单构成,我们为包住整个清单的<div>指定了nav作为id.

但是<ul>和<div>一样是块级元素,为什么不直接为它指定id呢?让我们看看方法B.

方法B:去掉<div>

<ul id="nav">
  <li><a href="archives.html">Archives</a></li>
  <li><a href="about.html">About</a></li>
</ul>

方法B显示能直接使用ul,扔掉多余的<div>,任何定位,内外补丁之类的样式设定同样能指定给<ul>,就像指定给<div>一样简单.因此转而扔掉外包标签,所见一部分标记源码.

有个重点必须留意,那就是这个做法只在nav不包含<ul>以外的标签时才适用,举例来说,里面不能有多余的段落,<blockquote>或者<form>.由于这些标签通常不适合放在<ul>中,因此以<div>作为外包标签应该更有道理.然而,对于方法A,方法B所举的例子来说,无序清单是唯一内涵的标签,因此扔掉<div>就说得通,事实上,考虑所有外包标签的存在意义十分重要,它真的需要放在哪里吗?有没有现存的块级元素可以使用?简洁的标记代码不难办到.

其他例子

另一个可以扔掉<div>的情形是外包<form>的情况,举例来说,如果原本是这样的话:

<div id="myform">
  <form>
    ... form elements here ...
  </form>
</div>

其实能用更简单的写法:

<form id="myform">
  ... form elements here ...
</form>

同样的,如果网站的页尾只包含单一段落,除了这样写之外:

<div id="footer">
  <p>Copyright 1999-2004 Dan Cederholm</p>
</div>

也能写成这样:

<p id="footer">Copyright 1999-2004 Dan Cederholm</p>

当然只有在页尾只包含一个段落的时候才能如此修改.

归纳

看了两种精简标签代码的简单方法,首先是节制的使用分类属性,并且以继承选择器设定样式;再来是直接为现存的单一块级元素指定id,而不用多余的<div>外包它们.

这些方法看起来只能节省无关紧要的一点大小,但是当开始为整个网站实施这些方法之后,精简,结构化的代码就会逐渐明朗,也会写出更灵活,符合语义,未来更容易维护的内容.

标签:样式,标记,css,手册,标签
0
投稿

猜你喜欢

  • ASP编程如何执行存储过程?

    2010-03-17 20:56:00
  • Dreamweaver MX 2004 试用心得

    2010-03-25 12:21:00
  • css清除浮动“clear:both;”的应用

    2008-03-17 12:54:00
  • div遮罩层实现实例代码

    2009-01-11 18:38:00
  • Oracle存储过程入门学习基本语法

    2009-03-04 11:00:00
  • 用ASP木马实现FTP和解压缩

    2008-02-13 08:47:00
  • 跨浏览器的本地存储(二):DOM:Storage

    2008-08-15 13:39:00
  • 使用Perl语言去存取mSQL和MySQL数据库的内容

    2009-10-23 09:11:00
  • 10条影响CSS渲染速度的写法与建议

    2008-09-09 22:02:00
  • 用asp实现的获取文件夹中文件的个数的代码

    2011-03-08 11:02:00
  • 一段重用很高的ajax代码

    2009-02-09 13:27:00
  • 如何提升JavaScript的运行速度(DOM篇)

    2010-05-17 13:32:00
  • asp如何创建一个功能强大的文档管理程序?

    2009-11-15 17:44:00
  • mssql server 数据库附加不上解决办法分享

    2011-09-30 11:55:20
  • 如何创建一个对索引服务器进行查询的ASP页面?

    2009-11-14 20:54:00
  • HTML5 Canvas 起步(1) - 基本概念

    2009-04-21 13:14:00
  • mysql中普通索引和唯一索引的效率对比

    2010-12-08 16:03:00
  • 网页设计之关于素材和言志

    2008-03-23 13:46:00
  • ASP字符串16进制互转

    2008-06-24 12:28:00
  • 让复杂导航设计变得简单

    2008-01-07 11:50:00
  • asp之家 网络编程 m.aspxhome.com