DIV+CSS_html/css_WEB-ITnose を設計する場合の IE6、IE7、および FF の互換性関連の機能
Web サイトをデザインするときは、さまざまなブラウザーとの CSS スタイルの互換性に注意を払う必要があります。特に、完全に DIV CSS を使用してデザインされた Web サイトの場合は、IE6 IE7 FF と CSS スタイルの互換性にさらに注意を払う必要があります。ネットワークが混乱している可能性があるので、外出時に影響を及ぼしたくない場合があります。
すべてのブラウザに共通の高さ: 100px;
IE6 固有の高さ: 100px;
現在、次の 2 つの方法でほぼすべての互換性の問題を解決できます (あまり推奨されていません。1 つを使用してください)。
IE7 の ! important サポートにより、 ! important メソッドは IE6 とのみ互換性があります。(書き方に注意してください。宣言位置を事前に指定する必要があることに注意してください。)
コード:
< スタイル >
#wrapper {
width: 100px! important; /* IE6 */
}
コード:
< style >
#wrapper { width : 120px } /* FireFox */
*html #wrapper { width : 80px } / * ie6 固定 */
style >
注:
*+html IE7 との互換性を確保するには、HTML の先頭に次のステートメントが必要です:
2. Universal Float クロージャ (非常に重要!)これを使用して、複数の div を整列させるときに不正確な間隔が発生する問題を解決できます
float をクリアする原理については、[構造マークアップを使用せずに Float をクリアする方法] を参照してください
閉じる必要があるものについては、次のコードをグローバル CSS に追加します。 div に class="clearfix" を追加するだけで、毎回機能します。
コード:
< style >
content: ".";ブロック;
高さ : 0 ;
可視性 : 非表示 ;
.clearfix {
表示 : インラインブロック ;
/* IE Mac から非表示にする */
.clearfix ;
/* IE Mac からの非表示の終了 */
style >
3. その他の互換性のヒント (非常に便利)
1. FF の下の div にパディングを設定すると、幅と
2. 中央揃えの問題
1) line-height を現在の div と同じ高さに設定し、vetical-align を渡します。 (コンテンツを折り返さないように注意してください。)
2) 水平方向の中央揃え: 0 auto; (もちろん普遍的ではありません)
3. a タグ内のコンテンツにスタイルを追加する必要がある場合は、 set display: block; (ナビゲーションタグで共通)
4. FF と IE のペア BOX の理解の違いにより、2px の違いが発生し、IE では float に設定された div のマージンが 2 倍になるなどの問題が発生します。
5. ul。タグにはデフォルトでリストスタイルとパディングが含まれており、不必要なトラブルを避けるために事前に宣言することをお勧めします。高さの適応性を実現するには、オーバーフロー: 非表示を追加するのが最善です。
ハンド カーソル: ポインタについては、コードを貼り付けます: 最も推奨されるモードと互換性があります。
< スタイル >
/* FF */
フロート: 左;
高さ: 24 ピクセル;
/* IE6 */
margin-top : 21px ;
}
/* IE7 */
*+html .submitbutton {
margin-top : 21px ;
;
ブラウザの互換性とは: 異なるブラウザ (Firefox IE7 IE6) を使用して同じ Web サイトまたはページにアクセスすると、正常に表示されるものもあれば、異常に表示されるものもあり、CSS を記述するときに非常にイライラします。このブラウザの問題を修正したところですが、別のブラウザには新たな問題が発生しています。互換性は、CSS 内でさまざまなブラウザをサポートするスタイルを個別に作成できるようにする方法です。今では調和が生まれています。ふふ!
Microsoft が最近リリースした IE7 ブラウザの互換性は、確かに一部の Web ページ作成者にとって大きな負担となっています。IE7 は標準化されましたが、FF とはまだ多くの違いがあるため、IE7 の互換性を使用する必要があります。友人にIE7の互換性はどうなっているのかと聞かれましたが、実は分かりません。 IE7 に特化した互換性はまだ見つかりません。前回の記事に加えて、「CSS Style for Firefox IE6 IE7」の互換性方法も非常に便利です。
少し論理的思考ができる人なら、IE と FF の互換性を一緒に使用できることを知っているでしょう。たとえば、次の 3 つの互換性オプションがあります: (初心者に適しています。笑、専門家はここで終了します。)
プログラム コード
1 つ目は互換性があり、IE FF はすべてのブラウザに共通です (実際には互換性はありません)
height:100px; 2 つ目は IE6 のみと互換性があります
_height:100px; 3 つ目は IE6 と互換性がありますは IE7 に共通です
*height:100px;
これで互換性が得られたので、スタイル内の各属性に対する IE6 IE7 FF の互換性を定義する方法を見てみましょう。間違っています:
プログラム コード
height: 100px;
*height: 120px;
_height:150px;
FF では、FF は 2 番目と 3 番目の属性を認識しません。 reads height:100px;
IE7 では 3 番目の属性が認識されないため、最初と 2 番目の属性が読み取られ、2 番目の属性が最初の属性をカバーするため、IE7 は最終的に 2 番目の属性 *height:120px; を読み取ります。 IE6 以下では、3 つの属性はすべて IE6 によって認識されるため、3 つすべての属性を読み取ることができます。また、3 番目の属性が最初の 2 つの属性を上書きするため、IE6 は最終的に 3 番目の属性を読み取ります。
1 Firefox ie6 ie7 用の CSS スタイル
現在、ほとんどの CSS スタイルは ! important と互換性があります。ie6 および Firefox のテストでは正常に表示できますが、ie7 は ! important を正しく解釈できるため、ページが必要に応じて表示されません。 ! 「*+html」を使用して IE7 と互換性のある方法を見つけました。次のように CSS を記述します。
< style > #1 { color : #333 ; } /* モズ */
* html #1 { カラー : #666 ; } /* IE6 */
*+html #1 { カラー : #999 } /* IE */
スタイル >
すると、フォントの色は Firefox では #333、IE6 では #666、IE7 では #999 として表示されます。
2 CSS レイアウトの中央揃えの問題
主なスタイル定義は次のとおりです。
body { TEXT-ALIGN : center }
#center { MARGIN-RIGHT : auto ; } style >
手順:
まず親要素で TEXT-ALIGN: center を定義します。これは、IE では親要素のコンテンツが中央に配置されることを意味します。
この方法を使用してページ全体を中央揃えにしたい場合は、含めないことをお勧めします。 DIV では、複数の div を順番に分割できます。分割した各 div で MARGIN-RIGHT: auto;MARGIN-LEFT: auto; を定義するだけです。
ボックス モデルの 3 つの解釈box {
width : 600px!重要
// ff の場合
// ff+ie6.0 の場合
width /**/ : 500px
// ie6.0-の場合 }
スタイル>
4 浮动ie产生的双倍距离
#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}
这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,…不可控制(内嵌元素);
#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果
iplay:table;
5 IE与宽度和高度的问题
IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:
< style >
#box { width : 80px ; height : 35px ; } html>body #box { width : auto ; height : auto ; min-width : 80px ; min-height : 35px ; }
style >
6 页面的最小宽度
min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把 width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个
然后CSS这样设计:
< style >
#container {
min-width : 600px ;
width : e-xpression(document.body.clientWidth < 600? "600px": "auto" ) ;
}
style >
第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。
7 清除浮动
.兼容box{
display:table;
//将对象作为块元素级的表格显示
}
或者
.兼容box{
clear:both;
}
或者加入:after(伪对象),设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,所以并不影响到IE/WIN浏览器。这种的最麻烦的
……#box:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
8 DIV浮动IE文本产生3象素的bug
左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.
< style >
#box {
float : left ;
width : 800px ; }
#left {
float : left ;
width : 50% ; }
#right {
width : 50% ;
}
*html #left {
margin-right : -3px ;
//这句是关键
}
style >
HTML代码
< DIV id =box >
< DIV id =left > DIV >
< DIV id =right > DIV >
DIV >
9 属性选择器(这个不能算是兼容,是隐藏css的一个bug)
p[id]{}div[id]{}
p[id]{}div[id]{}
这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用
属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.
10 IE捉迷藏的问题
当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。
解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。
11 高度不适应
高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用
margin 或paddign 时。例:
p对象中的内容
CSS:
#box {background-color:#eee; }
#box p {margin-top: 20px; margin-bottom: 20px; }
解決策: P オブジェクトの上と下に追加します。 2 空の div オブジェクト CSS コード: .1{height:0px;overflow:hidden;} または DIV に border 属性を追加します。
IE ブラウザをブロックします (つまり、IE では表示されません)
*:lang(zh) select {font:12px ! important;} /*FF, OP Visible*/
select:empty {font:12px ! important; ;} / *safari で表示*/
ここで選択するのはセレクターで、状況に応じて変更できます。 2 番目の文は、MAC 上の Safari ブラウザーに固有のものです。
IE7 のみ認識
*+html {…}
IE7 専用のスタイルを作成する必要がある場合、この互換性を使用できます。
IE6 以下の識別
* html {…}
多くの地主は、IE6 と互換性があると書いています。実際、IE5.x もこの互換性を識別できます。他のブラウザでは認識されません。
html/**/ >body select {……}
この文は前の文と同じ効果があります。
IE6のみ認識しない
select{display /*IE6は認識しない*/:none;}
これは主に、コロンの前に解放される CSS コメントを通じて属性と値を分離するためのものです。
IE6 と IE5 のみが認識しません
select/**/ { 表示 /*IE6、IE5は認識しません*/:none;}
上記の文との違いは、セレクターと中括弧の間に追加の CSS コメントがあることです。
IE5 だけが認識しない
select/*IE5 が認識しない*/ { display:none;}
この文は、前の文から属性領域のコメントを削除します。 IE5 のみが認識しません
Box モデル ソリューション
selct {width:IE5 を処理することが重要です。これは明確にする必要があります。
select:after {content:"."; display:block; height:0; clear:both; Visibility:hidden;}
子がすべてフローティングの場合、親の高さは子全体を完全にラップすることは不可能であり、この明確な浮動互換性を使用して親を一度定義すると、この問題は解決できます。
select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrapoverflow:hidden; }
これは、長さを超えたテキストを自動的に切り取り、終了します。省略記号を使用するのは良いテクニックです。 Firefox が現在サポートしていないだけです。
@media all and (min-width: 0px){ select {……} }
Opera ブラウザ用に別途設定を行います。
IE5.x 用のフィルター。IE5.x のみが表示されます
@media tty {
i{content:"";/*" "*/}} @import 'ie5win.css' /*";}
} /* */
/**//*/
@import "ie5mac.css";
/**/
IE のみ
すべての IE が認識できます
IE5.0 のみが認識できます
IE 5.0 以降のみ
IE6のみ認識可能
IE 7/-のみ
IE 7/-のみ
IE7のみ認識可能
CSS には、特定のルールに従わない場合に非常に腹を立てるものがたくさんありますが、多くの互換性と多くの ! important を使用して制御できますが、そうすることは非常に嫌になるでしょう。長期的には、多くの優れた Web サイトを見て、その CSS によって IE6、Ie7、Firefox、さらには Safari や Opera さえも完璧に動作するのを見てうらやましく思いませんか?そして、一見複雑なテンプレートは互換性をほとんど使用していません。実際、IE と Firefox はそれほど不調和なものではなく、これらを調和して共存させる特定の方法を見つけることができることを知っておく必要があります。互換性のある方法を見つけたら、すべてをマスターしたことになるとは考えないでください。私たちは互換性の奴隷ではありません。
div ul li のネスト順序
今日は 1 つのルールだけを説明します。
- の三角関係です。私の経験では、が外側にあり、
- が内側にあり、
- 内にネストすることはお勧めできません。たくさんのものを詰め込みます。このようなルールに従うと、
- の代わりに
- を内側に置くだけで、不運で不従順なギャップが発生しなくなります。通常の状況では、IE6 と IE7 には、何もないところからさらに多くのギャップが生じます。しかし、多くの場合、次の行に進むと隙間は消えますが、前の内容は空になっています。この場合、IE の Margin を変更し、Firefox で Padding を調整すると、両方が表示されるようになります。効果は非常に似ていますが、CSS が非常に臭くなり、この問題に対する可能な解決策をさらに考える必要があります。それらすべてと互換性があることはわかっていても、死ぬほどイライラすることになります。
具体的なネストの書き方
上記のネスト方法に従い、
を指定して、ul {CSSのMargin : 0px;Padding:0px;list-style:none;}、ここで list-style:none は、ドットや数字などのディレクトリ タイプのタグが - タグの先頭に表示されないようにするためです。デフォルト 効果は多少異なります。したがって、IE6、IE7、Firefox で表示される内容 (外側の余白、間隔、高さ、幅) にはほとんど違いはありません。ある時点では 2 つありますが、これはすでに完璧です。表示を制御するために大きな CSS を調整する必要はありません。通常、この互換性は 1 つまたは 2 つだけです。さまざまな場所に適応できるため、さまざまな互換性メソッドをさまざまな場所で繰り返しデバッグする必要がなく、トラブルが軽減されます。 ul.class1、ul.class2、ul.class3 {xxx:xxxx} を使うと互換させたい箇所を簡単に振り分けて互換させることができます。 Div+CSS メソッドではほぼ無制限にネストすることができますが、上記のルールに従えば、よりリラックスして、半分の労力で 2 倍の結果が得られます。
- を内側に置くだけで、不運で不従順なギャップが発生しなくなります。通常の状況では、IE6 と IE7 には、何もないところからさらに多くのギャップが生じます。しかし、多くの場合、次の行に進むと隙間は消えますが、前の内容は空になっています。この場合、IE の Margin を変更し、Firefox で Padding を調整すると、両方が表示されるようになります。効果は非常に似ていますが、CSS が非常に臭くなり、この問題に対する可能な解決策をさらに考える必要があります。それらすべてと互換性があることはわかっていても、死ぬほどイライラすることになります。
を - 内にネストすることはお勧めできません。たくさんのものを詰め込みます。このようなルールに従うと、

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
