В чем разница между нормализацией.CSS и сброс в CSS?

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

в чем разница между нормализуется.в CSS и сброс CSS?

в чем разница между нормализацией CSS и сбросом CSS?

Это просто новое слово для сброса CSS?

7 ответов


Я работаю над нормализацией.стиль CSS.

основные отличия:

  1. нормализуется.css сохраняет полезные значения по умолчанию, а не" unstyling " все. например, такие элементы, как sup или sub "просто работать", а после нормализуется.css (и на самом деле сделаны более надежными), тогда как они визуально неотличимы от обычного текста после включения сброса.стиль CSS. Итак, нормализоваться.css не накладывает визуальную отправную точку (гомогенность) на вы. Это может быть не всем по вкусу. Лучше всего экспериментировать с обоими и посмотреть, какие гели с вашими предпочтениями.

  2. нормализуется.css исправляет некоторые распространенные ошибки, которые выходят за рамки сброса.стиль CSS. он имеет более широкий диапазон, чем сброс.css, а также предоставляет исправления ошибок для общих проблем, таких как: настройки отображения для элементов HTML5, отсутствие font наследование по элементам формы, исправление font-size рендеринг для pre, SVG переполнение в IE9, и button ошибка стиля в iOS.

  3. нормализуется.css не загромождает ваши инструменты разработки. общее раздражение при использовании reset.css-это большая цепочка наследования, которая отображается в инструментах отладки CSS браузера. Это не такая проблема с normalize.css из-за целевых стилей.

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

  5. нормализуется.CSS имеет лучшую документацию. нормализация.код css документируется как встроенный, так и более полно в GitHub Wiki. Это означает, что вы можете узнать, что делает каждая строка кода, почему она была включена, каковы различия между браузерами и легче запускать собственные тесты. Проект призван помочь обучить людей тому, как браузеры отображают элементы по умолчанию, и облегчить им участие в представлении улучшений.

Я написал более подробно об этом в статье о нормализации.в CSS


основное различие заключается в том, что:

  • CSS сбрасывает цель удалить все встроенные стили браузера. Стандартные элементы, такие как H1-6, p, strong, em и т. д., В конечном итоге выглядят совершенно одинаково, не имея никакого украшения. Вы должны добавить все украшения себя.

  • нормализовать CSS стремится сделать встроенный стиль браузера последовательный в разных браузерах. Элементы как H1-6 будет отображаться жирным шрифтом, больше и так далее в согласованном порядке в браузерах. Вы должны добавить только разница в украшении ваши потребности дизайна.

Если ваш дизайн a) следует общим соглашениям для типографики и т. д., и b) нормализуется.css работает для вашей целевой аудитории, а затем с помощью Normalize.CSS вместо сброса CSS сделает ваш собственный CSS меньше и быстрее писать.


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

Я использую оба.

некоторые стили из Reset, некоторые из Normalize.стиль CSS. Например, от нормализации.css, есть стиль, чтобы убедиться, что все входные элементы имеют один и тот же шрифт, который не происходит (между текстовыми входами и textareas). Сброс не имеет такого стиля, поэтому входы имеют разные шрифты, что обычно не требуется.

таким образом, в основном, использование двух файлов CSS делает лучшую работу "выравнивание" всего ;)

с уважением!


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

сохраняет полезные значения по умолчанию, в отличие от многих CSS сбрасывает.


переустановить кажется необходимостью соотвествовать спецификациям нестандартной конструкции, специально на сложных, типе конструкторских проектах non-boilerplate. Похоже, что нормализация-хороший способ продолжить чисто веб-программирование, но часто веб-сайты-это брак между веб-программированием и правилами дизайна UI/UX.


первый reset.css - худшая библиотека, которую вы можете использовать, потому что она удаляет стандартную структуру HTML и отображает все, что вы пишете, как текст, после присвоения значений заполнения полей и других атрибутов 0. Так, например, вы найдете, что <H1>, будет таким же, как <H6>.

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


иногда, лучшим решением является использование обоих. Иногда, это использовать ни. И иногда, это использовать то или другое. Если вы хотите, чтобы все стили, включая поля и отступы, были сброшены во всех браузерах, используйте reset.стиль CSS. Затем примените все украшения и стили самостоятельно. Если вам просто нравятся встроенные стили, но вы хотите больше кросс-браузерной синхронизации, т. е. нормализации, используйте normalize.стиль CSS. Но если вы решите использовать оба сброса.CSS и нормализовать.css, свяжите сброс.стиль CSS стилей, а затем нормализуется.CSS таблица стилей (сразу) после этого. Иногда вопрос не в том, что лучше, а в том, когда использовать, а когда использовать и то, и другое. ПО МОЕМУ.