Jump to content
  • 0

Про *


web-monster
 Share

Question

Здравствуйте.

Где-то здесь на форуме ругали конструкцию а-ля

* {

margin: 0;

padding: 0;

}

Одно я запомнил точно - это плохо. :)

Но есть вопрос: а можно ли использовать * к примеру вот так?

#header * {

color: #abc;

}

<div id="header">

<h1>Заголовок сайта</h1>

<p>Что-то там</p>

<span>Еще раз что-то там</span>

</div>

Т.е. задавать единое свойство для всех элементов внутри определенных тегов. Имеет смысл использовать такой способ? И аргументы "за" и "против".

Извиняюсь, если вопрос примитивный или уже где-то был :)

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Ну основных неприятностей от звездочки две:

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

Эти стили будут применяться к элементам форм. Если необходимо оставлять внешний вид элементов форм нетронутым (таким, каким его рисует ОС), то будут проблемы. Внешний вид по умолчанию изменится, а отменить эти стили будет невозможно. Попытки просто переопределить их приведут к тому, что сохранить исходный внешний вид для всех браузеров и всех платформ не получится. Если и это не важно — нет причин беспокоиться.

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

Link to comment
Share on other sites

  • 0

а почему нельзя? Так даже правильней будет.

Допустим у вас в абзаце есть курсив и жирный шрифт и заголовки, и если все они должны быть одного цвета, то это будет правильней, чем каждому из них отдельно прописывать цвет.

Я порой задаю цвет сразу для body.

Edited by Softlink
Link to comment
Share on other sites

  • 0

Наследование некорректно работает в ИЕ7.

По поводу #header * есть заметка тут. По этому это тоже не есть гуд.

Упс, а в каких случаях, например?

Мне часто приходится намеренно не полагаться на наследование, поэтому я даже не в курсе :)

Link to comment
Share on other sites

  • 0

Ну я не про автонаследование скорее, а про CSS-значение inherit. Хотя может и автонаследование не у всех свойств работает, 100% не скажу но кажись сталкивался.

UPD: Опять же таблицы не наследуют стили родителя...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy