从 !important 到关于叹号的 !一切

标签: 好奇心 八卦 | 发表时间:2012-05-06 21:41 | 作者:i404
出处:http://localhost-8080.com

!important 的困惑

我的邮箱里有一个 label 是“!important”,当初是取义自 CSS 的 !important,想借用“!important”的“重要”之义来标注重要邮件。后来就后悔了,由于 !important 这种叹号前置的格式像极了叹号作为逻辑非运算符的用法(为啥这句怎么读怎么像病句),每次用这个 label 的时候,都会有种在说这封邮件其实并不重要的感觉。 这种困惑最终蔓延到写 CSS 的过程中!终于有一天我被这叹号折磨得无法忍受了! 这 !important 到底是怎么来的!用叹号表示否定又是怎么来的!

// 常用叹号好伤神,刚刚打着打着情绪就莫名其妙激动起来了…

对 !important 这种古怪表达方式困惑的人当然不只我一个,stackoverflow上有个人也提了 类似的问题:“为什么 CSS 和 C-based (的)语言中叹号的涵义相反?”他还问道:“除了 CSS,还有什么语言是用叹号表达肯定而非否定的呢?”(随后有人提醒他,自然语言就是其中一种…) 回答很有趣,是这样说的:

在 !important 中,叹号更像是一个转义符,和 important 是一体的,而非操作符。它本身并不像你说的那样带有肯定的涵义。……选择用叹号的原因有可能是因为在非程序语言中,叹号有获取注意力的作用。或许将它写成 important! 或者 ¡important! 更容易理解,只不过 !important 更容易解析,打起来也更方便。

虽然这段解释很合理,但还是没法解决 !important 造成混淆的问题。改成 !unimportant 肯定更离谱了(除非你是用 More CSS,谢谢  @Nemo_A 告诉我这么有意思的东西,注意看页尾的 copyright 信息), 有人提议说把 !important 改成 !!important 就可以都说得通了,这想法太天才了,建议 More CSS 可以把这个建议纳入下一版。

More CSS

More CSS 的 !unimportant 用法

// 我不知道怎么过渡了。请大家把这里想像成自然和谐的过渡语句。

带着开始的那些感叹开始寻找叹号表示 not 的起源,从亚里士多德到布尔到丹尼斯里奇,都没什么有趣的发现。但是考据的乐趣并不是找到问题的终极答案,而是过程中发现的各种花边消息(这其实是一直以来在没有找到答案的时候为了安慰自己说的话)。叹号的故事还是蛮有意思的。

关于叹号的 !一切

  • ! 的起源:一种说法是说来源于拉丁语中对愉悦的感叹(io),”i”写到”o”的上面。
  • ! 可以念作 “Bang”,因为漫画中经常使用对话泡泡里一个 ! 来表示枪声。
  • 最早的打字机键盘中并没有叹号。叹号的打法是先打一个句点“.”,再退回去,补打一撇“’”,拼成一个“!”。叹号出现在打字机键盘上是在 1970s,大约是 QWERTY 键盘发明的一个世纪之后。
  • 含有叹号的地名:
    • 魁北克有一个地名叫 Saint-Louis-du-Ha! Ha!
    • 另外魁北克还有两个海湾和一条河的名字是以 ha! ha! 结尾的。
    • 英国有一个小镇叫 Westward Ho!,取名自 Charles Kingsley 的小说 Westward Ho!
    • 美国哈密尔顿 (Hamilton) 在1986年为了宣传改名为 Hamilton!

      Saint-Louis-du-Ha! Ha!

      连路牌也成为了景点

  • 雅虎 (Yahoo!) 之所以在 Yahoo 后面加了一个叹号,是因为 Yahoo 已经被 EBSCO 注册了, 加一个叹号在后面实属无奈之举
  • New York Times 评论专栏编辑 David Shipley 和 Hyperion Books 的主编 Will Schwalbe 合著了一本电子邮件撰写指南,名字大概叫做 “ Send: The Essential guide to Email for Office and Home“。书中指出电子邮件撰写中,使用叹号可以更好地表达期待和友好。比如 “Thanks!!!” 会比 “Thanks.” 更友好。
  • F. Scott Fitzgerald(《了不起的盖茨比》作者)反对使用叹号。他认为用叹号就好比笑自己讲的笑话一样。// 谁去翻翻《了不起的盖茨比》,里面真的没叹号吗?

无法控制地跑题

Cut out all those exclamation points. An exclamation point is like laughing at your own jokes.

– F. Scott Fitzgerald

// 要是我,会更喜欢这样说:

Cut out all those exclamation points! An exclamation point is like laughing at your own jokes!

– F. Scott Fitzgerald!

最后,贴个两年前关于叹号的笑话吧(其实通篇没有一个叹号出现):

世纪难题:P的阶乘等于NP

相关 [important 叹号] 推荐:

从 !important 到关于叹号的 !一切

- - 考据癖
!important 的困惑. 我的邮箱里有一个 label 是“!important”,当初是取义自 CSS 的 !important,想借用“!important”的“重要”之义来标注重要邮件. 后来就后悔了,由于 !important 这种叹号前置的格式像极了叹号作为逻辑非运算符的用法(为啥这句怎么读怎么像病句),每次用这个 label 的时候,都会有种在说这封邮件其实并不重要的感觉.

IE6 的 !important

- 蓝精灵 - 幸福收藏夹
从开始要学解决 CSS 兼容问题时候起,就经常听 important 有各种坏处,不要使用,并且 IE6 下不能生效. 所以一下没有用 !important. 直到昨天给新人讲 CSS 的时候,这个问题才被提起. 早上旁边的小姑娘又问起,我说写个测试. 由此我们可以得出的结论是:IE6 下是可以使用 !important 的,但相同选择器内如果 !important 不是写在最后,则 !important 失效.