Статьи

Сбрасывать или не сбрасывать — это вопрос CSS

Каждый веб-браузер использует базовую таблицу стилей. Это гарантирует, что HTML отображается достаточно хорошо, когда вы не предоставляете пользовательский CSS. Вы знаете, что такое: синий для не посещаемых ссылок, фиолетовый для посещенных ссылок, жирный для strongh1 Итак, как вы можете убедиться, что на ваш пользовательский CSS не влияет стиль по умолчанию, реализованный на конкретном устройстве?

Введите сброс CSS. Они удаляют большинство стилей, поэтому элементы отображаются в разных браузерах. Как правило, все шрифты и высота строк возвращаются к 100%, поля и отступы равны 0px, границы удаляются, а упорядоченные / неупорядоченные списки становятся не стилизованными.

CSS Reset Эрика Мейера был одним из первых и является самым известным и используемым. Таблица стилей HTML5 Reset от доктора HTML5 также может помочь в оформлении новых элементов. Есть несколько других — CSSReset.com предоставляет большой выбор и документацию.

Вы используете сброс CSS? Вы должны?

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

  1. Они обеспечивают чистый холст; любые применяемые стили (почти) обязательно будут вашими собственными.
  2. Разработка может быть более логичной: вы добавляете стили, а не удаляете или модифицируете их.
  3. Проблемы совместимости браузера могут быть сведены к минимуму.

Несмотря на эти преимущества, я не использую перезагрузки CSS. На самом деле, это не совсем так — я часто использую базовое поле и сброс отступов, потому что значения по умолчанию редко бывают полезными:

 
* { padding: 0; margin: 0; }

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

Мои основные проблемы с перезагрузкой CSS:

Дополнительный вес страницы
Большинство сбросов CSS добавляет около 2 КБ кода (без сжатия). Это может звучать немного, но это большие издержки, когда большинство моих CSS-файлов редко превышают 10 КБ.

Дополнительные усилия
Сброс CSS требует от вас изменения стиля всех ваших элементов, что добавляет веса вашему файлу. Хотя иногда я доволен настройками браузера по умолчанию. Вес шрифта, высота строки, контуры ссылки, маркеры и другие стили часто бывают хороши. Если это не так, я изменю их соответственно.

Различные браузеры отображают страницы по-разному
Нет двух одинаковых браузеров, но некоторые люди ожидают идеального рендеринга на всех устройствах. Сброс CSS часто создает впечатление, что эта цель достижима. Это не.

Лично я не возражаю, если заголовки в Firefox в 2 раза больше, чем IE, или идея Opera о «жирном шрифте» немного тяжелее, чем у Chrome. Сброс CSS никогда не решит эти проблемы за вас.

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

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

Хотя это не так сложно, сброс CSS — это фреймворк, который может привести к неожиданным результатам.

Они не экономят время
Сброс CSS когда-либо экономил вам часы разработки?

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

В качестве теста попробуйте удалить стили сброса с вашего веб-сайта, чтобы увидеть, насколько это существенно.

Используете ли вы CSS перезагрузки? Вы недавно приняли или отказались от практики? Они помогают?