Czy w SASS można dziedziczyć z klasy w innym pliku?
102
To pytanie mówi wszystko.
Na przykład, gdybym używał, powiedzmy, Twitter Bootstrap , czy mógłbym zdefiniować klasy we własnym arkuszu stylów SASS, które dziedziczą po klasach CSS Bootstrap? A może dziedziczenie w SASS działa tylko w zakresie jednego pliku?
Czuję się źle, że to robię, ponieważ inne odpowiedzi w zasadzie odpowiadały na to pytanie (po prostu zapomniałem na chwilę sprawdzić, a potem zapomniałem); ale przyjmuję twoją odpowiedź, ponieważ jest ona najbardziej kompletna - tj. prowadzi mnie przez cały proces. Dzięki!
Zachowaj ostrożność, gdy używasz @extendrazem z bootstrapem / dowolnym frameworkiem, ponieważ może nie działać zgodnie z oczekiwaniami. Jest kilka rzeczy, o których należy pamiętać, jak opisano w tym poście: stackoverflow.com/questions/30744625/ ...
Czy to importuje całość bootstrap.cssdo, styles.cssczy tylko .btn? Mam na myśli pakiet wyjściowy? Jeśli importuje całość bootstrap.css, styles.cssniepotrzebnie zwiększy rozmiar .
** Mogę się mylić, ale jeśli dostanę to, co próbujesz zrobić, czy nie możesz po prostu użyć @extend .classname;polecenia wewnątrz elementu, który chcesz rozszerzyć? Oczywiście powinieneś modyfikować tylko swój własny kod, aby zachować możliwość aktualizacji.
O ile mi wiadomo, musisz użyć@import pliku zawierającego klasy, których chcesz użyć w pliku SASS, aby wykorzystać je w tym pliku. Nie jestem jednak ekspertem SASS / SCSS, więc ktoś może znać inny sposób na ich zdalne użycie, którego nie jestem świadomy.
Tak jak wykazała zaakceptowana odpowiedź, jest to możliwe w przypadku @import, jednak @import został wycofany przez sass
Zespół Sass odradza dalsze stosowanie reguły @import. Sass będzie stopniowo wycofywał go w ciągu najbliższych kilku lat i ostatecznie całkowicie usunie go z języka. Zamiast tego wolę regułę @use.
Reguła @use jest teraz lepiej przystosowana do użytku, ponieważ nie zanieczyszcza zakresu modułu importującego (użytkownika). niestety w chwili pisania tego tekstu zasada użycia jest zaimplementowana tylko w Dart sass.
istnieje kompilator Dart Sass, który dobrze kompiluje Sass przy użyciu @use. Ale musisz określić, który plik chcesz skompilować w ustawieniach, w przeciwnym razie wszystkie pliki zostaną skompilowane, nawet jeśli chcesz połączyć je w jeden plik i tylko skompilować.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.