菜鸟的叽叽歪歪
接触web开发一年多了,从完全不知道html跟css是干嘛的,到现在对他们有所理解并热爱着它们,这一切要感谢鬼哥(cssforest博主)在我入门的时候让我加入css森林群这个“变态”的地方,在这里我受益匪浅。这里充斥着对html跟css的激烈的讨论,其中不少关于语义化html的理解,语义化的html是html设计的本义,只是很多年后才被正确的认识。
我想说:HTML“不是”用来布局的
随着web2.0这个概念的大潮,网络上铺天盖地的宣传和传播着各种所谓“div+css”布局教程。嗯,国人喜欢跟随各种潮流,我也是因为这种潮流才接触的web开发。但是,我想说:HTML不是用来布局的。在微博上发了这句话后,马上就有人密我说:“那你用什么布局?除了div跟table,你还用什么?”。html是各种信息的载体,所以它表示的是各种信息的层次跟内容,布局就是让内容按照设想的样貌呈现,那是css的事。
语义化之路
html阐述着页面拥有者所要表达的各种信息,这些信息即使在无样式的条件下也能清楚地让浏览者知道页面上的内容和层次,但是显然这100多个标签所能表示的信息是有限的。在森林里经常有人会发一个设计图的某部分来问html结构要怎么写,因此可能会引起一堆的讨论,关于语义化的讨论。语义这东西本身就是有争议的,每个人的理解都会有些不同,最终问题可能无疾而终,一般提问者会选择大多数人赞成的方案,这个无可厚非。但是,我认为代码者写代码写的是自己的态度,自己的理解,自己所要传达给浏览者的信息。所以,为什么要拿设计图来讨论html结构,为什么不去掉样式看看你的代码所展示的真正含义,既然你这么纠结于语义化,那么就还原他本来的样貌,而不是在一堆修饰下看待结构。
那么如何来理解各种信息的语义,然后再通过传递类似信息的html标签来书写呢?我也没有答案。但是,你确定了解了各个标签及基本含义了吗?我想这是语义化的前提,估计很多人都只知道60%甚至更少,用到的标签更是少之又少。我们要做的是理解最基本的东西,再去思考更深一层的含义,才能将有限的语义扩展并承载无限的信息。
看完自己写的东西很装逼,但也是我的一点理解和思考,所谓语义,不就是你确切想告诉别人你想表达的东西么。