2010-12-30 27 views

cevap

38

Vanilla CSS ile mümkün değil. gibi bir şey kullanabilirsiniz Ancak:

  • Sass
  • Sass tekrar CSS dalga geçiyor. Sass, CSS3'ün uzantısıdır, iç içe kuralları, değişkenler, miksler, seçici devralma ve daha fazlasını ekler. , komut satırı aracı veya web çerçeve eklentisi kullanılarak iyi biçimlendirilmiş, standart CSS'ye çevrilir.

Ya Less

yerine uzun SEÇİCİNİN isimleri oluşturmak miras belirtmek için

  • , Less yapabildiğiniz diğer seçicileri içeride sadece yuva seçiciler. Bu kalıtım net ve stil sayfaları daha kısa yapar.

Örnek:

#header { 
    color: red; 
    a { 
    font-weight: bold; 
    text-decoration: none; 
    } 
} 
+0

tamam daha iyi bir açıklama. Teşekkürler. Ben zaten JQuery kullanıyorum, bu yüzden kullanacağım. Ben css kullanmayı umuyordum çünkü o zaman class2 ile html başka bir pit eklemek, örneğin, bu sınıf yeni html eklenir, JQuery ile html – kralco626

+4

ekledikten sonra el eklemeliyim jQuery bununla mı ilgili? JQuery'de kendi css ön işlemcinizi hazırlamanızı mı öneriyorsunuz? – moopet

4

değil direkt olarak. Ancak, aynı sonucu elde etmenize yardımcı olması için LESS gibi uzantıları kullanabilirsiniz.

+0

tamam. Teşekkürler. Ben zaten JQuery kullanıyorum, bu yüzden kullanacağım. Ben sadece css kullanmayı umuyordum çünkü eğer html'yi class2 ile başka bir html pini eklediysem, örneğin, bu sınıf yeni html'ye eklenecekti, JQuery ile birlikte html ekledikten sonra el ile eklemek zorundayım. – kralco626

31

Saf CSS ile değil.

.class1, .class2 { 
    some stuff 
} 

.class2 { 
    some more stuff 
} 
2

sayılı

Tek bir elemana grouping selectors ve/veya birden sınıfları kullanabilir, ya da CSS yazmak için yazılım ile bir şablon dili ve süreci kullanabilirsiniz: yakın eşdeğer budur.

Ayrıca bkz. CSS inheritance.

0

Bunun mümkün olduğuna inanmıyorum. Ayrıca class2 olan tüm öğelere class1 ekleyebilirsiniz. Bu elle yapılması pratik değilse, JavaScript ile otomatik olarak yapabilirsiniz (jQuery ile oldukça kolaydır).

15

Güncelleme: CSS seviye 3 yuvalama için bir CSS3 belirtimi var. Şu anda bir taslak. Onaylanırsa https://tabatkins.github.io/specs/css-nesting/

, sözdizimi şu şekilde görünecektir:

table.colortable { 
    & td { 
    text-align:center; 
    &.c { text-transform:uppercase } 
    &:first-child, &:first-child + td { border:1px solid black } 
    } 
    & th { 
    text-align:center; 
    background:black; 
    color:white; 
    } 
} 
+0

Sanırım bu yazıyı kimse görmedi, ama büyük bir adam ... Gerçekten. –

0

bu deneyin ...

elemanını bir kimlik verin ve aynı zamanda bir sınıf adı. Sonra #IDName yuvalayabilirsiniz.CSS'nizde className.

İşte https://css-tricks.com/multiple-class-id-selectors/

+1

Bu nasıl yardımcı olur? Sorunun sorduğu bir CSS kuralını genişletmenize izin vermez ve zaten birden fazla dersi kullanmaktan ziyade bir sınıfla bir kimlik kullanmanın yararı yoktur. – moopet