笑脸是什么":)" CSS中的意思?

时间:2014-08-22 09:56:29

标签: css css-hack

我在项目中发现了这个CSS代码:

html, body { :)width: 640px;}

我已经使用CSS很长一段时间了,但我之前从未见过这个“:)”代码。它是什么意思还是只是一个错字?

2 个答案:

答案 0 :(得分:274)

来自article at javascriptkit.com,适用于 IE 7 及早期版本:

  

如果您在属性名称前添加非字母数字字符(如星号(*),则该属性将应用于IE而不是其他浏览器。

还有< = IE 8

的黑客攻击
div {
  color: blue;      /* All browsers */
  color: purple\9;  /* IE8 and earlier */
 *color: pink;      /* IE7 and earlier */
}

然而,这不是一个好主意,他们不会验证。您随时可以使用Conditional comments IE 的特定版本进行定位:

<!--[if lte IE 8]><link rel="stylesheet" href="ie-8.css"><![endif]-->
<!--[if lte IE 7]><link rel="stylesheet" href="ie-7.css"><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" href="ie-6.css"><![endif]-->

但是对于那些想要真正看到黑客的人,请在最新版本的IE中打开this page。然后通过执行 F12 进入开发人员模式。在“模拟”部分( ctrl + 8 )中,将文档模式更改为7,看看会发生什么。

enter image description here

页面中使用的属性为:)font-size: 50px;

答案 1 :(得分:169)

它看起来像是针对IE7和早期浏览器的CSS黑客攻击。虽然 无效的CSS和浏览器应忽略它,但IE7及更早版本将解析并遵守此规则。以下是这个黑客行动的一个例子:

<强> CSS

body {
    background: url(background.png);
    :)background: url(why-you-little.png);
}

IE8(忽略规则)

Example 1 - IE8

IE7(适用规则)

Example 1 - IE7

请注意,它不一定是笑脸; BrowserHacks提及:

  

这些字符的任何组合:
  的 ! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |
  [在属性名称可用之前] InternetExplorer≤7


The GAH hot dog stand example is here