ホームページ >ウェブフロントエンド >htmlチュートリアル >div+CSS ブラウザの互換性問題の整理 (IE6.0、IE7.0、ie8、FireFox...) 3_html/css_WEB-ITnose
IE7.0 出来了,对CSS的支持又有新问题。浏览器多了,网页兼容性更差了,疲于奔命的还是我们 ,为解决IE7.0的兼容问题,找来了下面这篇文章: 现在我大 部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没 按要求显示!下面是三个浏览器的兼容性收集.
第一种,是CSS HACK的方法
height:20px; /*For Firefox*/
*height:25px; /*For IE7 & IE6*/
_height:20px; /*For IE6*/
注意顺序。
这样也属于CSS HACK,不过没有上面这样简洁。
#example { color: #333; } /* Moz */
* html #example { color: #666; } /* IE6 */
*+html #example { color: #999; } /* IE7 */
第二种,是使用IE专用的条件注释
第三种,css filter的办法,以下为经典从国外网站翻译过来的。.
新建一个css样式如下:
#item {
width: 200px;
height: 200px;
background: red;
}
新建一个div,并使用前面定义的css的样式:
ブラウザ HACK とは: 異なるブラウザ (Firefox IE7 IE6) を使用して同じ Web サイトやページにアクセスすると、正常に表示されるものもあれば、異常に表示されるものもあり、非常にイライラします。あるブラウザの問題を修正しましたが、別のブラウザには新たな問題が発生しています。 HACK は、CSS 内でさまざまなブラウザをサポートするスタイルを個別に記述することができる方法です。今では調和が生まれています。ふふ! powered by 25175.net
Microsoft が最近リリースした IE7 ブラウザの互換性は、確かに一部の Web ページ作成者にとって大きな負担となっています。IE7 は標準化されましたが、FF とはまだ多くの違いがあるため、IE7 を使用する必要があります。 HACK 多くの友人が IE7 の HACK とは何なのかと尋ねましたが、私も実は知りません。 IE7 用の特定の HACK はまだ見つかりません。前回の記事に加えて、「CSS Style for Firefox IE6 IE7」のハック方法も非常に役立ちます。
少し論理的思考ができる人なら、IE と FF の HACK を一緒に使用できることを知っているでしょう。たとえば、次の 3 つの HACK があります: (初心者に適しています。笑、専門家はここを通り過ぎます。)
プログラム コード
いいえ、1 つの HACK、IE FF はすべてのブラウザーに共通です (実際には HACK ではありません)
height:100px;
2 つ目の HACK は IE6 専用です
_height:100px;
3 つ目の HACK は IE6 と IE7 に共通です
* height:100px;
これら 3 つの HACK を紹介したので、スタイル内の各属性に対して IE6 IE7 FF 固有の HACK を定義する方法を見てみましょう。次のコードを見てください。順序は間違っていません。プログラムコード
height:100px;
*height:120px;
_height:150px;
各ブラウザがこれら 3 つの属性をどのように理解するかを簡単に説明します:
FF では 2 番目と 3 番目の属性が認識されないため、 reads height :100px;
IE7 では、IE7 は 3 番目の属性を認識しないため、1 番目と 2 番目の属性を読み取ります。また、2 番目の属性が最初の属性を上書きするため、IE7 は最終的に 2 番目の属性 *height:120px; を読み取ります。
IE6 では、3 つの属性すべてを読み取ることができ、3 番目の属性は最初の 2 つの属性を上書きするため、IE6 は最終的に 3 番目の属性を読み取ります。
1 Firefox ie6 ie7 の CSS スタイルについて
現在、ほとんどの場合、ハッキングに ! important が使用されています。ie6 および Firefox のテストでは、正常に表示できますが、ie7 は ! important を正しく解釈できます。このページをクリックしないでください。 「*+html」を使用する IE7 用の良いハックを見つけました。IE7 で参照すると、次のような CSS を書くことができます。
#1 { color: #333; /* Moz */
* html #1 { color: #666; } /* IE6 */
*+html #1 { color: #999; } /* IE7 */
すると、Firefox ではフォントの色が #333 として表示されます。 IE6 ではフォントの色は #666、IE7 では #999 になります。
2 CSS レイアウトのセンタリングの問題
主なスタイル定義は次のとおりです:
body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; }
説明:
まず、親要素の TEXT-ALIGN: center を定義します。これは、IE の場合、親要素のコンテンツが中央に配置されることを意味します。
しかし、mozilla の中心に置くことはできません。解決策は、子要素を定義するときに「MARGIN-RIGHT: auto;MARGIN-LEFT: auto;」を追加することです。この方法を使用してページ全体を中央に配置したい場合は、使用しないことをお勧めします。 DIV では、分割された各 div で MARGIN-RIGHT: auto;MARGIN-LEFT: auto; を定義するだけで、複数の div を順番に分割できます。
3 ボックス モデルのさまざまな解釈。
#box{
width:600px;
//ie6.0 の場合 - width:500px;
//ff+ie6.0 の場合
}
#box{
width: 600px! 重要
//for ff
width:600px;
//for ff+ie6.0
width /**/:500px;
//for ie6.0-
}
4 浮動IEによって生成される2倍の距離
#box{ float:left; width:100px; margin:0 0 0 100px; この場合、IE は 200px の距離を生成します。 // float を無視します。詳細、Block要素の特徴は、常に改行で始まり、高さ、幅、行の高さ、余白をすべて制御できることです(Inline要素)。それは他の要素と同じ行にあるということです ...Uncontrollable (embedded elements);
#box{ //インライン要素をブロック要素としてシミュレートできます。 //配置の効果を実現します。同じ行に diplay:table;
5 IE 幅と高さに関する問題
IE は min- の定義を認識しませんが、実際には通常の幅と高さを min があるかのように扱います。これは大きな問題です。通常のブラウザでは幅と高さだけを使用すると、幅と高さは変化しません。 IEではすべて設定されています。たとえば、背景画像を設定する場合は、この幅がより重要になります。この問題を解決するには、次のようにします:
#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}
6 页面的最小宽度
min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把 width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个
p对象中的内容