Ваша цель при написании CSS должна быть удобочитаемостью и удобством сопровождения вашей таблицы стилей. Обычно это означает написание как можно меньшего количества правил, цель, которая достигается путем использования как можно большего количества ярлыков, а также использования начальных значений CSS и надежных значений по умолчанию в таблице стилей браузера.
(Иногда вы можете захотеть немного продублировать правила, потому что у вас есть две части страницы, которые вы хотите одинаково стилизовать по стечению обстоятельств, и вы хотите разделить эти стили на разные разделы таблицы стилей, чтобы вы могли управлять наборы правил в группах.)
Не все значения по умолчанию для таблиц стилей браузера являются надежными, поэтому люди используют сброс CSS. (Хотя лично я считаю, что большинство из них слишком тяжеловесны и навязчивы. Большинство современных браузеров соглашаются с важными вещами, требуя всего лишь несколько подсказок тут и там, чтобы исправить определенные больные моменты. Затраты на установку десятка правил, таких как margin: 0
на каждый элемент в документе только кажется чрезмерным.)
Многие свойства в вашем примере в любом случае являются начальными значениями и / или значениями таблицы стилей по умолчанию, поэтому вы ничего не получите, включив их. (border-width: 0
технически не является начальным значением, но поскольку border-style: none
есть, вы не заметите разницы.) Ваши правила будут намного легче справляться с минимальным написанным:
body { margin: 0; }
#someID { width: 720px; margin: 0 auto; }
что вы думаете об определении класса, подобного
.foo {background:transparent; border:0; margin:0; padding:0;}
Ну, это зависит от foo
. Если у вас есть много элементов на странице, которые представляют одну и ту же вещь, вы, безусловно, должны пометить их class
и оформить их одинаково.
Но если вы просто хотите применить некоторые стили к загрузке несвязанных элементов, вам следует настроить таргетинг на них отдельно (используя ,
в селекторе). Не загрязняйте разметку контента проблемами стиля, добавляя фиктивные классы, такие как class="red_thing big_border"
.
Как бы то ни было, с теми правилами, которые являются значениями по умолчанию для большинства элементов, включая <div>
, .foo
, в любом случае было бы бесполезным.