Представьте, что у вас есть готовый каркас дома из HTML — стены, окна, двери. Но он серый, безликий. CSS (Cascading Style Sheets — каскадные таблицы стилей) — это краска, обои, декор и освещение. Он превращает скелет сайта в живой, красивый и удобный интерфейс.
Что такое CSS и зачем он нужен?
CSS — это язык стилей, который делает HTML-страницы красивыми. Он отвечает за внешний вид: цвета, шрифты, отступы, расположение элементов и многое другое.
HTML — структура
Каркас сайта, его скелет. Что будет на странице.
CSS — внешний вид
Дизайн сайта, его внешность. Как это будет выглядеть.
JavaScript — поведение
Интерактивность сайта. Как будет реагировать на действия.
Как подключить CSS к сайту: 3 способа
Есть три основных способа добавить CSS на страницу:
<!-- Внешний файл (рекомендуется) -->
<link rel="stylesheet" href="style.css">
<!-- Внутри HTML -->
<style>
h1 { color: blue; }
</style>
<!-- Инлайн-стили (не рекомендуется) -->
<h1 style="color: red;">Заголовок</h1>
Правильный подход: Всегда используйте внешние файлы CSS (.css). Это позволяет:
- Использовать один файл для всех страниц сайта
- Легко вносить изменения
- Ускорить загрузку (браузер кэширует CSS файлы)
- Поддерживать порядок в коде
Основы синтаксиса: селекторы и свойства
Синтаксис CSS очень прост: Выбираете элемент (селектор) и говорите, как он должен выглядеть (свойства).
селектор {
свойство: значение;
свойство: значение;
свойство: значение;
}
Блок, отступы, границы: модель Box Model
Каждый элемент в CSS — это прямоугольный блок. Box Model описывает, как этот блок устроен изнутри наружу.
.card {
/* Контент */
width: 300px;
height: 200px;
/* Внутренние отступы */
padding: 20px;
/* Граница */
border: 2px solid #e2e8f0;
border-radius: 8px;
/* Внешние отступы */
margin: 15px;
/* Фон */
background: white;
/* Тень */
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
Важно понимать: Когда вы задаете width: 300px, это ширина только контента. Общая ширина элемента будет: 300px + padding + border. Используйте box-sizing: border-box; чтобы width включала padding и border.
Современная верстка: Flexbox и Grid
Flexbox и Grid — две революционные технологии CSS, которые упростили создание сложных макетов.
Flexbox
Одномерное выравнивание элементов в строку или колонку. Идеально для навигации, карточек, распределения пространства.
CSS Grid
Двумерные сетки для сложных макетов. Позволяет точно контролировать строки и колонки одновременно.
Когда что использовать
Flexbox — для компонентов внутри контейнера. Grid — для общего макета страницы.
Совмещение
Часто используют вместе: Grid для основного макета, Flexbox для внутренних компонентов.
.nav {
display: flex; /* Включаем Flexbox */
justify-content: space-between; /* Распределяем по ширине */
align-items: center; /* Выравниваем по центру вертикально */
gap: 20px; /* Расстояние между элементами */
}
.products-grid {
display: grid; /* Включаем Grid */
grid-template-columns: repeat(3, 1fr); /* 3 колонки равной ширины */
gap: 30px; /* Расстояние между карточками */
}
Адаптивный дизайн: Mobile First подход
Mobile First — сначала создаем дизайн для мобильных, потом адаптируем для больших экранов. Более 60% трафика идет с мобильных устройств!
/* Базовые стили для мобильных (Mobile First) */
.container {
padding: 15px;
font-size: 16px;
}
/* Планшеты (768px и выше) */
@media (min-width: 768px) {
.container {
max-width: 720px;
margin: 0 auto;
padding: 20px;
}
}
/* Десктопы (1024px и выше) */
@media (min-width: 1024px) {
.container {
max-width: 1200px;
padding: 30px;
}
.nav {
display: flex;
}
}
Профессиональный совет: Используйте относительные единицы (%, rem, vw) вместо пикселей. 1rem = 16px (обычно), но пользователь может изменить размер шрифта в браузере.
Практика: создаем красивую карточку товара
Давайте создадим современную карточку товара, которая использует все изученные техники:
<div class="product-card">
<div class="product-badge">Новинка</div>
<div class="product-image">
<img src="product.jpg" alt="Смартфон Premium X">
</div>
<div class="product-content">
<h3 class="product-title">Смартфон Premium X</h3>
<p class="product-description">Мощный смартфон с отличной камерой</p>
<div class="product-price">24 999 ₽</div>
<button class="product-button">В корзину</button>
</div>
</div>
.product-card {
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease;
max-width: 320px;
}
.product-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}
.product-badge {
background: #ef4444;
color: white;
padding: 5px 15px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
position: absolute;
top: 15px;
left: 15px;
}
.product-image {
height: 200px;
overflow: hidden;
}
.product-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.product-card:hover .product-image img {
transform: scale(1.05);
}
.product-content {
padding: 20px;
}
.product-title {
font-size: 1.25rem;
margin-bottom: 10px;
color: #1e293b;
}
.product-description {
color: #64748b;
font-size: 0.9rem;
margin-bottom: 15px;
line-height: 1.5;
}
.product-price {
font-size: 1.5rem;
font-weight: 700;
color: #2563eb;
margin-bottom: 15px;
}
.product-button {
width: 100%;
padding: 12px;
background: #2563eb;
color: white;
border: none;
border-radius: 8px;
font-weight: 600;
cursor: pointer;
transition: background 0.3s ease;
}
.product-button:hover {
background: #1d4ed8;
}
Ключевые выводы:
.css для профессиональных проектов
CSS — это искусство превращения черно-белого каркаса в живой, дышащий дизайн. Он дает вашему сайту характер, эмоции и удобство. Начните с основ, экспериментируйте, и скоро вы сможете создавать интерфейсы, которые будут радовать и вас, и ваших пользователей.
Нужен красивый и современный сайт?
Digital Greatness создает адаптивные сайты с продуманным дизайном. Мы знаем, как сделать сайт, который будет работать на ваш бизнес и привлекать клиентов.
Обсудить дизайн сайта