私はこの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
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |