为标签正名之“也谈语义化”

标签语义化这个词儿,很多人提,也提了很久,至于好处呢,也都至少能罗列个两三条,譬如:有利于seo(这条快被说坏了~)、代码结构更清晰,增强了可读性等等。那为什么提了这么久,很多网站的代码语义化做得还是很不够呢,当然了,这个某种程度上也“归咎”于浏览器,为什么这么说呢,谁它不管三七二十一只要认识,哪怕不规范不标准的东西,都尽量好好显示出来呢?这是它的好,却也纵容了页面仔的坏习惯。除了这个呢,下面两个估计也是很重要的原因。

一、元素渲染方式简单

按大的类来分,涉及到结构,就两种,“块级”和“行内”,这样导致什么呢,只要能正常的,按照想要的方式给显示出来,没有多少人会去太在意是不是语义合适,或许很多人说,我能做好代码的组织和优化,能做好浏览器良好兼容性就行了,结构不必那么较真,交给css去自由发挥呗,呵呵,其实远远不够,下面就来“审讯”CSS~。

二、结构、表现分离

这同样是除了小白是个人都知道的东西,但有没有想过多少人因为这句话,就分离了自己的“价值观”?~为什么分离?分离了之后我们就只需要去维护css?css功力够好就万事大吉了么?我曾经跟一个人聊天,当时挺正常的聊天,然后,那时公司也准备招人,我就问他有没有意向,然后问了一点技术上的问题,令我感到诧异的是,在没有给出任何要求和提示的情况下,他就跟我说了一堆怎么居中,哪块儿浮动到哪边,再然后,几句话的过程,一个页面就被它“说”出来了,当时我在想,网页真如它所说的可以信“嘴”拈来?他真的很厉害?我当然相信他能写出网页,但是,我肯定不相信它能把html给写好。结构和表现分离并没有错,写好css更没有错,但是,咱能不能先把结构写好呢?一个好的结构不仅增强了代码可读性,同时也大大减轻了css的压力,你是否常常因为要加强一条样式规则的权重而去增加嵌套层级?你是否因为一个容器里包含了太多的p或者span,但你却要为其中一部分应用不同的样式,无奈之下多定义一个类?增加了html代码的“补丁‘不说,还要为起个类名想半宿(都懂的,很蛋疼)。其实用好了标签的语义,就相当于为它省掉了一个类,省去了二次说明。随着css3选择器的增强,这种情况是会有所缓解,但是否能让更多的人重视结构还有待观察。

html简单?

圈儿里流行这么个说法——“html很简单,常用的标签不多”。这句话一般用来安慰和鼓励没什么基础,又有恐英语初学者,可是,人的思想总是习惯性往前走,也是会自动发散的,当试用了那仅有的几个标签就能满足自己的常见需求,紧接着css,当又遇到了js,jq……偶My God!这似乎一个比一个高端大气上档次,也一个比一个难啃,于是倾力为之,陶醉其中,也迷失其中,久而久之,忘了看看来时的路,以至于在跟别人聊起前端技术的时候,三言两语带过了html,大谈css,js,特别是现在“新”技术盛行,css3,各种css,js框架,哪有功夫去理html?人们更加注意的是,一个工具多么牛掰,一个效果炫到多么不可思议。html真的简单么?答案是否定的,特别是,正在进入的html5时代,它就更不简单,现在重视起来还来得及。

那么问题来了(不是挖掘机哈!~)

当要在网页中放入一个插件要用什么标签?播放多媒体文件呢?图象热区呢?文章标题除了h1~h6还能用什么?联系人信息要用什么?的区别是?你知道存在这样的标签么?表格除了

,,
,你还知道哪些呢?你知道

是吧?那是神马?你知道某些标签已经被抛弃了但是它的功能被加入了css3的属性么?好吧,这些咱以后慢慢聊。

最后一个问题,html总共多少标签?(自己慢慢数去吧~)