クロスブラウザの問題に対する 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 でダイナミックな波効果を実現

推薦する

CentOS 6.2 に MySQL 5.7.28 をインストールするチュートリアル (mysql ノート)

1. 環境整備1.MySQLインストールパス: /usr/local 2. CentOS 6.2 ...

MySQLオンラインDDLの使用に関する詳細な説明

目次文章LOCKパラメータアルゴリズムパラメータCOPY TABLE プロセスIN-PLACEプロセ...

Centos7 への MySQL8 のインストールチュートリアル

MySQL 8 の新機能: MySQL をバージョン 5.x から 8.x に直接アップグレードする...

シームレスなトークンリフレッシュを実現する方法

目次1. 需要方法1方法2方法3 2. 実装3. 問題解決質問1: トークンの複数回の更新を防ぐ方法...

dockerfile における ENTRYPOINT と CMD の組み合わせと違い

前回の記事【dockerコンテナのためのdockerfileを詳しく解説】では、dockerfile...

IE ブラウザの HTML ハック タグの概要

コードをコピーコードは次のとおりです。 <!--[if !IE]><!-->...

React ページ ターナーの実装 (フロント エンドとバックエンドを含む)

目次フロントエンド上記のアイデアに従って、ページめくり機能を設計して記述します。バックエンド(Jav...

MYSQL(電話番号、IDカード)データ非感応化の実装

1. データ感度低下の説明日常の開発ニーズでは、データの感度低下が頻繁に発生します。たとえば、ID ...

JavaScript のディープコピーの落とし穴

序文以前、ある会社の面接に行ったとき、面接官から「オブジェクトを深くコピーするにはどうすればよいです...

MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法

説明する2 つの日付間の時間間隔を返します。文法DateDiff(間隔、日付1、日付2 [、週の最初...

Dockerコンテナでユーザーを分離する方法

前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...

Reactの二次連携を実現する方法

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

Linuxシステムにおける重要なサブディレクトリの問題について話す

/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...

テーブルを作成するための MySQL SQL ステートメントの詳細な概要

mysql テーブル作成 SQL ステートメントMySQL テーブルを作成するための一般的な SQL...

vue 要素 el-transfer にドラッグ機能を追加

コア資産管理プロジェクトでは、el-transfer にドラッグ アンド ドロップによる並べ替えと、...