Theo mặc định, Sass sẽ không chuyển đổi giá trị màu đen từ giá trị hex của chúng trừ khi bạn đang buộc Sass nội suy với #{}
hoặc biến.
Sử dụng nội suy sẽ trả về phiên bản "to_sass" của giá trị bạn quan tâm. Ví dụ: #{ #fff }
sẽ nội suy thành "trắng". Điều này cũng xảy ra trong các thay thế biến: các chữ màu được dịch sang các đối tượng Màu khi được sử dụng làm biến, sau đó "to_sass" được chỉnh sửa vào biểu định kiểu của bạn.
Ngoài ra, bạn có thể chỉ định tùy chọn kiểu compressed
, sẽ trả về phiên bản có độ dài byte ít hơn (ví dụ: red
thay vì #f00
). Vì white
dài 5 ký tự và #fff
chỉ là 4, quy tắc của bạn sẽ thay thế bằng #fff
thay thế.
Không có cách nào để tắt chuyển đổi tên màu HTML4 ngược lại khi sử dụng biến. Là một work-around, bạn có thể khai báo các biến màu dưới dạng một chuỗi, sau đó sử dụng các kiểu với hàm unquote()
.
$color: '#fff';
.white { color: unquote($color) }
Sass không làm điều này cho tôi .. bạn chắc chắn sass là vấn đề của bạn? – Ben
Điều này không xảy ra nếu chúng ta chỉ làm nền: #FFF, không có hình ảnh. Bạn đã thử điều đó chưa? Bạn đang sử dụng kiểu đầu ra nào? –
Tôi đã trêu chọc trang này vì bộ lọc ms không nhận dạng các phần tử ngắn-hex và 'rake: tiền biên dịch' luôn mang đến cho tôi hình lục giác ngắn. Có một hàm 'ie-hex-str' mà mọi người không biết. Google đó. –