笑脸是什么表情?:)&引用;在CSS中是什么意思?

笑脸是什么表情?:)&引用;在CSS中是什么意思?,css,css-hack,Css,Css Hack,我在一个项目中发现了这个CSS代码: html, body { :)width: 640px;} 我已经使用CSS很长一段时间了,但我以前从未见过这种“:”代码。这意味着什么,还是仅仅是一个输入错误?它看起来像是针对IE7和早期浏览器的CSS攻击。虽然这个是无效的CSS,浏览器应该忽略它,IE7和更早版本将解析并遵守这个规则。下面是一个正在进行的黑客攻击的示例: CSS body { background: url(background.png); :)background:

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

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

我已经使用CSS很长一段时间了,但我以前从未见过这种“:”代码。这意味着什么,还是仅仅是一个输入错误?

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

CSS

body {
    background: url(background.png);
    :)background: url(why-you-little.png);
}
IE8(忽略规则)

IE7(适用规则)

请注意,它不必是笑脸;提到:

这些字符的任意组合:
!$&*( ) = % + @ , . / ` [ ] # ~ ? : < > |
[在属性名称开始工作之前]Internet Explorer≤ 七,


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

还有一个黑客
但对于那些想看到真正的黑客,请打开在最新版本的IE你。然后通过执行F12进入开发人员模式。在仿真部分(ctrl+8),将文档模式更改为
7
,然后查看发生了什么


页面中使用的属性是
:)字体大小:50px

在我看来像是打字错误。开发人员试图变得有趣,或者可能是一种让他标记他或她将要查找的代码区域的方法?@stijn仍然可能是一些奇怪的特定于供应商的代码…@series0ne我想你从未见过Internet Explorer星号黑客。如果这确实是一种浏览器黑客,您需要在CSS文件中添加注释来解释这一点。我猜:代码作者键入:)认为重点是IM客户端。如果没有,他们点击IM客户端并从那里开始,从来没有意识到他们在光标所在的最后一个位置(CSS文件)键入了一个笑脸。我知道选择器前面有“u”和“*”,但你说的不是这个。@vlrprbttst这些是为了方便而使用的常规字符。然而,它总结了所有非字母数字的值。我将这个答案标记为正确的,虽然salman-a也是正确的,但有点慢。我知道这个黑客,但总是使用“*”。做这个页面的人是个小丑;)。我可能愚蠢到错过了这里的一些东西,但为什么他可以用两个字符呢?它说“添加一个非字母数字”,而不是“添加一个或多个…”。还是说
意味着别的什么?否则,我不能把
*******************字体大小:“150%”,等等?只是为了给这个答案增加一部分。答案很好也很正确,但忽略了这一事实,即这不是最佳实践。一般来说,您应该尽最大努力在您的用户群正在使用的所有浏览器中提供最佳体验。更不用说,在我看来,你不应该支持那些制造它们的公司不再支持的浏览器。GAH Hot dog stand Flashback是的,来自IE8和更高版本,IE认为自己是CSS兼容的,并且一点一点地破坏了他们所有针对IE的CSS修复。(因此,我们需要求助于javascript解决方案)所有网站都应该使用一个热狗摊主题,为所有@ikkuh公平起见,IE11是一款相当体面且兼容的浏览器。他们放弃支持IE有条件的评论是有原因的。@apj15243是的,他们已经走了很长的路,希望他们能继续前进,事实是我仍然需要有条件的支持,这不仅是IE11,还有10,9和8。所以,我们也希望自动更新,除了商业原因之外,没有理由不在XP上运行IE11。但这是一个不同的讨论。
div {
  color: blue;      /* All browsers */
  color: purple\9;  /* IE8 and earlier */
 *color: pink;      /* IE7 and earlier */
}
<!--[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]-->