Łączenie sekwencji selektorów w @extend w SASS
Jeśli potrzebujemy połączyć
sekwencje selektorów,
również używamy dyrektywy @extend:
Rozważmy następujący przykład:
#main .list p {
font-weight: bold;
}
#sub .resume .link {
@extend p;
}
Zwróć uwagę na skompilowany kod
w pliku css, przy łączeniu dwóch
sekwencji, które nie mają wspólnych
selektorów, automatycznie tworzone są
nowe selektory: jeden z pierwszą sekwencją
przed drugą i jeden z drugą sekwencją
przed pierwszą:
#main .list p,
#main .list #sub .resume .link, #sub .resume #main .list .link {
font-weight: bold;
}
W przypadku, gdy sekwencje
mają wspólny selektor, to zostaną one połączone
razem, a na przemian będą tylko różnice
(jeśli takie istnieją). W następnym przykładzie
obie sekwencje mają identyfikator #main:
#main .list p {
font-weight: semi-bold;
}
#main .resume .link {
@extend p;
}
W wyniku kompilacji te dwa identyfikatory zostaną połączone:
#main .list p,
#main .list #sub .resume .link, #sub .resume #main .list .link {
font-weight: bold;
}
Opowiedz, jaki będzie wynik kompilacji następującego kodu:
div p {
font-size: 12px;
padding-bottom: 4px;
}
link button #card-title {
@extend p;
}