Что делает Звездочка ( * ) в селекторе CSS?

Я нашел этот код 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>

5 ответов


это подстановочный знак, это означает, что он будет выбирать все элементы в этой части DOM.

например, если я хочу применить маржу к каждому элементу на всей моей странице, вы можете использовать:

* {
    margin: 10px;
}

вы также можете использовать это в суб-выборки, например следующими будет добавить запас на все элементы в тег абзаца:

p * {
    margin: 10px;
}

ваш пример делает некоторые уловки css, чтобы применить последовательные границы и поля к элементам, чтобы дать им несколько цветные границы. Например, белая граница, окруженная черной границей.


CSS, на который вы ссылаетесь, очень полезен веб-дизайнеру для отладки проблем макета страницы. Я часто временно опускаю его на страницу, чтобы увидеть размер всех элементов страницы и отследить, например, тот, у которого слишком много отступов, которые выталкивают другие элементы из места.

тот же трюк можно сделать только с первой строкой, но преимущество определения нескольких контуров заключается в том, что вы получаете визуальный ключ через цвет границы к иерархии вложенные элементы страницы.


* является подстановочным. Это означает, что он будет применять стиль к любому элементу HTML. Дополнительные * ' s применить стиль к соответствующему уровню вложенности.

этот селектор будет применять различные цветные контуры ко всем элементам страницы, в зависимости от уровня вложенности элементов.


* действует как подстановочный знак, как и в большинстве других случаев.

Если вы:

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

затем все HTML-элементы будут иметь эти стили.


в вашей таблице стилей обычно вам нужно определить основное правило для всех элементов, таких как атрибут размера шрифта и поля. {font-size: 14px; margin: 0; padding: 0;} / overide browser по умолчанию для элементов, весь размер шрифта текста будет отображаться как размер 14 пикселей с нулевым полем и заполнением, включая h1,...пред. */