Стилизация страницы «Обо мне»
Теперь, когда у вас есть страница «Обо мне» с информацией о вас, давайте оформим ее!
Приготовьтесь к...
- Создайть стиль для элементов на странице
- Использовать CSS-переменные
Оформление отдельной страницы
Раздел, озаглавленный Оформление отдельной страницыС помощью собственных тегов <style> </style>
Astro вы можете оформлять элементы на вашей странице. Добавление атрибутов и директив к этим тегам дает вам еще больше способов оформления.
-
Скопируйте следующий код и вставьте его в файл
src/pages/about.astro
:src/pages/about.astro <html lang="ru"><head><meta charset ="utf-8" /><meta name="viewport" content="width=device-width" /><title>{pageTitle}</title><style>h1 {color: purple;font-size: 4rem;}</style></head>Проверьте все три страницы в предварительном просмотре в браузере.
-
Какой цвет у заголовка страницы:
- Главной страницы?
- Страницы «Обо мне»?
- Страницы блога?
-
На странице с наибольшим размером заголовка текста?
Если вы не можете определить цвета визуально, вы можете использовать инструменты разработчика в вашем браузере для проверки элементов заголовка
<h1>
и подтверждения цвета текста. -
-
Добавьте класс
skill
к сгенерированным элементам<li>
на странице «Обо мне», чтобы мы могли их оформить. Ваш код должен теперь выглядеть так:src/pages/about.astro <p>Мои навыки:</p><ul>{skills.map((skill) => <li class="skill">{skill}</li>)}</ul> -
Добавьте следующий код в ваш существующий тег style:
src/pages/about.astro <style>h1 {color: purple;font-size: 4rem;}.skill {color: green;font-weight: bold;}</style> -
Посетите страницу About в своем браузере снова и убедитесь, визуально или с помощью инструментов разработчика, что каждый элемент в вашем списке умений теперь зеленый и жирный.
Используйте первую свою CSS-переменную
Раздел, озаглавленный Используйте первую свою CSS-переменнуюВ Astro-теге <style>
вы также можете ссылаться на любые переменные из вашего скрипта frontmatter, используя директиву define:vars={ {...} }
. Вы можете определить переменные внутри вашего разделителя кода, а затем использовать их в качестве CSS-переменных в своем теге стиля.
-
Определите переменную
skillColor
, добавив ее в скрипт frontmatter в файлеsrc/pages/about.astro
, как показано ниже:src/pages/about.astro ---const pageTitle = "Обо мне";const identity = {firstName: "Николай",country: "Нидерланды",occupation: "Технический автор",obbies: ["фотография", "дизайн", "тенис"],};const skills = ["HTML", "CSS", "JavaScript", "React", "Astro", "Оптимизация SEO"];const happy = true;const finished = false;const goal = 3;const skillColor = "navy";--- -
Обновите ваш уже существующий тег
<style>
внизу, чтобы сначала определить, а затем использовать эту переменнуюskillColor
внутри двойных фигурных скобок.src/pages/about.astro <style define:vars={{skillColor}}>h1 {color: purple;font-size: 4rem;}.skill {color: green;color: var(--skillColor);font-weight: bold;}</style> -
Проверьте вашу страницу «Обо мне» в предпросмотре вашего браузера. Вы должны увидеть, что теперь навыки являются темно-синими, установленными с помощью переменной
skillColor
, переданной в директивуdefine: vars
.
Попробуйте сами - Определите переменные CSS
Раздел, озаглавленный Попробуйте сами - Определите переменные CSS-
Обновите тег
<style>
на вашей странице «Обо мне», чтобы он соответствовал приведенному ниже.src/pages/about.astro <style define:vars={{skillColor, fontWeight, textCase}}>h1 {color: purple;font-size: 4rem;}.skill {color: var(--skillColor);font-weight: var(--fontWeight);text-transform: var(--textCase);}</style> -
Добавьте недостающие определения переменных в свой скрипт frontmatter, чтобы ваш новый тег
<style>
успешно применял эти стили к вашему списку умений:- Цвет текста - темно-синий
- Текст жирный
- Элементы списка написаны КАПСОМ (все заглавные буквы)
✅ Показать мне код! ✅
---const pageTitle = "Обо мне";
const identity = { firstName: "Николай", country: "Нидерланды", occupation: "Технический автор", obbies: ["фотография", "дизайн", "тенис"],};
const skills = ["HTML", "CSS", "JavaScript", "React", "Astro", "Оптимизация SEO"];
const happy = true;const finished = false;const goal = 3;
const skillColor = "navy";const fontWeight = "bold";const textCase = "uppercase";---