Tôi đang cố gắng để tạo ra một nút mixin như thế này:Sass Mixin lỗi cho IE lọc cụ thể như -ms-lọc
=default_button(!lighter, !darker)
:border= 1px !lighter solid
:background-color #e3e3e3
:background= -webkit-gradient(linear, 0 0, 0 100%, from(!lighter), to(!darker)) repeat-x, #d0581e
:background= -moz-linear-gradient(90deg, !darker, !lighter) repeat-x scroll 0 0 #d0581e
:filter= progid:DXImageTransform.Microsoft.gradient(startColorstr='!lighter', endColorstr='!darker')
:-ms-filter= "progid:DXImageTransform.Microsoft.gradient(startColorstr='!lighter', endColorstr='!darker')"
:zoom 1
:margin 0 0 0 0
:width auto
:padding 2px 14px 2px 14px
:border-radius 10px
:-webkit-border-radius 10px
:-moz-border-radius 10px
:color #FFF
Khi tôi biên dịch sass, tôi nhận được lỗi này cho các dòng bắt đầu với - bộ lọc và -ms-filter:
SASS::SyntaxError: Expected rparen token, was single_eq token
Tôi chắc chắn đó là vị trí của tôi, nhưng tôi không chắc chắn cách viết chính xác. Nó hoạt động nếu tôi vượt qua các giá trị hex thay vì nhẹ hơn, sẫm màu hơn, bởi vì sau đó tôi có thể loại bỏ các = ký như vậy:!
:filter progid:DXImageTransform.Microsoft.gradient(startColorstr='#F89F16', endColorstr='#d0581e')
:-ms-filter "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F89F16', endColorstr='#d0581e')"
Upvote cho cú pháp # {...}. Cần thiết này để có SASS thay thế các biến cho đối số startColorstr/endColorstr của bộ lọc gradient MS trên SASS 3.1.10. Đó là, startColorstr = $ foo sẽ không hoạt động (như trong nó sẽ không thay thế $ foo), nhưng startColorstr = # {$ foo} đã làm. – voetsjoeba
cảm ơn .. gradient của tôi là màu xanh sang màu đen (tức là mặc định) trước haha .. cảm ơn lần nữa – Orlando
Nếu màu của bạn có độ trong suốt alpha (rgba), thì phương pháp này sẽ không hoạt động. Bạn sẽ cần phải sử dụng câu trả lời của [Matthias Dailey] (http://stackoverflow.com/a/11941400/1652962) bên dưới. – cimmanon