Բլոկներ պարունակության միկսներում SASS-ում

Ոճերի բլոկը միկսինի ներսում փոխանցելու համար օգտագործում ենք @content դիրեկտիվը, որի տեղում կտեղադրվեն մեզ անհրաժեշտ ոճերը:

Դիտարկենք օրինակ.

styles.scss@mixin active {
  * div {
    @content;
  }
}

@include active {
  #block {
    color: red;
  }
}

Կոմպիլյացիայի արդյունքը.

styles.css* div #block {
  color: red; 
}

Պետք է իմանալ, որ եթե մենք @content դիրեկտիվը նշում ենք մեկից ավելի անգամ կամ ցիկլի ներսում, ապա նույնքան անգամ կկանչվի նաև ոճերի բլոկը:

styles.scss@mixin active {
  div {
    @content;
  }
navbar {
    @content;
  }
}
@include active {
  #block {
    color: red;
  }
  button {
    color:green;
  }
}

Կոմպիլյացիայից հետո մենք կտեսնենք.

styles.cssdiv #block {
  color: red; 
}
div button {
  color: green; 
}

navbar #block {
  color: red; 
}
navbar button {
  color: green; 
}
Задание 1

Պատմեք, թե ինչ կլինի հետևյալ կոդի կոմպիլյացիայի արդյունքը.

styles.scss@mixin super-link {
  a {
    @content;
  }
}
@include super-link {
  color: blue;
  text-decoration: underline;
}
Задание 2

Պատմեք, թե ինչ կլինի հետևյալ կոդի կոմպիլյացիայի արդյունքը.

styles.scss@mixin super-link {
  a {
    @content;
  }
  a .primary-link{
    @content;
    font-weight: bold;
  }
}
@include super-link {
  color: blue;
  text-decoration: underline;
}
Задание 3

Ենթադրենք ունեք հետևյալ միկսինը.

styles.scss@mixin colors {
  ...
}

Օգտագործելով @content դիրեկտիվը բոլոր հղումներին, որոնք վերաբերում են #primary-ին, սահմանեք տեքստի կապույտ գույն և ալիքաձև ընդգծում: