kin*_*net 16 css sass css3 blueprint-css compass-sass
我正在尝试按下这样的按钮:
=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
Run Code Online (Sandbox Code Playgroud)
当我编译sass时,我得到以-filter和-ms-filter开头的行的错误:
SASS :: SyntaxError:预期的rparen令牌,是single_eq令牌
我很确定这是我的's'的位置,但我不确定如何正确地写它.它可以工作,如果我传递十六进制值而不是!更轻,更暗,因为那样我可以删除=符号,如下所示:
:filter progid:DXImageTransform.Microsoft.gradient(startColorstr='#F89F16', endColorstr='#d0581e')
:-ms-filter "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F89F16', endColorstr='#d0581e')"
Run Code Online (Sandbox Code Playgroud)
kin*_*net 36
解决了这个问题,但仍在寻找最佳方式的替代建议......
=default_button(!lighter, !darker)
text-shadow= 1px 1px 3px darken(!darker, 8)
border= 1px !darker solid
background-color= !lighter
background= -webkit-gradient(linear, 0 0, 0 100%, from(!lighter), to(!darker)) repeat-x, !darker
background= -moz-linear-gradient(90deg, !darker, !lighter) repeat-x scroll 0 0 !darker
-ms-filter = "progid:DXImageTransform.Microsoft.gradient(startColorstr='#{!lighter}', endColorstr='#{!darker}')"
:zoom 1
:margin 0 0 0 0
:width auto
Run Code Online (Sandbox Code Playgroud)
自从此答案最初发布以来,Sass的语法已更改.现代sass(缩进)语法如下所示:
=default_button($lighter, $darker)
text-shadow: 1px 1px 3px darken($darker, 8)
border: 1px $darker solid
background-color: $lighter
background: -webkit-gradient(linear, 0 0, 0 100%, from($lighter), to($darker)) repeat-x, $darker
background: -moz-linear-gradient(90deg, $darker, $lighter) repeat-x scroll 0 0 $darker
-ms-filter: unquote("progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$lighter}', endColorstr='#{$darker}')")
zoom: 1
margin: 0 0 0 0
width: auto
Run Code Online (Sandbox Code Playgroud)
Mat*_*ley 11
插值#{}
有时不起作用,因为它缩短了十六进制颜色值.例如,它将缩短#334455
为#345
,这会破坏过滤器语法.
SASS在3.2版中有一个新功能:ie-hex-str()
.
以下是我如何使用它:
filter: unquote("progid:DXImageTransform.Microsoft.gradient(startColorstr='")
+ ie-hex-str($start)
+ unquote("', endColorstr='")
+ ie-hex-str($stop)
+ unquote("',GradientType=0)"); /* IE6-9 */
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11173 次 |
最近记录: |