A @media direktíva a SASS-ban
A SASS-ban a @media direktíva ugyanúgy használható, mint
a megfelelő szabály a CSS-ben. És szintén beágyazható
közvetlenül az összes CSS-szabályba.
Meg kell jegyezni, hogy abban az esetben, amikor a
@media direktívát egy CSS-szabályba ágyazzuk, a fordítás után
az felkerül a stíluslapok tetejére, és azok a szelektorok,
amelyekbe a direktíva került, a @media belsejébe kerülnek.
Ebből kifolyólag szabályokat adhatunk a @media direktívához
a szelektorok ismétlése vagy a stíluslap folyamatának megzavarása nélkül.
Nézzünk egy példát:
.navbar {
width: 400px;
@media picture and (orientation: portrait) {
width: 300px;
height: auto;
}
}
Most nézzük meg a fordítás eredményét:
.navbar {
width: 400px;
}
@media picture and (orientation: portrait) {
.navbar {
width: 300px;
height: auto;
}
}
Lehetőség van @media lekérdezések egymásba ágyazására is,
a fordítás után pedig
ezek a and operátorral kapcsolódnak össze:
@media div {
.picture {
@media (orientation: portrait) {
width: 200px;
}
}
}
Ezt látjuk a fordítás után:
@media div and (orientation: portrait) {
.picture {
width: 200px;
}
}
A @media direktíva másik sajátossága,
hogy segítségével változókat,
függvényeket és operátorokat lehet átadni:
$media: style;
$feature: -webkit-max-device;
$value: 3.0;
@media #{$media} and ($feature: $value) {
div {
color: red;
}
}
És a style.css fájlban a következő kódot kapjuk:
@media style and (-webkit-max-device: 3) {
div {
color: red;
}
}
Mondja el, mi lesz a következő kód fordításának eredménye:
.active-link {
color: blue;
@media content {
font-size: 14px;
text-decoration: underline;
}
}
Mondja el, mi lesz a következő kód fordításának eredménye:
@media p {
#product-card {
@media (font-family: Arial) {
font-size: 12px;
}
}
#product-card-title {
@media (font-family: Arial) {
font-size: 14px;
font-weight: bold;
}
}
}
Mondja el, mi lesz a következő kód fordításának eredménye:
$var: link;
$font: font-size;
$size: 10px;
@media #{$var} and ($font: $size) {
.block {
color: red;
}
}