クロスブラウザの問題に対する 5 つの解決策 (要約)

クロスブラウザの問題に対する 5 つの解決策 (要約)

簡単なレビュー: ブラウザの互換性の問題は、しばしば頭痛の種となります。ここでは、これらの問題を回避するための 5 つのヒントを紹介します。

1. CSS3スタイルのプレフィックス

box-sizing や background-clip などの最新の CSS スニペットを使用する場合は、適切なプレフィックスを使用するようにしてください。

-moz- /* Firefox および Mozilla ブラウザ エンジンを使用するその他のブラウザ */
-webkit- /* Safari、Chrome、その他のWebkitエンジンを使用するブラウザ */
-o- /* オペラ */
-ms- /* IE ブラウザ (ただし、必ずしも IE とは限りません) */

2. リセットを使用する

normalize.css を使用できます。ここでは、Genesis Framework スタイル シートから私が使用しているものを示します。

html、本文、div、span、アプレット、オブジェクト、iframe、h1、h2、
h3、h4、h5、h6、p、引用、a、略語、頭字語、アドレス、
大きい、引用、削除、dfn、em、画像、ins、kbd、q、s、サンプル、小さい、
ストライク、ストロング、サブ、スーパー、TT、ヴァール、B、U、I、センター、DL、DT、
dd、ol、ul、li、フィールドセット、フォーム、ラベル、凡例、表、キャプション、
tbody、tfoot、thead、tr、th、td、記事、脇、キャンバス、詳細、
埋め込み、図、図キャプション、フッター、ヘッダー、hgroup、入力、メニュー、
nav、出力、ルビー、セクション、概要、時間、マーク、オーディオ、ビデオ {
境界線: 0;
マージン: 0;
パディング: 0;
垂直位置合わせ: ベースライン;
}

3. パディング幅を避ける

要素の幅であるパディングを追加すると、要素の幅は大きくなります。幅とパディングが一緒に追加されます。
これを修正するには、以下を追加します。

* { -webkit-box-sizing: border-box; /* Safari/Chrome およびその他の WebKit ブラウザ*/
-moz-box-sizing: border-box; /* Firefox およびその他の Gecko ベースのブラウザ*/
ボックスのサイズ: 境界線ボックス; }

4. クリアフロート

清掃しないと、問題が起こりやすくなります。ご興味がございましたら、Chris Coyier によるこの記事をお読みください。

これは次の CSS スニペットを使用してクリアできます。

 .parent-selector:after {
 コンテンツ: "";
 表示: テーブル;
 クリア: 両方;
 }

ほとんどの要素をラップする場合、これをラップ クラスに追加すると非常に簡単に実行できます。

 .wrap:after {
 コンテンツ: "";
 表示: テーブル;
 クリア: 両方;
 }

終わり!

5. テスト

独自のクロスブラウザ インフラストラクチャを作成するか、Endtest を使用します。
これらのことを習慣にすれば、ブラウザの問題の 90% を解決できる可能性があります。

オリジナルリンク:

クロスブラウザの問題を回避する 5 つのコツ

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  JavaScriptの浅いコピーと深いコピーについての簡単な説明

>>:  CSS Houdini でダイナミックな波効果を実現

推薦する

Vue2/vue3 ルーティング権限管理方法の例

1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...

SpringBoot と Vue の相互作用におけるクロスドメイン問題の解決策

目次ブラウザ同一生成元ポリシー1. VUEフロントエンド構成プロキシはクロスドメインの問題を解決しま...

JavaScript の絶妙なスネーク実装プロセス

目次1. HTML構造を作成する2. テーブルを作成する3. ヘビの頭と体を作る4. 食べ物を作る5...

リストループスクロールを実現するための HTML+CSS+JavaScript サンプルコード

説明: 指定された時間内に前のノードのコンテンツを置き換えるタイマーを設定します。 1. キーコード...

クラウド決済を実装するWeChatミニプログラムについて

目次1. はじめに2. 思考分析3. クラウド決済のケーススタディ1. クラウド機能1-1. 認証不...

現在のマウススライドの座標を取得するVue+openlayer5メソッド

序文: Vue プロジェクトで現在のマウスの座標を取得するにはどうすればよいでしょうか。ここで共有す...

HTMLはテキスト行のインターセプトの実装原理とコードを超えています

複数行を超えるテキストをインターセプトするための HTML コードは次のとおりです。 HTML:コー...

HTML テーブル タグ チュートリアル (47): ネストされたテーブル

<br />このページでは、テーブルをネストすることで組版を実現しています。つまり、1 ...

React+Ant Design開発環境をセットアップするための実装手順

基礎1. スキャフォールディングを使用してプロジェクトを作成し、開始する1.1 足場を設置する: n...

CSS の :focus-within の楽しさについて簡単に説明します

Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...

バックアップ データをインポートするときに innodb_index_stats がエラーを報告する場合の主キー競合の解決方法

障害の説明percona5.6、mysqldump フルバックアップ、バックアップデータのインポート...

JavaScript BOM の説明

目次1. BOMの紹介1. JavaScriptは3つの部分から構成される2.ウィンドウオブジェクト...

MySQL の複数テーブル関連付け 1 対多クエリを使用して最新のデータを取得する方法の例

この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...

CSS プロパティ *-gradient の実用的な価値を探る

まず興味深い性質であるconic-gradientを紹介しましょう。円錐グラデーション!円グラフの作...

CentOS7 カーネル カーネル5.0 バージョンアップグレード

アップグレードプロセス:元のシステム: CentOS7.3 [root@my-e450 ~]# un...