管理

关于HTML属性与CSS属性

Posted on 2009-07-27 08:37  lzhdim  阅读(935)  评论(0编辑  收藏  举报

今天收到了吴昊读者的提问,谈到关于HTML属性和CSS属性的问题,感到这个问题比较有意思,而且很重要,所以在这里同意回答一下。他的问题是这样的:

“谢谢此教程的编写者,给我们初级学习带来了便捷且有效的方式,在此表示诚挚的谢意!

不知道html有没有类似的教程,有些标记和html的功能一样,但是属性标记不同,比如说:font face(这个是字体);font-family(也是字体),这种对比是不是应该在学习的过程中,连带给提一下呢,谢谢!”

吴昊读者是一个喜欢思考的人,他说的这个问题确实如此,有的属性确实在HTML和CSS都有,那么我们到底应该使用那一个更好呢?

这首先要从HTML和CSS的核心思想谈起。在互联网发展的初期,各种规范还远没有像今天这样完善和普及,因此当时为了更容易被大家和软件厂商所接受,网页主要是由HTML来完成的,这样写起来更简单,因此一个网页的两个方面——“结构”和“表现”就都由HTML来承担,因此HTML标记就由两类构成——负责定义网页结构的标记,以及负责定义网页表现形式的标记。比如一个p标记,就是用来定义一个段落,这就是一个结构标记;而font标记,用于定义网页元素的字体,这就是“形式”标记。

这样一个HTML承担了双重任务,在早期网页都很简陋的时候,还问题不大,而随着网页越来越复杂、精致,问题就越来越显现出来了。由于结构和形式混杂在一起,使得网页非常混乱,难于维护、修改和升级。比如一个网页上如果多处文字是用font标记定义了字体,如果日后需要修改,就不得不依次修改每处font标记,这样对于一个大型的网站,无疑非常复杂。

因此,自然会有高人来解决这个问题,思路是很明确的,那就是“结构与表现”分离,而这就是CSS的核心思想,学习CSS,最重要的就是真正深刻理解这一点。使用CSS以后,HTML只负责定义网页的结构和内容,比如p标记的任务在CSS中是无法替代的,而font标记的作用则完全应该由CSS来负责定义。这样做的好处是,一个网页的“结构”和“表现”分离以后,网页就可以保持非常好的结构性,而如果希望修改网页的样式,也仅需要修改CSS中的相应设置即可,因此维护、修改、升级都变得非常高效。

对于HTML来说,后来W3C组织发布了XHTML规范,把诸多用于表现的标记都已经划归为“废弃”的标记,如果要按照Web标准的写法,就不应该使用了,当然这也不是非常严格,如果你要用的话,浏览器也还是可以正确显示的,当然,你应该再了解一下关于“文档类型”(DOCTYPE)的问题,这一点在视频教程里我们进行了讲解。

现在回到你的问题,对于font这样的标记,你应该用CSS来实现,而不应该使用HTML标记。而且你会发现,即使有的属性,它们二者看起来作用是相同的,但实际上CSS所能实现的控制远远比HTML的要细致、精确的多。比如font标记,你仔细比较一下,就会发现二者的区别。

希望上面的回答能够给大家一个比较明确的解释。

Copyright © 2000-2022 Lzhdim Technology Software All Rights Reserved