2013-01-05 19 views
9

Bir sınıftaki belirli öğeleri daha az kullanarak hedeflemek istiyorum.Bir sınıftaki bir öğeyi daha az kullanarak nasıl hedefleyebilirim?

Bu durumda, button sınıfının öğelerini hedeflemek istiyorum, ancak bunun içinde bir çapa etiketi a hedeflemek istiyorum.

Şu anda var:

.button { 
    /* lots of bits and pieces go here, hence 
    the need to keep it at a class level 
    */ 


    /* further down, but still in .button */ 
    /* Attempt 1 - fails: compiled = a .button (note the space) 
    a& { 
     height:20px; 
    } 

    /* Attempt 2 - fails: compiled = .buttona 
    &a { 
     height:20px; 
    } 
} 
I temelde derlemek istiyoruz

:

<a class="button"> 
<button class="button"> 

Ama biraz değiştirmek: Bu yüzden gibi unsurları oluşturabilir olduğunu

a.button 

onun bir çapa olduğunda. Ben çok erken it's a bug in less! karta atmak istemiyorum ama &.another-class kullanırsak beklendiği gibi (derlenmiş çalışır:. .button.another-class ama hedeflemeyen elemanları

Aşağıda daha az kod eski bir sürümünü kullanıyorsunuz

cevap

12

kullanarak doğru CSS üretir üretir 1.3.3

.button { 
a& { 
    height:20px; 
    } 
} 

az:

a.button { 
    height: 20px; 
} 
+0

Haklısınız, yerel olarak derlemek için SimpLESS kullanıyorum ve sadece daha az v1.3.0 kullanıyor (1.3.3 yerine). Kitaplığı doğrudan kullanırsam (1.3.3) hata giderildi. Şerefe – Chris

-1

@Allen Bargi yanıt doğru, henüz yalnızca bu senaryo için ben başarmak istiyorum hakkında biraz karıştırmayın değilim olduğunu.

olarak @Allen Bargi, bu bir "düğme" sınıfı ile "a" lements hedef alacaktır işaret ve üreten bir

.button { 
a& { 
    height:20px; 
    } 
} 

O oluşturur: Bu arada

a.button { 
    height: 20px; 
} 

, bu aşağıda hedefleyecektir "a" öğeleri, bir "düğme" sınıfına sahip bir elemanın içinde yer alır. Bana öyle geliyor ki, orijinal hedefinizdi.

.button a { 
    height:20px; 
} 

bu durumda migt çalışma ince Eğer üst ve alt öğeler için aynı "düğmesi" sınıfını kullanarak çünkü ikisi de çözümler, ancak hedef değildir:

.button { 
a { 
    height:20px; 
    } 
} 

O üretir aynı elementler.

Umarım bu yardımcı olur.

İlgili konular