CSS & стилизация
Вы можете стилизовать ваш сайт Starlight с помощью CSS-файлов или использовать плагин Starlight Tailwind.
Ваши CSS стили
Настройте стили, для вашего сайта Starlight, указав дополнительные CSS-файлы для изменения или расширения стандартных стилей Starlight.
-
Добавьте CSS-файл в ваш каталог
src/
. Например, вы можете установить большую ширину колонки по умолчанию и бóльший размер текста для заголовков страниц:src/styles/custom.css :root {--sl-content-width: 50rem;--sl-text-5xl: 3.5rem;} -
Добавьте путь к вашему CSS-файлу в массив
customCss
Starlight вastro.config.mjs
:astro.config.mjs import { defineConfig } from 'astro/config';import starlight from '@astrojs/starlight';export default defineConfig({integrations: [starlight({title: 'Docs With Custom CSS',customCss: [// Относительный путь к вашему CSS файлу'./src/styles/custom.css',],}),],});
Вы можете увидеть все кастомные свойства CSS, используемые Starlight, которые вы можете установить для настройки вашего сайта,
в файле props.css
на GitHub.
Tailwind CSS
Поддержка Tailwind CSS в проектах Astro предоставляется интеграцией Astro Tailwind. Starlight предоставляет дополнительный плагин Tailwind для совместимости со стилями Starlight.
Плагин Tailwind для Starlight применяет следующую конфигурацию:
- Настраивает
dark:
варианты Tailwind для работы с темным режимом Starlight. - Использует цвета и шрифты темы Tailwind в пользовательском интерфейсе Starlight.
- Отключает стили сброса Preflight Tailwind, восстанавливая выборочно существенные части Preflight, необходимых для утилитных border классов Tailwind.
Создание нового проекта с Tailwind
Создайте новый проект Starlight с предварительно настроенным Tailwind CSS, используя create astro
:
npm create astro@latest -- --template starlight/tailwind
pnpm create astro --template starlight/tailwind
yarn create astro --template starlight/tailwind
Добавление Tailwind в существующий проект
Если у вас уже есть сайт на Starlight и вы хотите добавить Tailwind CSS, следуйте этим шагам.
-
Добавьте интеграцию Tailwind от Astro:
Terminal window npx astro add tailwindTerminal window pnpm astro add tailwindTerminal window yarn astro add tailwind -
Установите плагин Tailwind для Starlight:
Terminal window npm install @astrojs/starlight-tailwindTerminal window pnpm add @astrojs/starlight-tailwindTerminal window yarn add @astrojs/starlight-tailwind -
Создайте CSS-файл для базовых стилей Tailwind, например, в
src/tailwind.css
:src/tailwind.css @tailwind base;@tailwind components;@tailwind utilities; -
Обновите ваш конфигурационный файл Astro, чтобы использовать ваши базовые стили Tailwind и отключить базовые стили по умолчанию:
astro.config.mjs import { defineConfig } from 'astro/config';import starlight from '@astrojs/starlight';import tailwind from '@astrojs/tailwind';export default defineConfig({integrations: [starlight({title: 'Docs with Tailwind',customCss: [// Путь к базовым стилям Tailwind:'./src/tailwind.css',],}),tailwind({// Отключите базовые стили:applyBaseStyles: false,}),],}); -
Добавьте плагин Starlight Tailwind в
tailwind.config.cjs
:tailwind.config.cjs const starlightPlugin = require('@astrojs/starlight-tailwind');/** @type {import('tailwindcss').Config} */module.exports = {content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],plugins: [starlightPlugin()],};
Стилизация Starlight с использованием Tailwind
Starlight будет использовать значения из вашей конфигурации темы Tailwind в его UI.
Если установлены, следующие параметры переопределят стили Starlight по умолчанию:
colors.accent
— используется для ссылок и выделения текущего элемента;colors.gray
— используется для цветов фона и границ;fontFamily.sans
— используется для текста UI и контента;fontFamily.mono
— используется для примеров кода.
const starlightPlugin = require('@astrojs/starlight-tailwind');const colors = require('tailwindcss/colors');
/** @type {import('tailwindcss').Config} */module.exports = { content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], theme: { extend: { colors: { // Ваш предпочтительный акцентный цвет. Индиго наиболее близок к стандартным настройкам Starlight. accent: colors.indigo, // Ваш предпочтительный оттенок серого. Цинк наиболее близок к стандартным настройкам Starlight. gray: colors.zinc, }, fontFamily: { // Ваш предпочтительный шрифт для текста. По умолчанию Starlight использует системные шрифты. sans: ['"Atkinson Hyperlegible"'], // Ваш предпочтительный шрифт для кода. По умолчанию Starlight использует системные моноширинные шрифты. mono: ['"IBM Plex Mono"'], }, }, }, plugins: [starlightPlugin()],};
Темизация
Цветовая тема Starlight может быть настроена путем переопределения её стандартных кастомных свойств. Эти переменные используются по всему UI, причём различные оттенки серого используются для текста и цветов фона, а акцентный цвет используется для ссылок и выделения текущих элементов в навигации.
Редактор цветовой темы
Используйте ползунки ниже, чтобы изменить палитры акцентного и серого цветов Starlight. Темные и светлые области предпросмотра будут показывать результирующие цвета, и вся страница также обновится, чтобы показать ваши изменения.
Когда вы довольны внесенными изменениями, скопируйте CSS или код Tailwind ниже и используйте его в вашем проекте.
Темный режим
Текст тела отображается в оттенке серого с высоким контрастом по отношению к фону. Ссылки выделены цветом. Некоторый текст, например оглавление, имеет меньший контраст. Встроенный код имеет выделенный фон.
Светлый режим
Текст тела отображается в оттенке серого с высоким контрастом по отношению к фону. Ссылки выделены цветом. Некоторый текст, например оглавление, имеет меньший контраст. Встроенный код имеет выделенный фон.
Добавьте следующий CSS в ваш проект в пользовательском CSS-файле, чтобы применить эту тему к вашему сайту.
Приведенный ниже пример файла конфигурации
Tailwind включает
сгенерированные палитры цветов accent
и gray
для использования в объекте
конфигурации theme.extend.colors
.