Link と @import の違いを詳しく見る

Link と @import の違いを詳しく見る
ページで CSS を使用する主な方法は、スタイル属性値をインラインで追加する方法、ページ ヘッダーでインラインで呼び出す方法、外部リンクを介して呼び出す方法の 3 つです。外部参照には、link と @import の 2 種類があります。 CSS を外部から参照する方法は 2 つあります: link と @import:

XML/HTML コード

コードをコピー
コードは次のとおりです。

<link rel="スタイルシート" rev="スタイルシート" href="CSS ファイル" type="text/css" media="all" />

XML/HTML コード

コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css" メディア="screen">
@import url("CSS ファイル");
</スタイル>

どちらも CSS を外部参照する方法ですが、いくつかの違いがあります

違い 1: link は XHTML タグです。CSS を読み込むだけでなく、RSS など他のものも定義できます。@import は CSS カテゴリに属し、CSS のみを読み込むことができます。

違い 2: リンクが CSS を参照する場合、ページが読み込まれると同時に読み込まれますが、@import はページが完全に読み込まれた後に読み込む必要があります。

違い 3: link は XHTML タグであり、互換性の問題はありません。@import は CSS2.1 で提案されており、それより低いバージョンのブラウザーではサポートされていません。

違い 4: ink は、スタイルを変更するために DOM を制御するための JavaScript の使用をサポートしていますが、@import はサポートしていません。

補足: @importの最適な書き方
@import を書くには、一般的に次の方法があります。

@import 'style.css' // Windows IE4/NS4、Mac OS X IE5、Macintosh IE4/IE5/NS4 は認識しません
@import "style.css" //Windows IE4/NS4、Macintosh IE4/NS4は認識しません
@import url(style.css) //Windows NS4、Macintosh NS4は認識しません
@import url('style.css') // Windows NS4、Mac OS X IE5、Macintosh IE4/IE5/NS4は認識しません
@import url("style.css") //Windows NS4、Macintosh NS4 は認識しません 上記の分析から、@import url(style.css) と @import url("style.css") が、最も互換性の高いブラウザーで最適な選択であることがわかります。バイト最適化の観点から、@import url(style.css) が最も推奨されます。

外部参照 CSS におけるリンクと @import の違い

この 2 日間で、XHTML で CSS を読み込む方法をいくつか書き終えました。その中で、CSS への外部参照は、link と @import の 2 つの方法に分かれています。
基本的に、どちらの方法も CSS ファイルを読み込むためのものですが、微妙な違いがあります。
違い1 :私たちの先祖間の違い。 link は XHTML タグですが、@import は完全に CSS によって提供されるメソッドです。
CSS の読み込みに加えて、link タグは RSS の定義、rel 接続属性の定義など、他の多くのことも実行できますが、@import は CSS のみを読み込むことができます。
違い2 :読み込み順序の違い。ページが読み込まれると (つまり、閲覧者がページを閲覧すると)、リンクによって参照される CSS は同時に読み込まれますが、@import によって参照される CSS はページ全体がダウンロードされるまで待機してから読み込まれます。そのため、@import を使用して CSS を読み込むページを閲覧すると、最初はスタイルが表示されず (ちらつきます)、ネットワーク速度が遅い場合はそれが顕著になります (Dream City は @import を使用して CSS を読み込みます。ダウンロード中に Dream City の Web ページを閲覧すると、上記の問題が発生します)。
違い3 :互換性の違い。 @import は CSS2.1 で提案されたため、古いブラウザではサポートされていません。@import は IE5 以降でのみ認識されますが、link タグではこの問題は発生しません。
違い 4 : DOM を使用してスタイルを制御する場合の違い。スタイルを変更するために DOM を制御するために JavaScript を使用する場合、@import は DOM によって制御できないため、リンク タグのみを使用できます。
基本的にはこれらが違いです(他にも違いがあれば教えてください。追加します)。残りは同じです。上記の分析から、リンクタグを使用する方が良いでしょう。
標準的な Web ページ作成で CSS ファイルを読み込む場合は、画面、印刷、すべてなど、読み込むメディアも選択する必要があります。これについては、CSS 上級チュートリアルで紹介します。
注記:
1. ネットユーザーのcomehop​​eさんは、彼のメッセージのもう一つの違いを指摘した。
違い 5: @import を使用すると、他のスタイルシートを CSS にインポートできます。たとえば、メイン スタイルシートを作成し、そのメイン スタイルシートに他のスタイルシートをインポートできます。
メイン.css

コードをコピー
コードは次のとおりです。

———————-
@import "sub1.css";
@import "sub2.css";
サブ1.css
———————-
p {色:赤;}
サブ2.css
———————-
.myclass {色:青}

これにより、変更や拡張が容易になります。
Monkey Tip: これを行うと、Web サイト サーバーへの HTTP リクエストが多すぎるという欠点があります。以前は 1 つのファイルでしたが、現在は 2 つ以上のファイルになり、サーバーの負荷が増大します。訪問者数が多い Web サイトでは注意して使用する必要があります。興味があれば、Sina などの Web サイトのホームページまたはコラム ホームページ コードを参照してください。これらの Web サイトでは、外部ファイルを使用せずに、常に CSS または JS を HTML に直接記述しています。

<<:  無効と読み取り専用の機能と違い

>>:  MySQL で重複行を見つけて削除する方法

推薦する

easycomモードでUNI-APPコンポーネントを呼び出す際に習得する必要がある実践的なスキル

この記事は議論の出発点となることを目的としています。詳細なドキュメントと easycom の仕様につ...

Vue 組み込みコンポーネントのキープアライブでの LRU アルゴリズムの使用

目次Vue の keep-alive 組み込みコンポーネントの使用でもこのアルゴリズムが使用されます...

見落としがちなVue.jsのAPIを詳しく解説

目次次のチェックv-model 構文シュガー.sync 修飾子$セット計算プロパティセット要約する次...

24 の実用的な JavaScript 開発のヒント

目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...

Web ページ制作におけるテーブル属性 CellPad、CellSpace、Border の説明と使用

cellspacing は表内のセル間の距離です。セルパディングは、表のセル内の空白スペースです。一...

ウェブサイトを構築するときは、UTF-8 または GB2312 エンコードを使用する必要がありますか?

外国のウェブサイトを開くと文字化けした文字が表示されることが多く、また、英語以外の外国のウェブサイト...

VueでEchartsチャートの幅と高さの適応を実現する実践

目次1. インストールとインポート2. 手ぶれ補正機能を定義する3. チャートコードを描くinit ...

MySQL でのデータベース間クエリの例

序文MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサー...

プロジェクトに必須の 8 つの JavaScript コード スニペット

目次1. ファイル拡張子を取得する2. コンテンツをクリップボードにコピーする3. スリープ時間は何...

Linux CentOS6.5 yum インストール mysql5.6

この記事では、Linux yumを使用してmysql5.6をインストールする簡単な手順を参考までに紹...

Vueコンポーネントは、写真やビデオをアップロードするためのサンプルコードをカプセル化します

まず依存関係をダウンロードします: cnpm i -S vue-uuid ali-oss画像フィール...

SQL GROUP BYの詳細な説明と簡単な例

GROUP BY ステートメントは、Aggregate 関数と組み合わせて使用​​され、1 つ以上の...

フラッシュプラグインを使用してPCのカメラを呼び出し、TMLページに埋め込む方法

序文この記事を書いた主な理由は、チームリーダーが、ブラウザを使用してコンピューターのカメラを呼び出し...

DockerコンテナにRedisをデプロイする手順の紹介

目次1 つの Redis 設定ファイル2 Dockerコマンドの開始3 docker-compose...

JavaScriptタイマーの詳細な説明

目次簡単な紹介間隔の設定説明するパラメータ戻り値使用法タイムアウトの設定説明するパラメータ使用法:タ...