Ancak bu çalışmaz! Blah'ın genişliği, "daha geniş" sınıfını iptal eder.Bir sınıfa bir kimliğin önceliğini nasıl verebilirim?
cevap
Sizin neyiniz var CSS specificity sorunu.
.wider
, 0,0,1,0
özgünlüğüne sahiptir. #normal
0,1,0,0
içeriğine sahiptir. Bir ID'yi ID'den başka bir şeyle (veya satır içi tanımlarla değil) geçemezsiniz, fakat bu durum böyle değildir. Eğer #normal
seçicinin gerekli width
beyanı koyamazsınız eğer
ben öneriyoruz ne, bu da mümkün değilse, bir tespit kapsayıcı olduğu gibi yüksek, #container
demek, #normal.wider
koymak veya etmektir hiyerarşiyi (belki de vücuttaki bir kimlik?) ve .wider
'u #container .wider
ile değiştirin. Bu yeni seçici, 0,1,0,0
'dan biraz daha yüksek olan 0,1,1,0
özgüllüğüne sahip olacak. !important
kullanmak da işe yarayacaktır, ancak sadece son çare olarak kullanılmalıdır.
Örnek: olacaktır özgüllük azalan bazı olası seçiciler pasajı, bu HTML için
<div id="container" class="wrapper">
<div id="normal" class="wider">
</div>
:
kişi önce belirtildiği gibiCSS Selector -> Specificity
---------------------------------------
#container #normal -> 0,2,0,0
#container .wider -> 0,1,1,0 // These two have the same specificity so
#normal.wider -> 0,1,1,0 // the last declared value will be used
#normal -> 0,1,0,0
.wrapper .wider -> 0,0,2,0
.wider -> 0,0,1,0
+1 – ChrisR
kullanım # blah.wider yerine Sen !important
ile özelliklerini dekore edebilirsiniz
benim için çalıştı! thakns – Toadums
bu onların ... önemini artırmayı çözmek için.
.wider
{
width:9000px !important;
}
Not: Önemi artırmaz veya azaltmazsınız. Sadece onları * önemli kılıyorsun *. Onları iki katına çıkaramazsın. Bunları önemli kılarak, önemli olmayanlardan öncelikli olduklarını söylüyorsunuz, ancak hem önemli hem de önemsiz olan iki beyandan hangisinin seçicilik dediği ve seçicinin yapısı tarafından belirlendiğini belirleme aracı. –
İyi bir nokta. Ve bundan daha fazlası var - bir stilin kökenini de etkiler. Örneğin, kullanıcı önemli stilleri, özgüllükten bağımsız olarak, yazarın önemli stillerini geçersiz kılar. Baskın önceliği denebilecek daha iyi olabileceğini düşündüğüm şey anlamını belli belirsiz bir şekilde kullandım. Özgünlüğü açıklamak için –
, bir kimlik 100 bir özgüllüğe sahiptir, oysa Bir sınıf sadece 10'dur.
Önerilen yanıtlara bir alternatif (!important
kullanmayan), özelliğiürününden kaldırmaktır.çelişiyor (genişlik) ve bunu ikinci bir sınıfa uygulayın.
#normal {
padding : 0;
margin : 0;
}
.normal {
width : 400px;
}
.wider {
width : 1000px;
}
olmak için asıl işaretlemeyi bırakmak: İstediğiniz
<div id="normal" class="normal">
</div>
'normal genişliğe' ve: Yani benzeyecektin
<div id="normal" class="wider">
</div>
istediğiniz Nerede ekstra geniş eleman. .normal
sınıfını eklemek için #normal
'u kullanan sayfalarınıza geri dönmeniz gerekebilir, ancak bu sorunu düzeltir.
Ayrıca Gerben'in cevabının da işe yaradığını düşünüyorum - #normal
genişlik özelliğini geçersiz kılan ID özelliğine (tamamen 110) daha fazla özgüllük ekler.
#normal.wider {
1000px;
}
Bir kimlik aslında 100 bir özgüllük ve 10 sınıftan birine sahip değil, yalnızca insanların anlaması için ortak bir benzetme. Sırasıyla 0,1,0,0 ve 0,0,1,0 özgüllükleri vardır. Çoğu durumda 100 ve 10 kullanarak hesaplayabilmeniz, 9'dan fazla kimlik veya sınıf kullanmayan kişilerden kaynaklanmaktadır. 11 sınıfın hala tek bir kimlikten daha düşük özgüllüğe sahip olduğunu unutmayın. Eğer titiz olmak istiyorsanız 'a, b, c, d 'notasyonu kullanmalısınız. –
Bom. Alin konuştu;) Teşekkürler, CSS özgüllüğünü daha iyi anladığımı düşünüyorum. – jlmakes
256 CSS Sınıfları bir #id geçersiz kılar Can: http://codepen.io/chriscoyier/pen/lzjqh
Alin Purcaru cevabı css öncelik hesaplama temel kuralları açıklar. Ancak, uygulamanın açıklaması http://hackerne.ws/item?id=4388649
- 1. Bir işlemin önceliğini nasıl değiştiririm?
- 2. nasıl MSMQ'deki bir mesajın önceliğini değiştirebilir?
- 3. Scala'da, bir Singleton'u bir kurucuya nasıl verebilirim?
- 4. Scala'daki bir üyeye nasıl yetki verebilirim?
- 5. Android'de nasıl cesur bir stil verebilirim?
- 6. , bir iç sınıfa
- 7. Kitaplık önceliğini ayarlama
- 8. JQuery'den belirli bir kimliğin çağrılıp yapılmadığı nasıl kontrol edilir?
- 9. Javascript ile bir sınıfa bir xml yükleme
- 10. XSLT - Bir sınıfa sınıfla bir şey eklemek?
- 11. Başka bir sınıfa dayalı kod nasıl oluşturulur?
- 12. Başka bir projeden sınıfa nasıl erişilir?
- 13. Arabirimi bir soyut sınıfa uzatın
- 14. Bir Oracle tablosunun içeriğini bir dosyaya nasıl verebilirim?
- 15. Bir html tablo satırına bir bağlantı adı nasıl verebilirim?
- 16. Akıcı NHibernate - Bir tabloyu bir sınıfa eşler
- 17. Operatör önceliğini Python
- 18. Bir kimlikte bir kimliğin olup olmadığını kontrol edin
- 19. C# bir sınıfa bir Json Diziyi ayrıştırma
- 20. Bir dizi parametresini başka bir sınıfa iletemiyorum
- 21. Pharo'da bir sınıfa nasıl bir sınıf değişkeni ekleyebilirsin?
- 22. Omurgadaki herhangi bir sınıfa nasıl bir belkemiği çekebilirim?
- 23. GWT'de harici bir maven bağımlılığından bir sınıfa nasıl erişebilirim?
- 24. Belirli bir sınıfa belirli bir dizeyle başlayan öğeler nasıl alınır?
- 25. Bu kimliğin başka bir niteliğini "ID" dışında bıraktığım gibi MVC
- 26. kimliğin değerini süslü kutuya gönder
- 27. Statik bir sınıfa sahip bir görünüme dinamik bir sınıf ekleyin
- 28. Yığın taşmasına nasıl izin verebilirim?
- 29. Yerleşik Object.assign'ı nasıl tepki verebilirim?
- 30. Soyadı ile nasıl sipariş verebilirim?
Huh? Lütfen örneğinizde daha açık olun. –
".wider" için bildirilen genişliğin "# normal" için ilan edilenin önüne geçmesini istediğinden şüpheleniyorum. –