dudo博客

6月
14

    你知道(X)HTML中最多余的标签中是什么吗?在我看来就是这个<a>标签,不错,就是每个网站使用最多的超级链接标签<a>。也许有些人会认为我在哗众取宠,说大话。的确,没有超级链接的网页仅仅是一个“文件”而已,没有超级链接也就没有Internet(万维网)。但是,我这里说的<a>标签(元素)而不是超级链接。或者换个简单的说法,我认为超级链接使用<a>标签的设计很不合理。

    为什么这么说呢?先看看<a>标签的使用方法:
1. 为文本增加超级链接:
    <a href="http://www.dudo.org">dudo博客</a>
2. 为一个图片增加超级链接:
   <a href="http://www.dudo.org/"><img src="…" alt="dudo博客" /></a>
3. 为一个列表中的内容增加一个超级链接:
    <ul>
        <li><a href=
http://www.dudo.org/">dudo博客</a></li>
   </ul>
4. 还有其它更加复杂的情况:
     <li><a href="http://www.dudo.org/"><span>dudo博客</span></a></li>
等等。

    我们观察一下,一面的几种情况,在(X)HTML中增加超级链接的办法就是在元素的外围加上<a>标签即可,而且<a>这个元素也没有其它额外功能,而且<a>标签在页面中出现的频率十分这高,它每出现一次就增加一个DOM层深。应对这种出现频率最高、功能却很单一的情况,一种很好的解决办法就是:把超级链接作为元素的属性。例如,使每一个元素都有一个可选的href 属性用于指向超级链接方向。那么上面的几种情况可以简单地写为:

1. 为文本增加超级链接:
    <span href="http://www.dudo.org">dudo博客</span>
2. 为一个图片增加超级链接:
   <img src="…" alt="dudo博客" href="http://www.dudo.org/" />
3. 为一个列表中的内容增加一个超级链接:
    <ul>
        <li href=
http://www.dudo.org/">dudo博客</li>
   </ul>
4. 还有其它更加复杂的情况:
    <li href="http://www.dudo.org/"><span>dudo博客</span></li>

    可以看出,现有的元素完全可以胜任没有<a>的(X)HTML。这种改进有意义吗?有。因为<a>出现的概率实在是太高了,这么一个小小的改动,对你整个网站的性能应该有不小地提高。而类似onclick等鼠标事件,其它元素也是具有的,因此,目前看来仅仅实现超级链接功能似乎没有必要单独一个标签来完成,感觉这像是HTML中<font>的作用了。

    不过这已经是XHTML 2中的一部分了,只是在XHTML 2仍然保留了<a>元素。



共有(8)条评论

lin1605 发表于 2008-6-15 at 15:57 #1楼

呵呵,这个看法不错,支持[smile]

[回复]


8765 发表于 2008-6-16 at 10:25 #2楼

你的意思是给每个元素都加上href属性。[reply=dudo,2009-04-25 09:30 PM]是的,这是XHTML 2中的一个改进[/reply]

[回复]


haixiao218 发表于 2008-6-16 at 18:25 #3楼

那如果给链接定义样式呢?是不是会更加烦琐呢?!(要是每个链接的样式都不一样那不是更麻烦了。。。)

[回复]


lijing0033 发表于 2008-6-17 at 09:30 #4楼

这样容易使语义产生混乱啊。更何况单字母标签是如此之少,更应当珍惜才对

[回复]


托马斯 发表于 2008-6-17 at 09:53 #5楼

不尽合理,A不单单是链接,还有很重要的一点是,它是内联元素,给标签加href="",如果那个元素是块元素,而且本身又没有约束宽度,那么就会导致整行都是链接的触发范围,用户体验不是很好!

[回复]


jaoooo 发表于 2008-6-17 at 10:06 #6楼

还要涉及js css

[回复]


Betty 发表于 2008-12-11 at 17:27 #8楼

说的有理,不过你的第四个例子中span标签好像是多余的啊……除非像羽中说的那样只包住li中的部分文字 :)

[回复]


随便说两句
名字:
Email:
网站:
内容:

无觅相关文章插件,快速提升流量