Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вкладені стилі для чистішого коду | CSS-Препроцесори та Sass
Просунуті техніки CSS

bookВкладені стилі для чистішого коду

Наступна потужна функція — це вкладеність. Вона дозволяє вкладати один селектор в інший для створення більш організованого та читабельного коду. Ми можемо групувати стилі та зменшувати обсяг коду, який потрібно писати.

Уявімо, що нам потрібно створити навігацію для вебсайту.

HTML для цієї навігації виглядатиме наступним чином:

<nav>
  <ul>
    <li>
      <a href="#home">Home</a>
    </li>
    <li>
      <a href="#about">About</a>
    </li>
    <li>
      <a href="#price">Price</a>
    </li>
  </ul>
</nav>

Враховуючи, що окрім навігації, ми використовуємо ті ж самі HTML-теги (ul, li, a) багаторазово у всьому проєкті. Щоб додати стилі саме до цих елементів, необхідно використовувати вкладені правила у CSS. CSS може виглядати так:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;
}

nav ul {
  list-style: none;
  padding-left: 0;
}

nav ul li {
  display: inline-block;
  margin: 0 10px;
}

nav ul li a {
  text-decoration: none;
  color: aquamarine;
}

nav ul li a:hover {
  text-decoration: underline wavy;
}

Тепер розглянемо, як sass може спростити роботу. Усі ці стилі можна згрупувати в одному блоці. Код переписується так:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;

  ul {
    list-style: none;
    padding-left: 0;

    li {
      display: inline-block;
      margin: 0 10px;

      a {
        text-decoration: none;
        color: aquamarine;
        
        &:hover {
          text-decoration: underline wavy;
        }
      }
    }
  }
}

Це схоже на вкладення блоку стилів дочірнього елемента у блок батьківського елемента. Зверніть увагу, що символ & у селекторі &:hover використовується для посилання на батьківський селектор, у цьому випадку — a. Це скорочений спосіб запису a:hover, який дозволяє зручно створювати вкладені селектори без багаторазового повторення батьківського селектора.

question mark

Яка перевага використання вкладеності в Sass?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 7. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain more about how nesting works in Sass?

What are the benefits of using nesting in Sass compared to regular CSS?

Can you show more examples of using the `&` symbol in Sass?

Awesome!

Completion rate improved to 2.04

bookВкладені стилі для чистішого коду

Свайпніть щоб показати меню

Наступна потужна функція — це вкладеність. Вона дозволяє вкладати один селектор в інший для створення більш організованого та читабельного коду. Ми можемо групувати стилі та зменшувати обсяг коду, який потрібно писати.

Уявімо, що нам потрібно створити навігацію для вебсайту.

HTML для цієї навігації виглядатиме наступним чином:

<nav>
  <ul>
    <li>
      <a href="#home">Home</a>
    </li>
    <li>
      <a href="#about">About</a>
    </li>
    <li>
      <a href="#price">Price</a>
    </li>
  </ul>
</nav>

Враховуючи, що окрім навігації, ми використовуємо ті ж самі HTML-теги (ul, li, a) багаторазово у всьому проєкті. Щоб додати стилі саме до цих елементів, необхідно використовувати вкладені правила у CSS. CSS може виглядати так:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;
}

nav ul {
  list-style: none;
  padding-left: 0;
}

nav ul li {
  display: inline-block;
  margin: 0 10px;
}

nav ul li a {
  text-decoration: none;
  color: aquamarine;
}

nav ul li a:hover {
  text-decoration: underline wavy;
}

Тепер розглянемо, як sass може спростити роботу. Усі ці стилі можна згрупувати в одному блоці. Код переписується так:

nav {
  background-color: rebeccapurple;
  border-radius: 10px;
  padding: 10px;

  ul {
    list-style: none;
    padding-left: 0;

    li {
      display: inline-block;
      margin: 0 10px;

      a {
        text-decoration: none;
        color: aquamarine;
        
        &:hover {
          text-decoration: underline wavy;
        }
      }
    }
  }
}

Це схоже на вкладення блоку стилів дочірнього елемента у блок батьківського елемента. Зверніть увагу, що символ & у селекторі &:hover використовується для посилання на батьківський селектор, у цьому випадку — a. Це скорочений спосіб запису a:hover, який дозволяє зручно створювати вкладені селектори без багаторазового повторення батьківського селектора.

question mark

Яка перевага використання вкладеності в Sass?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 7. Розділ 5
some-alt