← Вернуться к урокам

🎨 CSS стилизация

Урок 2 из 5

🎯 Цель урока

В этом уроке мы создадим красивый и современный дизайн для нашего генератора комплиментов. Изучим продвинутые CSS техники: градиенты, карточки, сетки и адаптивность.

💡 Что вы узнаете:

• Создание градиентных фонов
• Стилизацию форм и кнопок
• CSS Grid для макета
• Карточки и тени
• Адаптивный дизайн

🔄 До и после

Посмотрите, как CSS преобразит наше приложение:

ДО (только HTML)

Генератор комплиментов

Создай хорошее настроение!



ПОСЛЕ (HTML + CSS)

😊 Генератор комплиментов 😊

Создай хорошее настроение!



🛠️ Создание стилей

Давайте создадим красивые стили для нашего приложения:

body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
}

.game-container {
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 25px;
  padding: 40px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  max-width: 600px;
  backdrop-filter: blur(10px);
}

.input-section {
  margin-top: 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 15px;
}

.name-input {
  padding: 10px 15px;
  font-size: 1rem;
  border: 2px solid #ddd;
  border-radius: 25px;
  margin: 8px;
  width: 180px;
  text-align: center;
}

.name-input:focus {
  outline: none;
  border-color: #74b9ff;
  box-shadow: 0 0 10px rgba(116, 185, 255, 0.3);
}

.compliment-button {
  background: linear-gradient(135deg, #ff6b6b, #ee5a24);
  color: white;
  border: none;
  padding: 15px 30px;
  font-size: 1.1rem;
  font-weight: bold;
  border-radius: 50px;
  cursor: pointer;
  margin: 15px 10px;
  box-shadow: 0 10px 25px rgba(255, 107, 107, 0.3);
  transition: all 0.3s ease;
}

.compliment-button:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 15px 35px rgba(255, 107, 107, 0.4);
}

.compliment-display {
  background: linear-gradient(135deg, #ffeaa7, #fdcb6e);
  padding: 20px;
  border-radius: 20px;
  margin: 15px 0;
  border: 3px solid #e17055;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: bold;
  color: #d63031;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 25px rgba(253, 203, 110, 0.3);
}

🔧 Объяснение CSS свойств

Разберём ключевые CSS техники:

linear-gradient
Создаёт плавные цветовые переходы
backdrop-filter
Размывает фон за элементом
rgba()
Цвет с прозрачностью
box-shadow
Многослойные тени для глубины
border-radius
Скругляет углы элементов
transform
Масштабирование и перемещение
:focus
Стили при фокусе на элементе
flexbox
Гибкое выравнивание контента

🎨 Магия градиентов:

linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%)
Создаёт диагональный градиент от розового к светло-розовому

📱 Адаптивность

Добавим медиа-запросы для мобильных устройств:

@media (max-width: 768px) {
  .game-container {
    margin: 10px;
    padding: 20px;
  }
  
  .name-input {
    width: 150px;
    font-size: 0.9rem;
  }
  
  .compliment-button {
    padding: 12px 25px;
    font-size: 1rem;
  }
  
  .compliment-display {
    font-size: 1rem;
    padding: 15px;
  }
}

Эти стили обеспечат корректное отображение на мобильных устройствах.

🎮 Результат

Вот как выглядит наше стилизованное приложение:

😊 Генератор комплиментов 😊

Создай хорошее настроение себе и друзьям!

Как тебя зовут?


Нажми на кнопку, чтобы получить свой первый комплимент! 🌈

🎓 Что вы изучили

  • Создание сложных градиентных фонов
  • Стилизацию форм и интерактивных элементов
  • Использование прозрачности и размытия
  • Эффекты теней и глубины
  • Hover эффекты и плавные переходы
  • Адаптивный дизайн с медиа-запросами
  • Современные CSS техники

🚀 Что дальше?

В следующем уроке мы добавим JavaScript логику! Научимся работать с массивами данных, случайным выбором и событиями.