人は一度慣れてしまうと、それを変えるのが難しくなります。さまざまな理由から、新しいブラウザが増えていますが、古いブラウザをなくすことはできません。成長は常に死よりも速いため、ブラウザーの互換性は終わりのないトピックになります。ブラウザの互換性といえば、 CSS HACK が当然思い浮かびます。現在、社内には通常、同じ作業を行うチームがあり、メンテナンスを容易にするためにコーディングの統一された仕様が必要です。互換性を解決する方法は、解決すべき最も重要な仕様の 1 つです (これは問題が発生する可能性が最も高いため、そうであるに違いありません)。
互換性ソリューションに関して、統一仕様を策定する場合、以下の 3 点が基本原則となるべきだと個人的には考えています。
ここでコストを優先するということは、完璧を追求することに消極的であるという意味ではありません。完璧をあまりにも意図的に追求すると、コストを考慮した上で、保守可能で読みやすいものである必要があり、これはチームにとって非常に重要です。最終的な結果はコストの削減です。
まずこれら 3 つの原則を保存して、互換性のある問題を解決するための通常の記述方法を見てみましょう (ハック方法の詳細なリストは後で添付します)。
1.CSSセレクターハック
/* オペラ */
@media すべておよび (-webkit-min-device-pixel-ratio:10000)、すべてではなく、および (-webkit-min-device-pixel-ratio:0)
{頭~体 .sofish{ディスプレイ:ブロック;}}
この書き方の長所と短所は次のとおりです。
2.CSSプロパティハック
.sofish{
パディング:10ピクセル;
パディング:9px9; /* すべてつまり */
パディング:8px ; /* ie8-9 */
*パディング:5px; /* ie6-7 */
+パディング:7px; /* ie7 */
_padding:6px; /* ie6 */
}
この書き方の長所と短所は次のとおりです。