프로젝트 에서이 CSS 코드를 발견했습니다.
html, body { :)width: 640px;}
나는 오랫동안 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;
입니다.
:
다른 의미가 있습니까? 그렇지 않으면 *********************font-size: "150%";
등을 넣을 수 없습니까?
IE7 및 이전 브라우저를 대상으로하는 CSS 해킹처럼 보입니다. 이 동안 이다 무효 CSS가와 브라우저는, IE7 무시하고 이전 구문 분석하고이 규칙을 존중. 다음은이 해킹의 예입니다.
CSS
body {
background: url(background.png);
:)background: url(why-you-little.png);
}
IE8 (규칙 무시)
IE7 (규칙 적용)
웃는 얼굴 일 필요는 없습니다. BrowserHacks 는 다음과 같이 언급합니다.
이러한 문자의 모든 조합 : [속성 이름이 작동하기 전에] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |