2013-02-20 68 views
0

很肯定这是不是在所有可能的,但...Lesscss一个级别混合

说我有这样的mixin:

.horizontalList() { 
    background:blue; 
     & li { 
      display:inline-block; 
     } 
} 

它所产生的CSS是:

.something{ 
    background:blue; 
} 

.something li{ 
    display:inline-block; 
} 

是否可以使用类似的mixin生成以下CSS?

.something{ 
    background:blue; 
} 

.something li{ 
    display:inline-block; 
} 

.ie6 .something li, 
.ie7 .something li 
{ 
    display:inline; 
} 

...所以IE6和IE7的东西是在选择之前,我可以利用的Paul Irish conditional comments idea

我知道,我可以添加一个CSS破解做旧的IE的东西,但我更喜欢不要在我的样式表中有这些。

谢谢!

回答

1

你需要做的是在混入:

LESS

.horizontalList() { 
    background:blue; 
     & li { 
      display:inline-block; 
     } 
     .ie6 & li, 
     .ie7 & li { 
      display: inline; 
     } 
} 

调用它

.something { 
    .horizontalList; 
} 

CSS输出

.something { 
    background: blue; 
} 
.something li { 
    display: inline-block; 
} 
.ie6 .something li, 
.ie7 .something li { 
    display: inline; 
} 
+0

A HA!便士下沉。非常感谢! – user1010892 2013-02-21 12:30:37