/ / CSS - クラスの前のアスタリスクはどういう意味ですか? - css、css-selector

CSS - クラスの前にアスタリスクはどういう意味ですか? - CSS、CSSセレクタ

違いはなんですか? .some_class{} そして *.some_class{}.

それは、そのクラスが別のタグの内側にあるタグにのみ適用されるということですか、それともまったく違いがないということですか?

回答:

回答№1の場合は3

違いはありません。次のように要素型を指定しないと div または pその後、あなたが持っているかどうか * かどうかは関係ありません。たとえあなたがそれを除外したとしても、それはあなたがマッチしたいことを暗示しています どれか クラスを持つ限り、要素 some_class。から 仕様

ユニバーサルセレクターが*(つまり、 名前空間接頭辞なしの)は、単純なセレクタセレクタのシーケンスの唯一の構成要素ではないか、または直後に疑似要素が続く場合は、*を省略してユニバーサルセレクタの存在を暗示することができます。

例:

  • *[hreflang|=en] そして [hreflang|=en] 等価であり、
  • *.warning そして .warning 等価であり、
  • *#myid そして #myid 同等です。

他の要素の内側にある要素に関してあなたが説明したことは、 * スペースでクラスから分離されている。 * .some_class。それはクラスと要素を一致させるでしょう some_class それが他の要素の中にある場合に限ります(基本的にこれは決してルート要素と一致しないことを意味します)。

そして上の説明を * 暗示されているので、これはスペースを持つセレクターを以下と同等にするでしょう。 * *.some_class。ここであなたはそれを見ることができます ユニバーサルセレクタが使用されています。コンビネータ。 2番目のものは、クラスセレクタによって既に修飾されているため、偶然にオプションになっています(最初のものは、それ自体が存在するためオプションではありません)。


回答№2については4

違いはありません。 ここに

"*"と書かれたユニバーサルセレクタは、任意の要素型の名前と一致します。文書ツリーの任意の単一要素に一致します。

ユニバーサルセレクタが単純セレクタの唯一のコンポーネントではない場合は、 "*"を省略することができます。例えば:

*[lang=fr] and [lang=fr] are equivalent.
*.warning and .warning are equivalent.
*#myid and #myid are equivalent.

回答№3の場合は0

クラスがID(#id.class)を渡す前に、

置くことの間に違いはありませんアスタリスクかどうかは、アスタリスクはCSSがこのクラスの任意のIDに適用されることを意味するため、アステリスクなしでクラスを配置するのと同じです。

// This style will be applied to anybody that has the attribute class="my_class"
.my_class{
}

// This class will be applied to anybody to any id that also has the attribute class="my_class"
*.my_class{
}

それが役に立てば幸い!