Czy są jakieś problemy (wydajność jest moją główną troską), jeśli zamiast definiować selektory css w zapytaniach o media (przykład 1), definiujesz zapytania o media w obrębie selektorów css (przykład 2).Definiowanie zapytań o media CSS w selektorach
Przykład 1 - selektory CSS w mediach odpytuje
@media (min-width: 600px) {
.foo { ... }
.bar { ... }
.hello { ... }
.world{ ... }
}
@media (min-width: 1000px) {
.foo { ... }
.bar { ... }
.hello { ... }
.world{ ... }
}
@media (min-width: 1500px) {
.foo { ... }
.bar { ... }
.hello { ... }
.world{ ... }
}
Przykład 2 - zapytań multimedialnych ciągu selektorów CSS
.foo {
@media (min-width: 600px) { ... }
@media (min-width: 1000px) { ... }
@media (min-width: 1500px) { ... }
}
.bar {
@media (min-width: 600px) { ... }
@media (min-width: 1000px) { ... }
@media (min-width: 1500px) { ... }
}
.hello {
@media (min-width: 600px) { ... }
@media (min-width: 1000px) { ... }
@media (min-width: 1500px) { ... }
}
.world{
@media (min-width: 600px) { ... }
@media (min-width: 1000px) { ... }
@media (min-width: 1500px) { ... }
}
można się zastanawiać "dlaczego to zrobić?". W LESS istnieją pewne ograniczenia dotyczące rozszerzania klas w obrębie zapytań o media, a także zmiennych ustalania zakresu.
Różnice w wydajności pod względem kompilacji LESS lub renderowania przeglądarki? To ostatnie zależy od sposobu generowania CSS, ponieważ reguły stylu mogą pojawiać się w regułach '@ media', ale ** nie ** na odwrót. – BoltClock
Jak może działać drugi przykład? Przez "selektory" masz na myśli [mixins] (http://lesscss.org/features/#mixins-feature)? Wywołane poza jakąkolwiek zasadą, te miksy powinny działać, ale zdarzenie napisane w twoim pytaniu nie działa afaik. Powinieneś dodać nawiasy, takie jak '.foo() {@media {} @media {} @media {}}, więc ten przypadek nie jest wyprowadzany jako (nieważny) CSS, ale właśnie zdefiniowany jako mixin, a następnie możesz nazwać ten mixin i wyświetli 3 media-rules z regułami w każdym z nich – FelipeAls