Bir sınıf hariç tüm elemanlar için bir css kuralı nasıl oluşturulur?


100

Projem için bir CSS stil sayfası oluşturdum. "DojoxGrid" sınıfına ait tablo öğeleri HARİÇ tüm tablo öğeleri için geçerli olan bir css kuralı oluşturmanın herhangi bir yolu var mı? Gibi bir şey:

.not(dojoxGrid) table{
    width:100%;
    border-top:1px solid #dddddd;
    border-left:1px solid #dddddd;
    border-right:1px solid #dddddd;
    margin:1em auto;
    border-collapse:collapse;
}

Tarayıcılar arası çalışmak için buna ihtiyacınız var mı? Tarayıcılar, daha esnek CSS seçicileri için farklı desteğe sahiptir. Kesinlikle gerekliyse ve tarayıcılar arası olması gerekiyorsa, komut dosyasında yapabileceğiniz bir şey olabilir.
kibibu

evet büyük tarayıcılarda çalışmasına ihtiyacım var. Komut dosyası yazmak yerine bunu başarabilmemin başka bir yolu var mı? alkış
Nick

Cori'nin yaklaşımı, tarayıcılarda ie4'e kadar, belki daha da önce çalışacaktır.
kibibu

Yanıtlar:


194

Olumsuzluk sözde sınıfı size aradığınızı gibi görünüyor.

table:not(.dojoxGrid) {color:red;}

Yine de ≤ IE8 tarafından desteklenmiyor .


2
bu farkında olunması gereken güzel bir css3 seçici - umarım IE9'da kullanılabilir.
cori

4
Yorumum doğrudan soru için geçerli olmasa :notda, bir jquery seçici olarak CAN'ın kullanılabileceğini belirtmek gerekir. yani $("[data-name='bob']:not(a)"), güzel olan.
gingerbreadboy

3
Bu kabul edilen cevap olmalı, çünkü istenen etkinin cevabı bu. Mevcut kabul edilen cevap, istenen etkiyi elde etmenin alternatif bir yoludur, ancak soruyu gerçekten cevaplamaz. Bu soruyu bulan insanlar, büyük olasılıkla tam olarak sorulan şeyin cevabını arıyorlar, çoğu durumda alternatif bir yol geçerli değildir.
Pedro Moreira

≤IE8'de bu, hiçbir tabloyu almaya zorlanmadan tamamen yok sayılacaktır color:red. Bu bazıları için iyi olabilir ama benim için onu gibi okuyup table {color:red;}görmezden geleceğini umuyordum :not().
DutGRIFF

7
@FranciscoCorralesMorales :not(.classOne):not(.classTwo)cf stackoverflow.com/a/5684168/248058
Knu

12

Tüm tablolar için bir css kuralı ve ardından class = "dojoxGrid" in çalıştığı tablolar için sonraki bir css kuralı ayarlamak olmaz mı? Yoksa bir şey mi kaçırıyorum?


3
Evet, bu kesinlikle işe yarar, ancak tüm bu özellikleri bir değere ayarlıyorsunuz. Onları "ayarlanmadan" bırakmak istiyorsanız, hayır. Muhtemelen Nick, dojoxGrid'in değerlerini başka bir yerde ayarlandığı için bozmamaya çalışıyor.
kibibu

1
Sanırım olur. Bununla birlikte, tüm tablolar için bir sürü özellik ayarlıyorum, dojoxGrid için gereken varsayılan değerlerle bunların üzerine tekrar yazabilirim. Bununla birlikte, bu varsayılan değerlerin dojo kitaplığı tarafından üretildikleri için ne olduklarından emin değilim. Bu nedenle bunu başarmanın başka bir yolunu arıyordum.
Nick

4

En güvenli bahis, bu masalarda bir sınıf oluşturmak ve bunu kullanmaktır. Şu anda tüm büyük tarayıcılarda böyle bir şeyin çalışması pek olası değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.