Сортировка CSS-стилей: зачем и как её настраивать?
При работе с CSS или styled-components легко запутаться, если стили записаны в случайном порядке. Это усложняет чтение, ревью, рефакторинг и может приводить к ошибкам.
Один из простейших способов сделать стили понятнее — сортировать CSS-свойства по логике.
.button {
color: white;
display: flex;
padding: 12px;
border-radius: 8px;
background: #000;
font-size: 16px;
}
.buttonTwo {
background: red;
font-size: 20px;
display: flex;
border-radius: 20px;
padding: 18px;
color: green;
}
.buttonThree {
font-size: 26px;
padding: 20px;
color: red;
display: flex;
border-radius: 30px;
background: yellow;
}Стили перемешаны — визуальные, позиционирование, шрифты. Это мешает воспринимать структуру компонента.
.button {
display: flex;
padding: 12px;
border-radius: 8px;
background: #000;
color: white;
font-size: 16px;
}
.buttonTwo {
display: flex;
padding: 18px;
border-radius: 20px;
background: red;
color: green;
font-size: 20px;
}
.buttonThree {
display: flex;
padding: 20px;
border-radius: 30px;
background: yellow;
color: white;
font-size: 26px;
}Теперь всё структурировано:
display, padding, marginborder, background, box-shadowcolor, font-*, line-heightЛучше всего использовать автоматические инструменты:
Плагин stylelint-order позволяет задать порядок свойств.
npm install stylelint stylelint-order --save-devПример .stylelintrc.json:
{
"plugins": ["stylelint-order"],
"rules": {
"order/properties-order": [
"display",
"position",
"top",
"right",
"bottom",
"left",
"margin",
"padding",
"width",
"height",
"background",
"border",
"box-shadow",
"color",
"font-size",
"line-height"
]
}
}Если вы используете Tailwind или styled-components, плагин prettier-plugin-tailwindcss может сортировать утилиты по умолчанию.
npm install -D prettier prettier-plugin-tailwindcssСортировка CSS-свойств — простая привычка, которая:
🔧 Настройте автоматическую сортировку — и забудьте про хаос в стилях.