不必要的<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>外包它们.
这些方法看起来只能节省无关紧要的一点大小,但是当开始为整个网站实施这些方法之后,精简,结构化的代码就会逐渐明朗,也会写出更灵活,符合语义,未来更容易维护的内容.
在"技巧延伸"中,让我们看看如何进一步发挥继承选择器的威力,为嵌套状清单指定样式,并且把它做成网站地图.
出处:蓝色理想
责任编辑:bluehearts
上一页 标记语言——精简标签 [3] 下一页 标记语言——精简标签 [5]
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|