2012-08-02 57 views
54

Câu hỏi khá nhiều nói lên tất cả.Có thể trong SASS để kế thừa từ một lớp trong một tệp khác không?

Ví dụ: nếu tôi đang sử dụng, ví dụ: Twitter Bootstrap, tôi có thể xác định các lớp trong biểu định kiểu SASS của riêng tôi kế thừa từ các lớp CSS của Bootstrap không? Hoặc thừa kế trong SASS chỉ hoạt động trong phạm vi của một tệp đơn?

+0

câu hỏi tuyệt vời, nhiều đánh giá cao –

Trả lời

107

CÓ! có thể.

Nếu bạn muốn tất cả <button> yếu tố kế thừa lớp .btn từ Twitter Bootstrap's Default buttons

Trong file styles.scss của bạn, bạn sẽ phải đầu tiên nhập khẩu _bootstrap.scss:

@import "_bootstrap.scss"; 

Sau đó, dưới khẩu:

button { @extend .btn; } 
+0

Tôi cảm thấy xấu vì đã làm điều này kể từ khi các câu trả lời khác khá nhiều trả lời câu hỏi này (tôi chỉ bị bỏ quên để kiểm tra lại một lúc và sau đó quên); nhưng tôi chấp nhận câu trả lời của bạn bởi vì đó là câu trả lời hoàn chỉnh nhất - tức là nó hướng dẫn tôi qua toàn bộ quá trình. Cảm ơn! –

+3

Tính năng này chỉ hoạt động với các tệp SCSS khác? Bạn không thể làm điều này với các tệp CSS? – crush

+2

Điều này chỉ thổi tâm trí của tôi. Cảm ơn từ tương lai! –

2

Theo hiểu biết của tôi, you have to use @import của tệp chứa các lớp bạn muốn sử dụng vào tệp SASS của mình để sử dụng chúng trong tệp đó. Tuy nhiên, tôi không phải là chuyên gia SASS/SCSS, vì vậy ai đó có thể biết cách khác để sử dụng chúng từ xa mà tôi không biết.

7

** Tôi có thể bị nhầm lẫn, nhưng nếu tôi có được những gì bạn đang cố gắng làm, bạn không thể sử dụng lệnh @extend .classname; bên trong phần tử mà bạn muốn mở rộng? Đương nhiên, bạn chỉ nên sửa đổi mã của riêng bạn để duy trì khả năng cập nhật.

Các vấn đề liên quan