CSS における @ の使用法の概要 (例と説明付き)

CSS における @ の使用法の概要 (例と説明付き)

@ ルールは、CSS の実行または動作に関する指示を提供する宣言です。各宣言は @ で始まり、その後に使用可能なキーワードが続きます。このキーワードは、CSS が実行する内容を示す識別子として機能します。これは一般的な構文ですが、各 @ ルールには他の構文のバリエーションがあります。

一般規則

一般的なルールは次の構文に従います。

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

@[キーワード] (ルール);

@文字セット
このルールは、スタイルシートに非 ASCII 文字 (例: UTF-8) が含まれている場合にブラウザーが使用する文字セットを定義します。 HTTP ヘッダーに配置された文字セットは @charset ルールを上書きすることに注意してください。

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

@charset "UTF-8";

@輸入
このルールは、スタイルシートが要求されていることを示します。この行では、コンテンツが正しい場合、外部 CSS ファイルがインポートされます。

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

@import 'global.css';

一般的な CSS プリプロセッサはすべて @import をサポートしていますが、ネイティブ CSS とは動作が異なることに注意してください。プリプロセッサは CSS ファイルを取得して 1 つの CSS ファイルに処理しますが、ネイティブ CSS の場合、各 @import は個別の HTTP リクエストです。
@名前空間

このルールは、XHTML 要素を CSS のセレクターとして使用できるため、CSS を XML HTML (XHTML) に適用する場合に非常に便利です。

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

/* XHTML の名前空間 */
@名前空間 url(http://www.w3.org/1999/xhtml);
/* XHTML に埋め込まれた SVG の名前空間 */
@namespace svg url(http://www.w3.org/2000/svg);

ネストされたルール

ネストされたルールには追加のサブセット宣言が含まれており、その一部は特定の状況にのみ適用されます。

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

@[キーワード] {
/* ネストされたステートメント */
}

@書類
このルールはスタイルシートの条件を指定します。特定のページにのみ適用できます。たとえば、URL を指定して、この特定のページのスタイルをカスタマイズします。他のページでは、これらのスタイルは無視されます。

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

@書類
/* 特定のページのルール */
url(http://css-tricks.com/)、
/* URL が... で始まるページのルール */
url-prefix(http://css-tricks.com/snippets/)、
/* ドメインでホストされているすべてのページのルール */
ドメイン(css-tricks.com)、
/* すべてのセキュアページのルール */
正規表現("https:.*")
{
/* スタイリングを開始 */
本文 { フォントファミリー: Comic Sans; }
}

@フォントフェイス
このルールにより、Web ページにカスタム フォントを読み込むことができます。カスタム フォントのサポートにはさまざまなレベルがありますが、このルールではこれらのフォントを作成して提供するためのステートメントを受け入れます。

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

 @フォントフェイス {
フォントファミリ: 'MyWebFont';
ソース: url('myfont.woff2') フォーマット('woff2'),
url('myfont.woff') フォーマット('woff');
}

@キーフレーム
このルールは、多くの CSS プロパティの中でキーフレーム アニメーションの基礎となり、アニメーションの開始と終了をマークすることができます。

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

 @keyframes パルス {
0% {
背景色: #001f3f;
}
100% {
背景色: #ff4136;
}
}

@メディア
このルールには、特定の画面のスタイルを指定するために使用できる条件付き宣言が含まれています。これらの宣言には画面サイズを含めることができ、画面固有のスタイルで役立ちます。

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

 /* iPhone の縦向きと横向き */
@メディアのみの画面 
(最小デバイス幅:320ピクセル) 
(最大デバイス幅:480ピクセル)
および (-webkit-min-device-pixel-ratio: 2) {
.module { 幅: 100%; }
}

または、文書を印刷するときにのみスタイルを適用します

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

@media 印刷 {
}

@ページ
このルールは、印刷される個々のページのスタイルを定義します。特に、ページ疑似要素のマージンを設定できます::first、:left、:right

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

@ページ:最初{
余白: 1インチ;
}

@サポート
このルールは、ブラウザが特定の機能をサポートしているかどうかをテストし、サポートしている場合は、それらの要素に特定のスタイルを適用します。 Modernizr に少し似ていますが、CSS プロパティ用です。

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

/* サポートされている条件を 1 つチェックします */
@supports (表示: flex) {
.module { ディスプレイ: flex; }
}
/* 複数の条件をチェックする */
@supports (display: flex) と (-webkit-appearance: checkbox) {
.module { ディスプレイ: flex; }
}

要約する

@ ルールを使用すると、CSS でクレイジーで興味深いことを実現できます。この記事の例は基本的なものですが、特定の条件に合わせてスタイルを使用して、特定のシナリオに一致するユーザー エクスペリエンスとインタラクションを作成する方法を確認できます。

CSS における @ の使い方のまとめはこれで終わりです。CSS における @ の使い方に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Web でよく使われるフォントの紹介 (iOS および Android ブラウザでサポートされているフォント)

>>:  HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

推薦する

CSS でのナビゲーション バーとドロップダウン メニューの実装

1. CSSナビゲーションバー(1)ナビゲーションバーの機能ナビゲーション バーを使いこなすことは、...

均一なアニメーション効果を実現するJavaScript

この記事の例では、JavaScriptで等速アニメーションを実装するための具体的なコードを参考までに...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

MySQL 8.0.18 インストール構成の最適化チュートリアル

MySQLのインストール、設定、最適化は参考用です。具体的な内容は次のとおりです。 MySQL ダウ...

CSS マージンの重複とその防止方法

2 つ以上のブロックレベル ボックスの垂直に隣接するエッジが重なり合っています。結果として得られる境...

良いと思う国内のデザインサイトをいくつか選んでみました。

<br />私が良いと思った国内のデザインサイトをまとめてみました。広告ではありません!...

JS で単一ファイルコンポーネントを実装する方法

目次概要単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...

Docker で hyperf を開発する完全な使用例の詳細な説明

ハイパーフ公式サイトHyperf 公式ドキュメントのインストール1. Dockerの使用docker...

JavaScript を使用せずに HTML の a タグを無効にするには、純粋な CSS を使用します。

実際、この問題は、HTML の select タグを初めて学んだときにすでに発生していました。今日に...

MySQLデータベースの基礎知識と操作のまとめ

この記事では、例を使用して、MySQL データベースの基本的な知識と操作について説明します。ご参考ま...

HTML テーブルタグチュートリアル (8): 背景画像属性 BACKGROUND

テーブルの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できます。基本的...

mysql 5.6.23 winx64.zip インストール詳細チュートリアル

WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...

npmとcnpmを混在させる際の落とし穴の詳細な説明

目次原因理由NPM の紹介: CNPM の紹介:より良い方法方法の改善npm と cnpm を一緒に...

React で遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法

目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...

Linux がますます人気になっている 10 の理由

Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...