検索
ホームページウェブフロントエンドCSSチュートリアルCSSセレクターの新しい使い方の詳細な説明

今では、数年前に jQuery が JS 開発の標準であったのと同じように、プリプロセッサ (sass など) が CSS 開発の標準になっているようです。 JS の querySelector は jQuery のセレクターのアイデアを利用しており、CSS セレクターもプリプロセッサ変数の定義、セレクターのネスト、コード ブロックの再利用などの一般的な機能を利用しています。この記事では、CSSセレクターの新しい使い方を詳しく紹介します。

変数

一般に、Web開発を行う場合、以下に示すように、sassを例として一連の変数定義仕様を用意します


// 颜色定义规范
$color-background : #222
$color-background-d : rgba(0, 0, 0, 0.3)
$color-highlight-background : #333
//字体定义规范
$font-size-small : 12px
$font-size-medium : 14px
$font-size-large : 18px

CSS変数の構文は次のとおりです

【宣言変数】

変数は -- で始まる必要があります。たとえば、 --example-variable: 20px は、 --example-varibale 変数に 20px を割り当てることを意味します

変数を宣言するステートメントを任意の要素内に配置できます。グローバル変数を設定したい場合は、次のように設定できます。 : root, body or html


:root{--bgColor:#000;}

変数宣言は通常のスタイル宣言文と同じように、インラインスタイルも使えます


<body style="--bgColor:#000">

【変数の使い方】

var()関数を使って変数を使用すると、どこでも使用できます。例: var(--example-variable) は、--example-variable に対応する値を返します


<body style="--bgColor:#000;">
    <p style="width: 100px;height: 100px;background-color: var(--bgColor)"></p>    
</body>

var() 関数にはオプションのパラメーターもあります。これは、変数が変更されたときにデフォルト値を設定するために使用されます。値を取得できません


<p style="width: 100px;height: 100px;background-color: var(--bgColor,pink)"></p>

【注意】CSS変数の詳しい使い方はこちらに移動します

@apply

@applyを紹介する前に、まずはミキシングマクロ@mixinを紹介しましょう。 sassでは、再利用可能なコードブロックを指します

例えば、共通テキストオーバーフロー非表示再利用


@mixin overflow-ellipsis{
    overflow:hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  };
p {
    @include  overflow-ellipsis;
}  

そしてアプリケーションルールセット@applyも同様の機能を実装しています。 var() と比較すると、@apply はスタイルのコレクションを参照しますが、var() は単一のスタイル値を参照します


:root{
  --overflow-ellipsis:{
    overflow:hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  };
}
.title{
  width:200px;
  @apply --overflow-ellipsis;
}

カスタムセレクター

カスタムセレクターは @custom-selector 定義を介して提供され、その後に次のようになります。 --次に、カスタム セレクターの名前、その後に定義する必要のあるセレクターをカンマで区切って複数指定します


@custom-selector :--heading h1, h2, h3, h4, h5, h6;

このように、:-見出しが使用可能な選択肢になります。上記の 2 つのコードは同じ効果があります


セレクターのネスト

CSS ルールには繰り返しのコンテンツが多く含まれています

:--heading{
  margin: 0;
}
h1, h2, h3, h4, h5, h6{
   margin: 0; 
}

ネストされた構文を使用した後のコードは次のようになります


table.colortable td {
  text-align:center;
}
table.colortable td.c {
  text-transform:uppercase;
}
table.colortable td:first-child, table.colortable td:first-child+td {
  border:1px solid black;
}
table.colortable th {
  text-align:center;
  background:black;
  color:white;
}

ネストされたスタイル ルールでは、親ルールと一致する要素を参照できなければなりません。結局のところ、それはネスト ポイント全体です。この目的を達成するために、この仕様では、ASCII 表記 &

として記述される新しいセレクター、ネストされたセレクターを定義します。ネストされたスタイル ルールのセレクターで使用される場合、ネストされたセレクターは、親ルールと一致する選択を表します。他の文脈で使用された場合、何も意味しません。 (つまり、有効ではあるが、どの要素とも一致しない)

【注意】ネストされたセレクターの間違った書き方は以下の2つです

table.colortable {
  & td {
    text-align:center;
    &.c { text-transform:uppercase }
    &:first-child, &:first-child + td { border:1px solid black }
  }
  & th {
    text-align:center;
    background:black;
    color:white;
  }
}

【@nest】

上記を解決するには、ネストされたセレクター & は脆弱です。@nest セレクターは、新しいバージョンの Chrome で使用できることを除いて、より幅広い用途に使用できます。 CSS セレクターの使用は現在ブラウザーではサポートされていません。しかし、CSS ポストプロセッサ postcss の cssnext プラグインはすべての問題を解決できます

cssnext 公式 Web サイトにあるように、今日から明日の CSS 構文を使い始めましょう

関連する推奨事項:


CSS セレクター フィールド解析の実装方法

CSSセレクターセレクターの詳しい説明

CSSセレクターのドット(.)の解決策

以上がCSSセレクターの新しい使い方の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Google Fontsをタグ付けし、Goofonts.comを作成する方法Google Fontsをタグ付けし、Goofonts.comを作成する方法Apr 12, 2025 pm 12:02 PM

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

時代を超越したWeb開発記事時代を超越したWeb開発記事Apr 12, 2025 am 11:44 AM

Pavithra Kodmadは、彼らが変化したWeb開発に関する最も時代を超越した記事のいくつかであると考えていることについて、人々に推奨事項を求めました

セクション要素との取引セクション要素との取引Apr 12, 2025 am 11:39 AM

2つの記事がまったく同じ日に公開されました。

graphQlの練習JavaScript APIでクエリをクエリしますgraphQlの練習JavaScript APIでクエリをクエリしますApr 12, 2025 am 11:33 AM

GraphQL APIの構築方法を学ぶことは非常に挑戦的です。ただし、10分でGraphQL APIを使用する方法を学ぶことができます!そして、それは私が完璧になったことがあります

コンポーネントレベルのCMSコンポーネントレベルのCMSApr 12, 2025 am 11:09 AM

コンポーネントがデータが近くに住んでいる環境に住んでいる場合、視覚コンポーネントと

円にタイプを設定します...オフセットパス付き円にタイプを設定します...オフセットパス付きApr 12, 2025 am 11:00 AM

ここでは、Yuanchuanからの合法的なCSSの策略があります。このCSSプロパティオフセットパスがあります。むかしむかし、それはモーションパスと呼ばれ、その後改名されました。私

CSSで「戻る」ことは何をしますか?CSSで「戻る」ことは何をしますか?Apr 12, 2025 am 10:59 AM

Miriam Suzanneは、このテーマに関するMozilla開発者のビデオで説明しています。

現代の恋人現代の恋人Apr 12, 2025 am 10:58 AM

私はこのようなものが大好きです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター