css Hack


良いコードの書く習慣
ウェブサイトのフロントの設計の仕事をして、いつもブラウザの互換性の問題に出会って、だからコードが規範と標準をやり遂げる必要があって、たくさんのごみを書いて更に修正することを望む人は、きっと少数です.
   
Hackの手順
Firefoxをプラットフォームとして使用すると、コードが十分に標準的に書かれている限り、実際にはHackが必要な場所は多くなく、IE以外のブラウザではほとんど問題がないので、一時的に無視することができます.順序は以下の通りです.
Firefox->IE 6->IE 7->その他
   
Hackの方法
方法としては2つあるが、1つは異なるファイルで処理する、もう1つは同じファイルで処理する.実は作用は同じで、ただ出発点が違うだけです.
   1. 同じファイルで処理する例えば、id="bgcolor"のコントロールは、IE 6に青、IE 7に緑、Firefoxなどの他のブラウザに赤を表示する.
   
#bgcolor {
	background:red !important; /* Firefox        */
	background:blue; /* IE6 */
}
*+html #bgcolor {
	background:green !important; /* IE7 */
}

 
   
IE 6は認めない!important、認めない*+html.だからIE 6はblueしかない.IE 7承!important,也认*+html,优先度:(*+html+!important)>!important > +html. IE 7はred,blue,greenであるもよいが,greenの優先度は最も高い.Firefoxと他のブラウザはすべて認識します!important. !important優先、Firefoxはredとblueでよいがred優先度が高い.
上記の優先符号はいずれもCSS 3規格で許可する、他のブラウザにも他のHackメソッドがあるが、私はこれまでFirefoxが正常で、IE以外の他のブラウザが正常でない場合に遭遇したことがないので、共有できない.コード仕様さえあれば、このような状況の発生は珍しいと信じている(JavaScriptを除く).
 
2.異なるファイルでの処理.なぜ同じファイルで処理できるのか、複数のファイルに異なるブラウザのために書かれているのか.これはW 3 Cの検証ツールをだますためで、実は2つのファイルだけを必要として、1つはすべてのブラウザのためで、1つはIEのためにサービスします.W 3 Cに一致するすべてのコードを1つの中に書きますが、いくつかのIEで必要なものは、W 3 Cで検証できないコード(cursor:handなど)です.別のファイルに入れて、次の方法でインポートします.
 
<!--            -->
<link rel="stylesheet" href="style.css" type="text/css" />
<!--     IE    ,       W3C     -->
<!--[if IE]>
	<link rel="stylesheet" href="style_ie.css" type="text/css" />
<![endif]-->

 
 
 
ウェブフロントの互換性は、過去のブラウザに対するサポート(前方互換性)に限らず、将来のブラウザサービス(後方互換性)に限られるべきである.ブラウザの発展が速いため、よくインターネットを利用する人はソフトウェアを更新する頻度が非常に高いため、後方互換性の意義は以前の互換性よりも重要である.どのように後方互換性がありますか?基準を満たす限り、あなたのサイトは永遠に時代遅れになりません(IEシリーズを除く).だから私の目的はできるだけ標準をやり遂げるので、やむを得ずやっとHackして、そしてできるだけ比較的に簡単な方法を使って解決します.