Руководство по форматированию CSS

в 6:24, , рубрики: css, html, styleguides, web-разработка, Веб-разработка

По мере того как мы подводим итоги недавнего опроса по сортировке CSS свойств у нас появляется более серьезные вопросы о стиле форматирования CSS. Сортировка свойств это всего лишь один шаг на вашем пути к завершенной стратегии форматирования стилей. Название класса — это часть стратегии. Распределение — часть стратегии. Комментарии, отступы, структура файла… все это формирует руководство по форматированию CSS.

Давайте рассмотрим существующие практики форматирования.

Но сначала… Мы не будем говорить о библиотеках.

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

Список

Я перечислю некоторые понравившейся мне пункты ниже.

Github

Руководство по форматированию CSS

Руководство по форматированию CSS от GitHub →

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

Используйте свойство line-height без единиц измерения. В этом случае вы не будете наследовать высоту строки от родительского элемента, она установится автоматически как высота-множитель.

Google

Руководство по форматированию CSS

Руководство по форматированию HTML/CSS от Google →

Задавайте имена ID и классам как можно короче, но делайте их настолько короткими пока они несут смысл.
Например, используйте #nav вместо #navigation, .author вместо .atr

В качестве символа конкатенации используйте только дефис, не используйте другие спецсимволы. Это улучшит читаемость и понимание кода.
Например, .demo-image вместо .demoimage или .demo_image

Idiomatic CSS

Руководство по форматированию CSS

Руководство по идиоматическому CSS от Nicolas Gallagher →

Настройте свою IDE на отображение «скрытых символов». Это позволит вам устранить пробелы в конце строк, устранить непреднамеренный пробел в пустой строке, тем самым вы избавитесь от мусора в ваших коммитах.

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

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

CSS Wizardry

Руководство по форматированию CSS

Руководство по форматированию CSS от Harry Robert →

Я полностью отказался от использования ID в CSS. Использовать их просто нет смысла плюс они часто стают причиной проблем.

В комментариях к коду, перед заголовком раздела, я всегда добавляю символ $. Так стоит делать потому, что когда я буду искать эту секцию, я найду именно её (по ключевому слову $MAIN, а не MAIN).

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

Smashing Magazine

Руководство по форматированию CSS

«Улучшение читаемости кода с помощью руководства по форматированию CSS» от Vitaly Friedman →

Для больших проектов или больших команд будет очень кстати завести журнал изменений.

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

ThinkUp

Руководство по форматированию CSS

Руководство по форматированию CSS от ThinkUp →

Если значение свойства width или height равно 0, то не стоит добавлять к нему единицу измерения.

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

WordPress

Руководство по форматированию CSS

Стандарты программирования на CSS от WordPress →

Используйте две пустые строки для разделения секций и одну пустую строку для разделения блоков в секции.

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

Магические числа — это плохо. Они используются как быстрые фиксы на разовой основе.
Например: .box { margin-top: 37px }.

SMACSS

Руководство по форматированию CSS

Масштабируемая и модульная архитектура для CSS от Jonathan Snook →

Будет трудно выдрать из этого монстра пару цитат. Но…

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

Если все сделано правильно — модули можно с легкостью перемещать в любую часть документа не поломав его.

Используйте только семантические элементы.

Больше?

А ваша организация использует публичные рекомендации по форматированию стилей? Поделитесь ими!

P.S. Если вы заметили ошибки/неточности в переводе — напишите в ЛС, поправлю.

Автор: vermilion1

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js