ホームページ >ウェブフロントエンド >htmlチュートリアル >DIV+CSS 互換ソリューション_html/css_WEB-ITnose
CSS がさまざまなブラウザに対応していることはよくあることです。以下の内容は、まったく目新しいものではありません。
1. CSS HACK
現在、次の 2 つのメソッドでほぼすべての HACK を解決できます
1、! important
IE7 の ! important サポートにより、 ! important メソッドは IE6 の HACK のみに使用できるようになりました (記述に注意してください。宣言位置は事前に必要です。)
以下は引用内容です:
#wrapper
{
width: 100px! important
width: 80px;
; 2、Fire Fox 用 IE6/IE77
以下は引用された内容です:
*+html と *html は IE 固有のタグであり、Firefox ではサポートされていません。また、*+html は IE7 固有のタグです。 ;スタイル>
#wrapper { 幅: 120px; }
*html #wrapper { 幅: 60px;}
}
注:
*+html HACK for IE7 は保証されている必要があります HTML の先頭に次のステートメントがあります:
2. ユニバーサルフロートクロージャ
フロートクリアの原理については、[構造マークアップなしでフロートをクリアする方法]を参照してください
以下を追加しますコードをグローバル CSS に追加し、閉じる必要がある div に class="clearfix" を追加します。
以下は引用された内容です:
3. その他の互換性に関するヒント
1、FF Padding の div 設定により幅と高さが増加しますが、IE では増加しません (!重要)。 、中央揃えの問題です。
1) line-height を現在の div と同じ高さに設定し、vertical-align : middle を使用します。(コンテンツを折り返さないように注意してください。)
2)。 margin: 0 auto;(もちろん万能ではありません)
3. aタグ内のコンテンツにスタイルを追加する必要がある場合は、display: block;を設定する必要があります(Navigationタグで共通)
4, の違いFF と IE の間の BOX を理解すると、IE では 2px の違いが発生し、float に設定された div のマージンが 2 倍になるなどの問題が発生します。最後に、FF では ul タグにデフォルトでリストスタイルとパディングが付いています。不要なトラブルを避けるために、事前に宣言してください (ナビゲーション タグとコンテンツ リストで一般的です)
6. 高さの適応性を実現するには、div の高さを追加しないでください。 、ハンド カーソルについて。カーソル: ポインタ。ハンドは IE にのみ適用されます。
Firefox ie6 ie7 の CSS スタイル
現在、IE6 と Firefox のテストでは正常に表示できますが、
! important が正しく解釈されると、ページが必要に応じて表示されなくなります。ピンを見つけました
IE7 の良いハックは、「*+html」を使用することです。IE7 でブラウズすれば問題ありません。
次に、次のような CSS を記述します。
以下は引用された内容です:
#1 { color: #333; }
* html #1 { color: #666; }
*+html #1 { color: #999 ; }
すると、フォントの色は 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 を順番に分割できます。
各分割 div で MARGIN-RIGHT: auto;MARGIN-LEFT: auto; を定義するだけです。
3 ボックスモデルのさまざまな解釈
#box{ width:600px; //for ie6.0- width:500px; //for ff+ie6.0}
#box{ width:600px! important //for ff width :600px; //ff+ie6.0 の場合 width :500px; //ie6.0 の場合
4 浮動小数点によって生成される 2 倍の距離
#box{ float:left width:0; 0 0 100px; //この場合、IE は 200px の距離を生成します。 display:inline; //float を無視します。
Block 要素と inline という 2 つの要素について詳しく説明します。 Block 要素の特徴は次のとおりです。新しい行上 開始、高さ、幅、行の高さ、マージンはすべて制御可能 (ブロック要素) インライン要素の特徴は次のとおりです。 他の要素と同じ行上では... 制御できません (インライン要素)。 ;
#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果 diplay:table;
IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,
正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,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对象中的内容
...
...
のように書くことはできません