[css] CSS에서 웃는 얼굴“:)”은 무엇을 의미합니까?

프로젝트 에서이 CSS 코드를 발견했습니다.

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

나는 오랫동안 CSS를 사용해 왔지만이 “:)”코드를 본 적이 없다. 그것은 무엇을 의미합니까 아니면 오타입니까?



답변

javascriptkit.com기사에서 IE 7 및 이전 버전에 적용 됩니다.

*속성 이름 바로 앞에 별표 ( ) 와 같은 영숫자가 아닌 문자를 추가 하면 속성이 다른 브라우저가 아닌 IE에 적용됩니다.

또한 <= IE 8에 대한 해킹이 있습니다 .

div {
  color: blue;      /* All browsers */
  color: purple\9;  /* IE8 and earlier */
 *color: pink;      /* IE7 and earlier */
}

그러나 그것은 좋은 생각이 아니며, 검증하지 않습니다. 특정 버전의 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 에서이 페이지 를여십시오. 그런 다음을 수행하여 개발자 모드로 이동하십시오 F12. 에뮬레이션 섹션 ( ctrl+ 8)에서 문서 모드를 변경 7하고 결과를 확인하십시오.

여기에 이미지 설명을 입력하십시오

페이지에 사용 된 속성은 :)font-size: 50px;입니다.


답변

IE7 및 이전 브라우저를 대상으로하는 CSS 해킹처럼 보입니다. 이 동안 이다 무효 CSS가와 브라우저는, IE7 무시하고 이전 구문 분석하고이 규칙을 존중. 다음은이 해킹의 예입니다.

CSS

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

IE8 (규칙 무시)

예 1-IE8

IE7 (규칙 적용)

예 1-IE7

웃는 얼굴 일 필요는 없습니다. BrowserHacks 는 다음과 같이 언급합니다.

이러한 문자의 모든 조합 :
[속성 이름이 작동하기 전에] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |


GAH 핫도그 스탠드 예가 여기에 있습니다 .


답변