Aynı sayfada birden çok css dosyası kullanıldığında ve çarpıştıklarında hangisinin kullanılacağını nasıl bilebilirim? Örneğin, biri mavi beden arka plan ve diğeri kırmızı diyorsa.Birden çok çelişkili css dosyası kullanırken öncelik sırasını sınama
cevap
Hızlı Cevap:
CSS her iki parça aynı specificity (örneğin, ikisi de body{
) varsa, o SON çağrılan hangisi öncekinineredeyse geçersiz kılar. Bir şey daha yüksek özgüllüğe (daha spesifik bir seçiciye) sahipse, siparişten bağımsız olarak kullanılacaktır.
Örnek 1: Yukarıdaki örnek kırmızı renk yapacak
<div class="container">
<div class="name">Dave</div>
</div>
<style>
.name { color: blue; }
.name { color: red; }
</style>
. Her iki seçmen de aynıdır ve bu nedenle de aynı özgüllüğe sahiptir. Ve CSS yukarıdan aşağıya okuduğundan, önce mavi olduğunu söyleriz, ama sonra bunu "nevermind, kırmızı yap" diyerek geçersiz kılar.
Örnek 2:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
#container .name { background-color: blue; }
.name { background-color: red; }
</style>
Yukarıdaki örnek seçici more "specific" çünkü mavi ilk halde, arka plan rengi mavi yapacaktır.
İstisna (!important
kullanımı): Eğer bir karışıklık ile çalışıyorsanız !important dahil özgünlüğünü ve düzeni hem geçersiz kılar
, ama bence, sadece kullanılmalıdır Başka bir şekilde değiştirmek için erişiminiz olmayan üçüncü taraf kodu.
Dış CSS:
Üzerine Yaz kurallar harici CSS dosyaları üzerinde aynı şekilde çalışır. Sadece onları en üste, en üste üste koymayı hayal et. İlk dosya (lar) da adlandırılan seçiciler, sonraki dosyalarda aynı özgüllük seçiciler tarafından üzerine yazılacaktır. Ancak, özgüllük yine aynı dosya içinde veya birden çok dosya içinde sipariş kozlarız.
Nasıl testi için: Chrome, Firefox ise
ve IE'nin modern versiyonları (muhtemelen Safari çok), doğru bir şey tıklayabilir ve "Öğeyi İncele" a tıklayın. Bu size HTML'yi ve uygulanmış CSS'yi gösterecektir. CSS'yi aşağı doğru kaydırırken (genellikle sağda), çaprazlanmış olanları görürsünüz - bu, ya yanlış CSS ya da üzerine yazıldığını gösterir. Test etmek için, CSS seçicilerini (ya kendi kodunuzda ya da geliştirici araçları kutusunun içinde) değiştirerek daha spesifik hale getirebilir ve daha sonra çapraz çizilip çıkarılmadığını görebilirsiniz. W/bu araç etrafında oyna - ÇOK yardımcı olur.
+1 - Sadece "önemli" kelimesini ekleyebilirim. @Filip, ayrıntılar için, bkz. [Http://www.w3.org/TR/CSS2/cascade.html](http://www.w3.org/TR/CSS2/cascade.html). –
@Ian Geçerli bir nokta - Bunu düşünmüyorum çünkü bunu kullanmaktan nefret ediyorum, ama kesinlikle doğru. Cevabımı içerecek şekilde düzenleyeceğim. (teşekkürler!) – Dave
Oh evet, kesinlikle - güzel değil, ama geçerli. –
- 1. iki öncelik sırasını birleştirin
- 2. Testng sınama paketi sınama sınıfı yürütme sırasını sınama
- 3. Python kullanarak bir öncelik sırasını doldurma Kravat
- 4. Birden çok iş parçacığıyla sınama yapabilen .NET birim sınama çerçevesi
- 5. Serverpec kullanılarak aynı sınama ile birden çok ana bilgisayarı sınama
- 6. Harici css dosyası bootstrap kullanırken çalışmıyor
- 7. çelişkili beyan
- 8. Symfony'de birden çok günlük dosyası
- 9. Webpack'i kullanarak birden çok html dosyası
- 10. Birden çok proje, birden çok setup.py komut dosyası kullanıyor mu?
- 11. Birden çok sınama durumu içeren Scalatest veya specs2
- 12. Nesnenin birden çok özelliğe sahip olup olmadığını sınama
- 13. Yapı otomasyonu - sbt: Birden çok bağımlılığa karşı derleme/sınama
- 14. jQuery Birden çok alandan CSS özelliklerini ayarlama
- 15. Bir projenin dizinindeki birden çok .nuspec dosyası?
- 16. Log4j ile birden çok günlük dosyası
- 17. AngularJS'de birden çok JSON dosyası yükleniyor
- 18. Jest ile birden çok test dosyası çalıştıramıyorum?
- 19. Birden çok JSON şema dosyası nasıl yönetilir?
- 20. Yay önyükleme birden çok günlük dosyası
- 21. Metin dosyası birden çok dosyaya nasıl bölünür?
- 22. DropWizard'da birden çok yapılandırma dosyası alabilir miyim?
- 23. LI elemanlarının sırasını yalnızca CSS ile değiştirme
- 24. Çift uçlu öncelik sırası
- 25. Excel'de çok satırlı birden çok excel dosyası oluştur
- 26. LINQ2SQL veya Entity Framework kullanırken büyük veritabanı için birden çok .dbml/.edmx dosyası oluşturuyor musunuz?
- 27. programı birden çok uzaktaki aktörler ile birden çok geleceği kullanırken askıda kalıyor
- 28. Birden çok veri kaynağı kullanırken ilkbaharda birden çok varlık Yöneticisi sorunu
- 29. Birden çok .gitignore dosyası kullanmanın en iyi yolu
- 30. nginx hatası "çelişkili sunucu adı"
Zaten sahip değilseniz, Mozilla Firefox için Firebug eklentisini indirin. Belirli bir DOM öğesinde tüm stilleri ve sınıfları görmenizi sağlayan bir CSS gezgini vardır. Hatta bunları geçici olarak düzenlemenize ve sonuçları herhangi bir sayfada görsel olarak görmenize izin verir. Bu her şeyden çok CSS'nin bir sayfa ile nasıl etkileşimde bulunduğunu öğrenmeme yardımcı oldu. –
Web sayfalarını tasarlarken, Firebug ve krom denetçisi (ve fireflyly), kolay olmayan araçlardır! Özgüllüğünden bahsetmek için –