Урок 57 із 239
24%
← Назад

Групування класів у CSS

Навчимося групувати CSS-класи, щоб не дублювати однакові властивості у різних правилах.

Групування класів у CSS

Часто різні класи мають кілька однакових CSS-властивостей. Щоб не повторювати однаковий код, класи можна об'єднати за допомогою групування селекторів.

Наприклад, нехай є два класи, які задають різні кольори:

.xxx {
  color: green;
}

.yyy {
  color: red;
}

Припустимо, потрібно, щоб обидва класи також встановлювали однаковий розмір шрифту.

.xxx {
  color: green;
  font-size: 30px;
}

.yyy {
  color: red;
  font-size: 30px;
}

Оскільки властивість font-size однакова, її краще винести в окреме правило, згрупувавши селектори.

.xxx {
  color: green;
}

.yyy {
  color: red;
}

.xxx,
.yyy {
  font-size: 30px;
}
❗ Важливо:

Групування селекторів дозволяє зробити CSS-код коротшим, читабельнішим і простішим у підтримці.

Практичні завдання

📌 Завдання:
  1. №1
  2. Спростіть код, використовуючи групування селекторів:
  3. .eee {
  4. font-size: 20px;
  5. line-height: 1.5;
  6. font-family: Arial;
  7. }
  8. .zzz {
  9. font-size: 30px;
  10. line-height: 1.5;
  11. font-family: Arial;
  12. }
💡 Показати підказку

Винесіть однакові властивості line-height і font-family в окреме згруповане правило.

✅ Показати відповідь
.eee {
  font-size: 20px;
}

.zzz {
  font-size: 30px;
}

.eee,
.zzz {
  line-height: 1.5;
  font-family: Arial;
}
📌 Завдання:
  1. №2
  2. Спростіть код, використовуючи групування селекторів:
  3. .eee {
  4. font-size: 20px;
  5. text-align: center;
  6. font-family: Arial;
  7. }
  8. .zzz {
  9. font-size: 30px;
  10. text-align: center;
  11. font-family: Arial;
  12. }
  13. .ggg {
  14. font-size: 35px;
  15. text-align: center;
  16. font-family: Arial;
  17. }
💡 Показати підказку

Згрупуйте всі три класи та винесіть однакові властивості text-align і font-family.

✅ Показати відповідь
.eee {
  font-size: 20px;
}

.zzz {
  font-size: 30px;
}

.ggg {
  font-size: 35px;
}

.eee,
.zzz,
.ggg {
  text-align: center;
  font-family: Arial;
}