CSSセレクターでアスタリスク(*)は何をしますか?


98

私はこのCSSコードを見つけて実行し、ページのすべての要素の概要を示しました。

誰かがCSSでアスタリスク*が何をしているのか説明できますか?

<style>
* { outline: 2px dotted red }
* * { outline: 2px dotted green }
* * * { outline: 2px dotted orange }
* * * * { outline: 2px dotted blue }
* * * * * { outline: 1px solid red }
* * * * * * { outline: 1px solid green }
* * * * * * * { outline: 1px solid orange }
* * * * * * * * { outline: 1px solid blue }
</style>

@jasondavis-この質問はあなたのコードに固有です、または私は新しい質問をします。あなたのページは異なる色で複数のアウトラインを表示していますか?そのように異なる色を生成できる唯一の方法は、タグを指定してから* IE div * { outline ...}および* { outline ... }。私が使用している場合* { outline ... }* * { outline ... }、最後のCSSの記述が使用されています。
JabberwockyDecompiler 2013

回答:


95

これはワイルドカードです。つまり、DOMのその部分内のすべての要素を選択します。

たとえば、ページ全体のすべての要素にマージンを適用したい場合は、以下を使用できます。

* {
    margin: 10px;
}

これをサブ選択内で使用することもできます。たとえば、次のようにすると、段落タグ内のすべての要素にマージンが追加されます。

p * {
    margin: 10px;
}

あなたの例は、複数の色付きの境界線を与えるために要素に連続した境界線とマージンを適用するためにいくつかのcssトリックをしています。たとえば、黒い境界線で囲まれた白い境界線。


p *単に使用するのではなく使用することの利点は何pですか?
Solomon Closson 2013年

7
「利点」はありませんp。タグ内のすべての子孫要素を選択する方法です。あなたが持っていたのであればspanbstrongimgあなたの段落内など、それはそれらを選択し、それらにスタイルを適用します。
ソビエト2013年

30

参照したCSSは、Webデザイナーがページレイアウトの問題をデバッグするのに非常に役立ちます。一時的にページにドロップすることが多いので、すべてのページ要素のサイズを確認して追跡できます。たとえば、余白が多すぎて他の要素が適切に配置されていないなどです。

最初の行だけでも同じトリックを実行できますが、複数のアウトラインを定義する利点は、入れ子になったページ要素の階層に境界線の色を介して視覚的な手掛かりが得られることです。


2
最近のブラウザに組み込まれたインスペクタの方がはるかに効果的ですが、違いますか?またはfirebugを使用します。
Lawrence Dol 2013年

@SoftwareMonkey-はい、最近はそうです。ビルトインインスペクターは素晴らしいです。たとえば、Chromeを使用Ctrl+Shift+cして要素にカーソルを合わせると、Chromeが背景に色を付けます。このアスタリスクのスタイルをCSSにドロップするよりもはるかに高速です。
トム

1
ソビエトの答えは真実ですが、この答えは正しい答えとしてマークされているはずです、これは尋ねられた質問に対する正確な答えです。
ビリーサミュエル

4

*はワイルドカードです。これは、スタイルをHTML要素に適用するという意味です。追加の*は、対応するネストのレベルにスタイルを適用します。

このセレクターは、要素のネストレベルに応じて、ページのすべての要素に異なる色のアウトラインを適用します。


4

* 他のほとんどのインスタンスと同様に、ワイルドカードとして機能します。

もし、するなら:

*{
  margin: 0px;
  padding: 0px;
  border: 1px solid red;
}

そうすると、すべての HTML要素がそれらのスタイルになります。


0

スタイルシートでは、通常、font-size属性やマージンなどのすべての要素に基本的なルールを定義する必要があります。 {font-size:14px; マージン:0; padding:0;} /要素のブラウザのデフォルト設定を上書きすると、すべてのテキストのフォントサイズは、h1、... preを含め、マージンとパディングがゼロの14ピクセルサイズとしてレンダリングされます。* /

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.