2012-08-05 20 views
0

问题在标题中非常多。是否可以在sass中使用html属性?

我不知道这是可能的,似乎并不能使它工作,但我可能忽略了一些(我希望)

这是我的颜色选择功能混入的thingie

=colors($color) 
    @if #{$color} == 0 
    background: transparent 
    @if #{$color} == 1 
    background: #87dcec 
    @if #{$color} == 2 
    background: #72d856 
    @if #{$color} == 3 
    background: #f7e818 
    @if #{$color} == 4 
    background: #f75149 
    @if #{$color} == 5 
    background: #303030 
    @if #{$color} == 6 
    background: #fff1da 
    @if #{$color} == 7 
    background: #75430a 
    @if #{$color} == 8 
    background: #0e7259 

这是我@for

@for $i from 1 through 143 
    li:nth-child(#{$i}) 
    float: left 
    width: 50px 
    height: 50px 
    $color: #{attr(color)} 
    +colors($color) 

所以,我的上海社会科学院已决定,如果的颜色,因为我甚至不使用8又是古怪只使用最后。

是的,我有一个名为color

回答

1

SASS HTML中的属性就是扩展CSS的,所以你可以使用HTML属性只有在选择,像这样:

.some[color] { color: $color; } // $color is SCSS variable 
.some[color=red] { color: red; } 

您不能设置(或获取)来自(S)CSS内部的html属性值。

但在你的情况,你可以只使用一组普通的CSS类:

.class[color=0] { background: transparent; } 
.class[color=1] { background: #87dcec; } 

等,只是包括他们进入你的SASS的样式。


less,使用less.js的时候,你可以访问DOM通过JavaScript属性,查看教程 “的JavaScript评价”:

@height: `document.body.clientHeight`; 
+0

喔,谢谢...但我不想要使用LESS,因为我想学SASS:D – Mobilpadde 2012-08-06 00:15:15

相关问题