CSS özgüllüğü: Ayrıntılı yönergeler (en iyi uygulama, örnek dahil)
CSS’nin özgüllüğü, bir tasarımcı ve web geliştirici deposunda ve katmanlı bir stil sayfasıyla oynayarak sitelerinin tasarımını değiştiren herkes önemli bir araçtır. Elemanların istediğiniz gibi davranamayacağınız veya görünemeyeceğiniz bir durumda bulunuyorsanız, gücünü hissedebilirsiniz.
Ancak, kendi faydalarınız için CSS’nin özgüllüğünden yararlanmak onun için üzülmekten daha iyi değil mi? Sadece empati ile başını sallarsanız, doğru yere geldiniz. Burada, bu önemli konsepti tartışacağız, böylece web sitenizin görünümünü ve hissini ve WordPress temasını kontrol etmek için kullanabilirsiniz, tam tersi değil.CSS: CSS kısa kurslarının özgüllüğünü anlamak, CSS’nin özgüllüğünü söylediğimizde tam olarak ne hakkında konuşuyoruz? Kısa sürüm, tarayıcının hangi özellik değerinin sayfadaki hangi öğelere uygulandığına karar vermesidir. Bu süreci anlamak için önce CSS’nin genel olarak nasıl çalıştığını anlamalısınız. Bunun için önce birkaç terminolojiyi bitirelim. Aşağıda işaretleme CSS’nin tipik bir parçasıdır: .Sector {Property: değer; } Tüm bunlarla ne demek istiyorsun?
Seçici – Bu, bu CSS bölümüne uygulanan öğeleri açıklayan kısımdır. Div, P, H1 veya sınıf veya kimlik gibi bir şey olabilir. Widget veya #Main-Navigation.
Mülk – Seçilen öğelere uygulanan kurallar. Renkten kenardan esnekliğe başlayan bir şey olabilir.
Değer-bu bir özellik değeridir, örneğin, mülk kenar boşlukları için belki 20px.
CSS Nasıl Değiştirilir Yukarıdakilere ek olarak, tarayıcının kuvvet sayfasını yukarıdan aşağıya işlediğini bilmeniz gerekir. Bu, daha önce gelen stil sayfasında görünen bildirimin daha önce gelen bildirim anlamına geldiği anlamına gelir … widget {font-boyut: 18px; }. Widget {yazı tipi boyutu: 16px; } Yukarıdaki örnekte, iki bildirimin aynı seçmenleri ve mülkleri hedeflediğini görebilirsiniz. Ancak, sonuncusu aşağıda olduğu için değer kazanacaktır. Tarayıcı her zaman son beyanı kullanacaktır. Ancak istisnalar vardır. İlk bildirim onu takip edenden daha spesifik ise, bunun yerine başvurmaya devam edecektir. Örneğin, aşağıdaki işaretleme ile, sınıf widget’ına sahip her öğe, 16 değil 18 piksele ayarlanmış bir yazı tipi boyutuna sahip olacaktır. }. Widget {yazı tipi boyutu: 16px; }. Ve bu, CSS’nin özgüllüğünün özüdür.
Bu neden önemli? Peki, neden CSS’nin özgüllüğünü bilmek önemlidir? Çünkü hangi doğanın ve değerin belirli unsurlar için geçerli olduğunu belirleyen prensiptir. Bunlar, potansiyel çatışmaların olduğu durumları içerir. Sonuç olarak, CSS’nin özgüllüğü, sayfadaki stilleri görüntülemede sorun yaşadığınız birçok durum için bir çözümdür. Bu genellikle özel bir problemle sonuçlanır. Tersine, bir tema yapıcısıysanız, özgüllüğü doğru nasıl kullanacağınızı bilmek, örneğin çocuk temasında ayarlama yapmak isteyen kullanıcıları hayal kırıklığına uğratmamak için çok önemlidir. Bu amaçla, en iyi uygulamalardan bazılarını aşağıda tartışacağız.
Peki, özgüllük nasıl hesaplanır? Özgüllük sorununu çözmek için nasıl çalıştığını bilmeniz gerekir. Bunu düzenleyen açık kurallar vardır ve anladığınızda kullanabilirsiniz. Seçmenlerin ilk sırası, tüm seçimlerin özgüllük açısından farklı ağırlıkları vardır. Burada sıralama dizisindedirler, daha az spesifik olana daha spesifik: Seçici Türü – Div, H1, A, P’yi düşünün, aynı zamanda: Önceden ve: Sonrası gibi sahte öğeler.
Sınıf seçmenleri-bu, site-başlık, P [class = footer-credit] gibi özelliklerin seçimi, aynı zamanda Hover ve: Focus gibi sahte sınıflar anlamına gelir.
Seçmenler kimliği-Bu, genellikle #Main-Navigation gibi yazılmış, genellikle sayfa başına belirli bir unsura benzersiz bir şekilde uygulanan bir seçmendir.
Çizgiler – Çizgiler –
gibi satırlar her zaman harici CSS dosyasındaki stil olarak gelir. Aynı şey, doğrudan HTML dosyasında bölümünde bildirilen stil için de geçerlidir. Ayrıca öncelik alırlar.
Aşağıdakiler, eve yönlendirmenin bir örneğidir:
#optin-form {color: kırmızı; } [] {renk: mavi; } İki seçim teknik olarak kimlikleri hedef alsa da, biri geçici öznitelik seçmen seçmen kimliğidir. Sonuç olarak, sonuncusu pastayı aldı. “Sayılan” özgüllük değeri, CSS’nin özgüllüğü açısından da yanlış isim değildir. Tarayıcı, özgüllüğünü bulmak için çeşitli seçici türlerine sayısal değerler uygular. 0’dan (0,0,0,0,0) başlayarak, tip seçimi 1 (0.0,0,1), sınıf seçimi 10 (0,0,1,0), ID 100 (0, 1.0, 0) ve 1.000 hat (1,0,0,0,0). Onları birbirinize de ekliyorsunuz. Dolayısıyla, bir kimlik ve ardından tür seçmenler kullanırsanız ( #Main-navigation A gibi) AA 101 değerine sahiptir. Ancak, bunun aslında temel-10 sistemi olmadığını hatırlamak önemlidir. Örneğin (0.2,11.3) (0.3,1,3) ile aynı değildir. Ancak, basitlik uğruna, bu dönemde bunu düşünmek sorun değil. 0 olarak ayarlanan özgüllüğü olan sektör, evrensel seçmenler *,>, +, ~, kalıtsal değer ve ayrıca medya sorguları gibi birleştiriciler içerir. Bu da özgüllüğü artırmadıkları anlamına gelir. Aşağıda daha fazla bilgi. Daha spesifik olalım: Öncelikle kurallar ve örnekler, yukarıdaki kelimeler için özür dilerim. İkincisi, şimdi genel olarak CSS’nin özgüllüğünün nasıl olduğunu bildikten sonra, elbette bu konuda daha fazla şey var.
Genel Kurallar İlk olarak, genel CSS kuralları hala geçerlidir. Özellikle birkaç özel beyanınız varsa ve aynı öğeyi hedeflerse, kuvvet sayfasında son bildirim görünür. .idulbar. Widget {font-style: normal; }. Container. Widget {font-style: italik; } Her biri iki sınıf seçmenden oluştuğu için, bu iki beyan aynı düzeyde özgüllük vardır. Sonuç olarak, Cascade kuralları geçerlidir ve widget’taki herhangi bir metin eğimli biter. Öte yandan, yakınlık bir sorun değildir. Aşağıdaki eşlik eden HTML işaretlemesini görürseniz, kenar çubuğunun CSS hedefine kaptan daha yakın olduğunu görebilirsiniz. > Ben bir örnek. Aynı sayıda seçmen ile yakın zamanda ilan edilen değer geçerlidir. CSS özgüllüğünün özgüllüğü ve mirası, değerlerin mirası bağlamında da önemlidir. Üst öğeye ayarlandığında yazı tipleri veya renk gibi bazı özellikler de türevlerine otomatik olarak uygulanır. Buna kalıtım denir ve bu nedenle tüm siteler için tipografiyi vücut etiketine uygulayarak ayarlayabilirsiniz.
Ancak, bu bağlamda özgüllüğün nasıl çalıştığını not etmek önemlidir. Hedef öğeniz doğrudan olduğunda, kalıtsal kuralların ne kadar spesifik olduğuna bakılmaksızın, kalıtsal işaretlemeye her zaman öncelikli olacaktır. Yukarıdaki örnek bağlamında, widget’a uygulanan herhangi bir özellik, konteynerlerden miras alınan mülke karşı kazanacaktır.
. Konteyner {font-ailesi: Tahoma; }. Widget {font-family: Verdana; } Özgüllük ve! Odada CSS’nin özgüllüğü ve adı açısından bir fil olması önemlidir! Bu mülke aşina değilseniz, bu özellikleri kesmenin bir yoludur. Daha sonra görünen herhangi bir değerde gerçekleşmesi için herhangi bir özellik değerinin sonunda önemli! }. Container. Sumberbar. Widget #Text-Example {Arka Plan-Color: LightGreen; } Yukarıdaki örnekte, ikinci bildirim ilkinden çok daha spesifiktir. Bununla birlikte, sadece birincisi içerdiğinden, önemli, arka plan rengi sarı, açık yeşil değil. Teknik olarak CSS’nin özgüllüğü ile ilgili olmasa da, kurallar! Önemli açıkça onun üzerinde bir etkiye sahiptir. Kuralların tam kullanımı hakkında konuşacağız! Aşağıda önemlidir. Şimdilik, özgüllüğün burada da geçerli olduğunu belirtmeniz önemlidir. İki çelişkili beyanınız olduğunda, her ikisi de kullanın! Önemli, daha spesifik kazanacaktır. Öte yandan, iki! Önemli ifadeniz varsa! Aynı özgüllük seviyesi ile önemlidir, Kascade uygulanır ve son ifade kullanılacak tarayıcıdır. : IS () ,: NOT () ve: WHERE () Birkaç CSS fonksiyonu olan bazı ilginç durumlar vardır. İki örnek: IS () ve: Not (). Bu teknik olarak sahte bir sınıftır, ancak özellikle böyle kabul edilmez. Ancak, içine yerleştirilen her seçim normal kabul edilir. : IS (. Konteyner. Widget) P {Color: DarkGoldenRod; }. Konteyner P {Color: Blanchedalmond;
} Bu durumda,: IS () özel olarak hesaplanmamıştır, ancak içeriği. Konteyner. Widget yapar ve bunlar sadece daha yüksektir. Kapsayıcı. Bu nedenle, metin dargoldenrod ve soluk olacaktır. (Ayrıca, CSS tarafından sunulan renk adları hakkında daha fazla şey öğrendiğim de açık olmalıdır.): Öte yandan (), bağlantılı makalede belirtildiği gibi her zaman sıfır özgüllüğe sahip çok yeni bir CSS özelliği. Yani, yukarıdaki örnekte aşağıdakileri yerine kullanırsanız: IS (), sonuçlar tam tersi olacaktır. CSS’nin özgüllüğünün en iyi uygulaması, nasıl çalıştığının ayrıntılarını bildikten sonra, CSS’nin özgüllüğünü kullanmak için en iyi uygulamaları tartışalım. Yazma İşaretleme Bilmeniz gereken ilk şey, CSS yazarken bunu nasıl kullanacağınızdır. Bu, CSS’nin özgüllüğünü sonuçlarınızı elde edecek, temiz bir kod üretecek şekilde nasıl kullanabilirsiniz ve ayrıca başkalarının saçlarına zarar vermeden veya geri dönmeden tasarımınıza ayarlamalar yapmasına izin verebilirsiniz! Önemli seçenekler! Nükleer önemlidir. Buradaki temel yönergelerin ilkesi, gereken en az seçiciyi kullanmaktır. Belirtildiği gibi, kuvvet tabakası aşağı akar, böylece genel seçmenleri geniş süpürme için kullanabilir ve daha sonra gerektiğinde daha spesifik hale gelebilirsiniz. Herhangi bir Modern WordPress Tema Stili Sayfası’nı açın ve bu ilke çalışmasını göreceksiniz: Body {Color: #111; Font ailesi: “BreakingSpaceOverride”, “Hoefler Metni”, Garamond, “Times New Roman”, Serif; yazı tipi-ağırlık: 400; yazı tipi boyutu: 1em; }. Main-navigation. Menu-menu> li> a {color: #0073aa; yazı tipi-ağırlık: 700;
} Yukarıdaki işaretleme yirmi on dokuz tema. Gördüğünüz gibi, seçmenlerin gövdesi aracılığıyla tüm tipografi standartlarını tanımlar ve daha sonra gerekli olan daha spesifik bir beyan ile ağır renkler ve yazı tipleri gelir. İkinci prensip, seçmen dizisinin özgüllüğüne daha fazla güvenmektir, eğer değilse, seçmenlerinizin birbirlerine doğru yerlerde olması için bit kodunu sarmaya devam edebilirsiniz. Bu, stil sayfasının bakımını çok zorlaştırır. Son olarak, BEM gibi CSS adlandırma mimarisini özgüllük için adlandırma konvansiyonunu düşünen görmek isteyebilirsiniz. Mevcut CSS’nin nasıl değiştirileceği, var olan temalarda değişiklik yapmaya çalışırken veya çocuk temasıyla çalışan, genellikle daha spesifik bir beyanda bulunmanız gerekecektir. Bu aslında oldukça basittir, genellikle hedefinizden önce bir veya daha fazla unsur girerek başarabilirsiniz. Bu, özgüllük seviyesini otomatik olarak artırır. Burada da, aynı şey yukarıdaki gibi de geçerlidir. Sadece hedeflerinize ulaşmak için gerektiği kadar kullanın. Kullandığımız örnekte, metni yalnızca P veya #Örnek Text kapsayıcısı ile hedefleyebilirsiniz. Ayrıca yapabilirsiniz. Container. Sumberbar. Widget #Text-örneği, ancak hiçbir şeyi geliştirmeyecek ve ayrıca CSS’nizi okumayı zorlaştırmayacak ve gerekirse daha fazla gerçekleşmeyecektir. Ne zaman kullanılır! Son olarak önemli ama en önemlisi, hakkında konuşmalıyız!
Önemli. Belirtildiği gibi, bunu mümkün olduğunca ekonomik olarak kullanmalısınız. Hedefinize ulaşın, bu mülk buldozerlere eşdeğerdir ve hata ayıklamak çok zor olabilir (kariyerinizin bazı noktalarında hissedebileceğiniz gibi, diğer insanların işaretlemelerine gelmeye çalışır). Bu nedenle, her zaman mevcut CSS yapısını ve gerçekleşecek özgüllüğün nasıl kullanılacağını bulmaya çalışmalısınız. Bununla birlikte, kullanım! Önemli olduğu bazı durumlar vardır: hata ayıklama amacıyla, örneğin CSS’nin uygulanıp uygulanamayacağını ve neye benzeyeceğini görmek için.
Başka şekillerde değiştiremeyeceğiniz bir satır satırını değiştirin.
Bir öğenin belirli bir kuvvet kullanması gerektiğini belirlemek istediğinizde, ne olursa olsun.
Harici bir kütüphaneden kaynaklanan belirli CSS’nin olmak. Örneğin, Bootstrap kullanırken, özellikle belirtemeyeceğiniz bazı şeyler bulabilirsiniz.
Mevcut beyanı değiştirmek için! Değiştiremeyeceğiniz önemlidir (örneğin, eklentinin bir parçasıdır). Bu durumda, yukarıda bahsettiğimiz özgüllüğün özgüllüğüne dikkat edin.
CSS Uzmanlığı Son bölümde, özgüllükle öğrenmek/başa çıkmak için bazı araçları tartışalım:
CCSS Hesap Makinesi CSS – Bu, seçmenlerin özgüllüğünü öğrenmek için bir hesap makinesidir. Kilitle vurulursanız, kopyalayıp oraya yapıştırın. Bu site size bir şeyin neden çalışmadığını bilmenize yardımcı olan sayısal bir değer verecektir.
Balık kullanarak görsellerin özgüllüğünü açıklayan hoş bir diyagramın özgüllüğü.
CSS özgüllüğü, spesifikliğe benzer, ancak Star Wars heykelleri ile benzer.