Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

DTD 与 CSS 类名的大小写

  今天有个小女孩给了我一段驼峰写法的 css 类名,我习惯性地在 HTML 中使用了全小写,结果就呵呵了。后来才发现,class 是区分大小写的,于是三观尽毁。在我的记忆中 css 的类名一直都是不区分大小写的,搞了这么多年前端,连最基础的东西都搞错,我也是醉了。

那段神奇的过去

  其实我的记忆也并不是完全错误的,CSS 曾经确实不区分大小写,至少我刚开始开始搞 Web 的时候确实是如此。那个年代只要 IE6 上能跑就 OK,其它浏览器的用户还没有成为用户群,于是各种乱七八糟的 IE6 Only 写法横行。后来没过多久我所在的团队就决定全部使用纯小写类名了,自己再也没有遇到过因为 CSS 类名大小写产生的问题。

怪异模式下确实不区分大小写

  现代浏览器的怪异模式下(缺省 DTD)确实还可以零星地看见那段神奇的历史。 <style>
.helloworld { color: red; }
.HelloWorld { color: green; }
</style>
<div class="helloworld">helloworld</div>
<div class="HelloWorld">HelloWorld</div>
  上面这个代码在怪异模式下应该是两行文字都绿色,因为类名不区分大小写的缘故。

其它情况都区分大小写(即使是 HTML 4)

  正常的项目中都会对全局统一使用一种 DTD(有些公司的操蛋项目例外),所以目前大部分情况下 CSS 的类名是区分大小写的。 <!DOCTYPE html>
<style>
.helloworld { color: red; }
.HelloWorld { color: green; }
</style>
<div class="helloworld">helloworld</div>
<div class="HelloWorld">HelloWorld</div>
  上面这个代码中的两段文字应该分别是红色和绿色。

建议

  大小写依然是个坑爹的问题,无论 DTD 如何,我还是建议全部使用小写。

网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^