Tôi có điều này trong tập tin SCSS tôi:Bao gồm một lớp trong SCSS
.class-a{
display: inline-block;
//some other properties
&:hover{
color: darken(#FFFFFF, 10%);
}
}
.class-b{
//Inherite class-a here
//some properties
}
Trong lớp-b, tôi muốn hưởng công tất cả các tài sản và khai báo lồng nhau của class-a
. Làm thế nào được thực hiện? Tôi đã thử sử dụng @include class-a
, nhưng điều đó chỉ gây ra lỗi khi biên dịch.
@extend hoạt động tốt, nhưng sẽ không hoạt động nếu một trong hai lớp nằm trong chỉ thị (thường là truy vấn phương tiện); trừ khi cả hai đều trong cùng một chỉ thị. – MartinAnsty
xem ở đây để biết một số thông tin thú vị về '@ extend' - có một số tác dụng phụ phức tạp mà bạn nên biết: http://stackoverflow.com/questions/30744625/sass-and-bootstrap-mixins-vs-extends/30744854# 30744854 –
Cảm ơn bạn @ToniLeigh, PlaceHolder là thú vị khi họ tiết kiệm ra thế hệ ** một bộ chọn CSS bổ sung ** nếu bộ chọn cha chỉ được sử dụng để mở rộng (không được sử dụng ở bất kỳ đâu). Giống như trong ví dụ trên '.myclass' không được sử dụng ở bất kỳ nơi nào khác (tôi giả sử) ngoài' .otherotherclass', thì tốt hơn nên có '.myclass' được định nghĩa là'% myclass' và được mở rộng trong '.myotherclass' như' @extend% myclass; '. Nó sẽ tạo thành '.myotherclass {font-weight: bold; kích thước phông chữ: 90px; màu: # 000000; } ' – Abhijeet