Czytałem przez ostatnie 1,5 godziny na ten temat i nadal nie mogłem znaleźć zwięzłej i decydującej odpowiedzi.Zagnieżdżony wpływ selektorów na wydajność i MNIEJ
O ile zrozumiałem, przeglądarki analizują selektory CSS od prawej do lewej.
Oznacza to długi selektora CSS, takich jak ten:
.card .container .businesscard .pinfo li.pinfo-box span:first-child
jest jednym z najmniej efektywnych linii kodu, aby kiedykolwiek pojawi się tutaj w SO.
Po pierwsze, czy mam rację w tej sprawie?
Po drugie, projektuję bogaty interfejs użytkownika za pomocą LESS, który ostatecznie produkuje tego rodzaju gigantyczne selektory z projektów zagnieżdżanych, które koduję.
Co można zrobić, aby uniknąć tego rodzaju selektorów? Polegasz tylko na zajęciach i identyfikatorach? Ale jaki jest cel używania LESS, jeśli nie możesz pisać zagnieżdżonych CSS?
Twoje dane są doceniane.
Wygląda na to, że komplikujesz selekcjonerów. Czy ".container" jest niezbędny w tym selektorze? Czy naprawdę planujesz, aby styl 'span: first-child' był inny, jeśli' .container' nie jest jednym z jego przodków? – cimmanon
Rozumiem. Sądzę, że zagłębiłem się zbyt głęboko. – pilau
Co dziwne, podobne pytanie dla Sass/SCSS zostało zadane dopiero wczoraj: http: // stackoverflow.com/questions/13805324/how-bad-is-it-in-practice-to-over-nest-selektory-in-sass-scss – BoltClock