Встроенная поддержка CSS¶
Импорт глобальных стилей¶
Для добавления глобальных стилей соответствующую таблицу следует импортировать в файл pages/_app.js
(обратите внимание на нижнее подчеркивание):
1 2 3 4 5 6 7 |
|
Такие стили будут применяться ко всем страницам и компонентам в приложении. Обратите внимание: во избежание конфликтов глобальные стили могут импортироваться только в pages/_app.js
.
При сборке приложения все стили объединяются в один минифицированный CSS-файл.
Импорт стилей из директории node_modules¶
Стили могут импортироваться из node_modules
.
Пример импорта глобальных стилей:
1 2 3 4 5 6 |
|
Пример импорта стилей для стороннего компонента:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
Добавление стилей на уровне компонента¶
Next.js из коробки поддерживает CSS-модули. CSS-модули должны иметь название [name].module.css
. Они создают локальную область видимости для соответствующих стилей, что позволяет использовать одинаковые названия классов без риска возникновения коллизий. CSS-модуль импортируется как объект (обычно, именуемый styles
), ключами которого являются названия соответствующих классов.
Пример использования CSS-модулей:
1 2 3 4 5 |
|
1 2 3 4 5 6 |
|
При сборке CSS-модули конкатенируются и разделяются на отдельные минифицированные CSS-файлы, что позволяет загружать только необходимые стили.
Поддержка SASS¶
Next.js поддерживает файлы с расширением .scss
и .sass
. SASS также может использоваться на уровне компонентов (.module.scss
и .module.sass
). Для компиляции SASS в CSS необходимо установить sass:
1 |
|
Поведение компилятора SASS может быть кастомизировано в файле next.config.js
, например:
1 2 3 4 5 6 7 |
|
CSS-в-JS¶
В Next.js можно использовать любое решение CSS-в-JS. Простейшим примером является использование встроенных стилей:
1 2 3 |
|
Next.js также имеет встроенную поддержку styled-jsx:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|