Stil sayfaları ne için?
Basamaklı Stil Sayfaları veya CSS (İngilizce Basamaklı Stil Sayfalarından), HTML'nin daha da geliştirilmesinin bir sonucudur ve bize bilgi sunumunun bir sonraki düzeyine geçme fırsatı verir. Stil sayfaları, sayfanın anlamsal içeriğini ve tasarımını ayırmanıza olanak tanır.Hatırladığımız gibi, HTML standardının ilk sürümleri, bilgilerin görünümünü kontrol etmek için herhangi bir araç sağlamadı. Köprü metninin genel konsepti, bilgiyi metin üretebilen herhangi bir cihaz için erişilebilir hale getirmeyi amaçlıyordu. İşaretleme için yalnızca başlıkları, alt başlıkları, listeleri, paragrafları, alıntıları vb. tanımlayan boole etiketlerinin kullanılması önerildi. - yani, belgenin yapısını oluşturan unsurlar. Görünümün yorumu tamamen terminal terminalinin vicdanında kaldı.
Ancak, o zamandan beri çok şey değişti ve HTML standardı orijinal inceliğini kaybetti. Başlangıçta Netscape, sunulan bilgilerin görünümü üzerinde daha fazla kontrole izin veren "geliştirilmiş etiketler" ekledi. Yenilik yakalandı ve tüm Netscape uzantıları fiili standart haline geldi. Sonra Microsoft da aynısını yaptı. Bunu fark ettiklerinde, HTML, mantıksal ve tasarım etiketlerinin, uyumsuz uzantıların korkunç bir karışımıydı ve orijinal konsepte yanıt vermeyi tamamen durdurdu - bilgi görüntüleme özelliklerinden bağımsız olarak herhangi bir cihazda bilgi sunmak için.
Daha sonra büyük ölçekli bir standardizasyon gerçekleştirilmiştir. Sonuç olarak, HTML 3.2 standardı doğdu. Devrim niteliğinde değildi, yalnızca tarayıcı üreticileri için tüm yenilikleri ve gelişmiş genel önerileri uygulamaya koydu. Yeni standartta - HTML 4.0 veya daha sonra Dinamik HTML olarak adlandırılacak olan - devrim niteliğinde değişiklikler yapıldı. Katmanlar, stil sayfaları ve genel tarayıcı nesne modeli tanıtıldı.
Yeni standart, HTML kavramının kökenlerine dönmeye çalıştı. Dördüncü sürüm, birincisi gibi, sayfaların herhangi bir cihazda yeniden oluşturulabilecek şekilde oluşturulmasını önerir - ister 21 inçlik bir monitör isterse bir cep telefonunun küçük siyah beyaz ekranı olsun.
Sunum sorunu nasıl çözüldü? Devrimci yaklaşım budur. Tüm tasarımı harici bir stil dosyasına koymanız önerilir. Ana sayfa sadece gerekli stillere bilgi ve bağlantılar içerecektir.
Belirli bir cihaz için bir sayfa görüntülerken, uygun stil sayfası kullanılmalıdır. Bir cep telefonu ve bir bilgisayar monitörü için elbette farklı olmaları gerekir. İlk durumda, bilgileri en optimal ve kompakt şekilde sunmamızı sağlayacak minimum tasarımı kullanıyoruz. İkinci durumda, yazı tipi ve renk tasarımının tüm zenginliğine sahibiz.
Bilgi görüntülemeyi planladığınız cihazların her biri için bir site oluştururken stil sayfasının yalnızca bir kez yazılması gerekir. Ayrıca, stil sayfası tüm site için aynı olabilir. Bu nedenle, her sayfada aynı stil açıklamalarını tekrarlamanıza gerek kalmayacak.
Tüm stil bilgilerini tek bir harici dosyaya yerleştirmek bizim için başka yararlı fırsatlar da açar - sonuçta, yalnızca bir (!) Stil dosyasının içeriğini değiştirerek, tüm site tasarımını birkaç saniye içinde değiştirebiliriz. Ayrıca, başka bir değişiklik gerekli değildir. Tabii ki, bu yalnızca orijinal site doğru tasarlanmışsa geçerlidir.
Biraz teoriden kurtulalım, hadi uygulamaya geçelim ve bir HTML dosyasına bir stil sayfası bağlayarak başlayacağız.
Stil sayfalarını bağlama
Bu görevi gerçekleştirmek için önerilen 3 yöntemden birini kullanabiliriz:
harici dosya
başlık bölümünde açıklama
satır içi açıklama
En basiti ile başlayalım, sözde satır içi açıklama veya bir etikete gömülü açıklama:
Bu metin stil tarafından geçersiz kılındı
Style ek özelliğinin yardımıyla herhangi bir etikette ihtiyacımız olan stil parametrelerini tanımlayabiliriz. Bu en kolay yöntemdir ve sadece bir etiket içinde çalışır. Ancak, dosya boyutunun ne kadar büyüyeceğini ve her etiket için stil belirtirsek düzeltmenin ne kadar zahmetli olacağını hayal edin. Bu yöntem, örneğin, bir etiket kullanarak görünümün doğrudan açıklamasından çok farklı değildir.
Gerekli tüm tasarım stillerini önceden tanımlamak ve ardından bunları ilgili etiketlere uygulamak çok daha uygundur. Bu ikinci yol olacak - başlık bölümündeki açıklama. Etkisi tüm sayfa için geçerlidir. Stiller, gerekli tüm tasarım parametrelerinin tanımını içeren listeler olan sınıflar kullanılarak tanımlanır.
Bu yöntemi kullanırken, stillerin açıklaması başlık bölümüne yerleştirilmelidir:
....
Artık bu stiller html kodunun herhangi bir yerine uygulanabilir. Bunun için aşağıdaki yapı kullanılır:
Bu metin başlık stiliyle yazılmıştır
Bu metin kırmızı ile yazılmıştır
Gördüğünüz gibi, her şey o kadar zor değil. Ana şey, temel ilkeleri anlamaktır. Yeni sınıflar tanımlamanın yanı sıra standart etiketleri geçersiz kılma olanağına da sahibiz. Örneğin, etiket
Artık etiketler içine alınmış tüm metinler bu stil tarafından tanımlandığı gibi görünecektir. Bu çok kullanışlıdır ve mevcut sayfaları stillerin kullanımına kolayca uyarlamanıza olanak tanır. Ek olarak, gereksiz sınıf özniteliklerinin olmaması nedeniyle dosyanın boyutunu biraz azaltır.
Ve son olarak, üçüncü yol, stil açıklamalarını harici bir dosyaya aktarmaktır. Etki aralığı, açıklamanın dahil olduğu tüm dosyalara uzanır. Bu yöntem en çok HTML 4.0 konseptiyle uyumludur. Sitenin görünümünü değiştirmemiz gerekirse, yalnızca bu dosyayı düzeltmemiz yeterli olacaktır. Önceki yöntemlerle karşılaştırın. Bunlardan birinde, her sayfadaki açıklamayı değiştirmeniz gerekecek ve diğerinde, daha da fazlası - elbette hiç ilham verici olmayan her etiketin yanında.
Harici bir dosyayı nasıl gömersiniz? İlk olarak, ihtiyacımız olan tüm sınıfların (mystyle.css) tanımını içeren bir stil dosyası oluşturulur:
Başlık (metin hizalama: orta; yazı tipi boyutu: 27pt;)
.kırmızı (renk: kırmızı;)
p (metin hizalama: orta; yazı tipi boyutu: 12pt;)
....
....
Bu en uygun yöntemdir ve ana stil sayfası için önerilir.
Neden "temel" dedim? Gerçek şu ki, pratikte her üç yöntemi de kullanmanız gerekiyor ve burada stillerin "çağlayanı" devreye giriyor. Ama bir dahaki sefere bunun hakkında konuşacağız.
Stil sayfalarının uygulanması hakkında konuşmaya devam etmek. İlk önce, stillerin basamaklarını ele alalım ve ardından sözdizimini gözden geçirmeye ve stiller oluştururken kullanılan en yaygın parametrelere genel bir bakışa geçelim.
basamaklı stiller
İlk olarak, stillerin neden basamaklı olarak adlandırıldığını bulalım. İzin verin sevgili okuyucu, bir kez daha size bir sayfada stilleri uygulamanın yollarını vereceğim:
ayrı bir stil dosyası kullanmak ve bir etiket kullanarak eklemek
belgenin başındaki stilin açıklaması
bir stilin bir etikette parametre olarak uygulanması.
Basamak, stillerin geçersiz kılınabilmesidir. Stilleri enjekte etmenin yukarıdaki yollarının listesi, geçersiz kılma sırasını takip eder. Aşağı akış yöntemi, yukarı akış yöntemini geçersiz kılabilir.
Örneğin, etiketteki metnin harici stil dosyasında tanımladık.
10 punto ile yazılmalıdır. Ancak sayfanın başlığında ayrıca etikette aynı metnin olduğunu belirtirsek
12 punto yazı tipinde yazılmalıdır, daha sonra metin tam olarak bu boyutta görüntülenecektir - yani. sayfanın başlığındaki stil, harici dosyadaki stili geçersiz kıldı.
Bu ne için? Ah, bu çok faydalı bir şey. Ve şimdi bunu belirli bir örnekle göstereceğim. Sayfamızdaki başlıktaki tüm bağlantılar için aşağıdaki stilin tanımlandığını varsayalım:
Bu nedenle, köprü olan herhangi bir metin otomatik olarak kırmızıya döner ve altı çizili olmayı bırakır. Ve bu yüzden sayfanın sonunda telif hakkını belirtmeye karar verdik, ancak bunu yapmak, dikkati ona odaklamamak için çok belirgin değil. Ancak yine de telif hakkının da bir bağlantı olmasını istiyoruz. Bunu sayfada sadece bir yerde yapmamız gerekiyor ve bunun için ek bir sınıf tanımlamak pratik değil. Bu durumda, stiller dizisi yardımımıza gelecektir. Bağlantı rengini yerel olarak geçersiz kılmak yeterlidir:
Telif hakkı (C)
1998-2001 Kiraz-Tasarım
Bunu style parametresini kullanarak yaptık ve hatırladığınız gibi, yalnızca tanımlandığı etiketin sınırları içinde hareket eder. İhtiyacımız olan.
Yukarıdaki örnekte yeni bir etiket eklediğimi fark etmiş olabilirsiniz. Bu gibi durumlar için özel olarak tasarlanmıştır. Tek yaptığı, stili uygulayabileceğimiz bir alan tanımlamak. Bu çok kullanışlı bir etiket çünkü etiketinin yaptığı gibi kendisinden önce veya sonra gereksiz boşluk (yani boş dikey boşluk) eklemez
Bir sınıf kullanarak stilleri tanımlamak hangi etiketlerde daha iyidir? Çoğu zaman, bunun için aşağıdaki yapılardan biri kullanılır:
Bir şey
Bir şey
Etiket
). Ancak sayfanın ana içeriğinin yazıldığı metnin stili, en iyi etiketi geçersiz kılarak yapılır.
Belirli bir sınıf tanımlayarak değil.
Ve her iki tarayıcıda da doğru görüntüyle ilgili küçük bir ekleme - site tasarımı için bir tablo düzeni kullanıyorsanız, ana metnin stilini yalnızca etikette tanımlamanız gerekir.
dan beri Netscape, tablo öncesi stilleri devralmayı kesinlikle reddediyor.Basamaklamayı göz önünde bulundurarak, sözdizimi hakkında konuşalım.
CSS sözdizimi
Her sınıf aşağıdaki gibi bir yapı kullanılarak tanımlanır:
Küçük (yazı tipi boyutu: 9pt;)
İlk olarak, sınıfın adı belirtilir - isteğe bağlı olabilir, ancak yine de anlamlı bir ad verilmesi istenir. Ayrıca, küme parantezleri () içinde bu sınıf için gerekli tüm parametreler listelenir. Parametreler birbirinden noktalı virgülle ayrılır. Daha uzun bir açıklama kullanan başka bir örnek:
Küçük (yazı tipi boyutu: 9pt; renk: #eeeeee; metin hizalama: orta;)
Her iki yapıda da sınıf adını bir nokta ile başlattığımı ve böylece genel bir sınıf tanımladığımı, yani. herhangi bir etikete uygulanabilen bir tane. Ve bu, aşağıdaki yapı kullanılarak yapılır:
Evrensel sınıflar olduğuna göre, muhtemelen başkaları da vardır? Bu doğru, sözde etiketli sınıflar da var:
p.small (yazı tipi boyutu: 9pt;)
Bu şekilde tanımlanan bir sınıf, yalnızca amaçlandığı etikette çalışır ve diğerleri için yok sayılır:
Bu metin küçük stille oluşturulacak
Parametreleri yalnızca bir etiket için değil, aynı anda birkaç etiket için tanımlayabiliriz. Bunu yapmak için, stilin tanımında virgülle ayırarak listelemek yeterlidir:
p, td (yazı tipi boyutu: 9pt; renk: yeşil;)
Bu tekniğe gruplama denir ve bu durumda için tanımladık
metnin boyutu ve rengi aynı.Mevcut etiketlerin geçersiz kılınması durumunda, stil açıklamasında tüm parametreler belirtilemez, yalnızca değiştirmek istediklerimiz belirtilebilir. Diğer tüm parametreler, farklı etiketler için farklı olan varsayılan değerleri kabul edecektir.
sözde sınıflar
CSS'de sözde sınıf diye bir şey vardır. Normal bir sınıftan farklı olarak, bir sözde sınıfın eylemi, bu stilin uygulandığı metnin tamamı için değil, yalnızca bir kısmı için geçerlidir ve yalnızca belirli bir durumda mümkündür. Daha açık hale getirmek için, bağlantıların yalnızca üzerlerine geldiğinizde altının çizilmesi etkisine bir göz atalım. Etkisi oldukça yaygındır ve bunu bu sitede de görebilirsiniz. İşte yukarıdaki efekti sağlayan bir stil sayfasının bir parçası:
a (metin süslemesi: yok;)
a: üzerine gelin (metin süslemesi: altı çizili;)
Üst satır, standart etiketin geçersiz kılınmasıdır , bağlantıların altını çizmeyi yasaklar, ancak en alttaki, imleç üzerindeyken bağlantının stilini tanımlayan vurgulu sözde sınıfının stil tanımıdır.
Sözde sınıfa başka bir örnek - paragrafın başında bir büyük harf tanımlama:
p: ilk harf (yazı tipi boyutu: %200; yazı tipi ağırlığı: kalın;)
Her iki durumda da stilin belirli bir durumu (kullanıcı bağlantıya tıklamak üzere) veya bir metin parçasını (yalnızca paragrafın ilk harfi değişir) etkilediğine dikkat edin. Bu sözde sınıfların noktasıdır.
Zamandan ve emekten tasarruf etmek için ilgili birden çok CSS özelliğini tek bir özellikte birleştirebilirsiniz.
Bireysel ve kısaltılmış değerlerin karşılaştırılması
Kenar boşlukları için aşağıdaki kuralı göz önünde bulundurun (dolgu kısayolları ve kenarlıklar aynı şekilde çalışır):
div.foo (üst kenar boşluğu: 1em; sağ kenar boşluğu: 1,5em; alt kenar boşluğu: 2em; sol kenar boşluğu: 2,5em;)
Bu kural daha kısa yazılabilir:
div.foo (marj: 1em 1.5em 2em 2.5em;)
Bir steno özelliği için dörtten az değer ayarlama
Aşağıdaki listeye göre, kısaltılmış değer dörtten az değere sahip olabilir. Sonuçlar, sağlanan değer sayısına göre sıralanır:
Kısaltmalar referansı
Çeşitli özellikler için sınır kısaltmaları |
Ayrıca şunun gibi bir elementin sadece bir kenarlığı için border özelliği değerleri ayarlayabildiğinizi de belirtmek gerekir: kenarlık-sol-genişlik: 2 piksel; kenarlık-sol stili: katı; kenarlık-sol-renk: siyah; |
Bazı kenar boşluğu, dolgu ve kenarlık özelliklerinin kısaltması | Bunların hepsi, yukarıda "Tek bir özellik ve bir steno değeri arasında seçim yapma" bölümünde gösterildiği gibi çalışır. |
Yazı tipi için kısaltmalar | Tek satır kısaltma ile yazı tipi boyutunu, ağırlığını, stilini, ailesini ve satır yüksekliğini tanımlayabilirsiniz. Örneğin, aşağıdaki kodu göz önünde bulundurun: yazı tipi boyutu: 1.5em; satır yüksekliği: %200; yazı tipi ağırlığı: kalın; yazı tipi stili: italik; yazı tipi ailesi: Georgia, "Times New Roman", serif Tüm bunları aşağıdaki satırla tanımlayabilirsiniz:yazı tipi: 1.5em / %200 kalın italik Georgia, "Times New Roman", serif; |
Arka plan için kısaltma | Tek bir CSS satırı ile arka plan rengini, arka plan görüntüsünü, görüntü tekrarını ve görüntü konumunu tanımlayabilirsiniz. Aşağıdaki kodu alalım: arka plan rengi: # 000; arka plan resmi: url (image.gif); arka plan tekrarı: tekrar yok; arka plan konumu: sol üst; Bu, aşağıdaki kısaltma kullanılarak temsil edilebilir:arka plan: # 000 url (image.gif) tekrarsız sol üst; |
Listeler için kısaltmalar | Bu durumda, benzer bir hikaye ile özellikleri listele liste işaretleyici türü, konumu ve görüntüsü için özellik değerlerini tek bir satırda ayarlamanıza olanak tanır. Aşağıdaki kodu alalım: liste stili türü: daire; liste-stil-konumu: içeride; liste-tarzı-görüntü: url (bullet.gif); Bu, aşağıdakilere eşdeğerdir:liste stili: url'nin içinde daire (bullet.gif); |
CSS'yi HTML'ye Uygulamak
Bir HTML belgesine CSS uygulamanın üç yolu vardır:
- sicim;
- yuvalanmış;
- harici stil sayfaları.
dize stilleri
Aşağıdaki gibi stil özniteliğini kullanarak bir öğeye stil sayfası uygulayabilirsiniz:
Tüm CSS özellikleri ve değerleri bu özniteliğin içinde listelenir.
Satır içi stillerin avantajı, tarayıcının bu ayarları kullanmaya zorlanmasıdır. Diğer stil sayfalarında tanımlanan veya hatta iç içe geçmiş tüm diğer stiller belge başlığı bu stiller tarafından geçersiz kılınacaktır.
Satır içi stiller ile ilgili ciddi bir sorun, stillerin bakımını çok daha zor hale getirmeleridir. CSS kullanımı, bir belgenin sunumunu yapısından ayırmayı amaçlar, ancak satır içi stiller tam tersini yapar - sunum kurallarını belge boyunca dağıtırlar.
Bakım sorunlarının yanı sıra, CSS'nin en önemli bölümünde herhangi bir fayda elde edemezsiniz: basamaklama.
İç İçe Stiller
Aşağıdaki örnek sayfada olduğu gibi, iç içe stil sayfaları belgenin başına, bir stil öğesinin içine yerleştirilir:
İç içe stil sayfalarının avantajı, her paragrafa bir stil niteliği eklemek zorunda olmamanızdır; hepsini tek bir tanımla biçimlendirebilirsiniz. Bu aynı zamanda, tüm paragrafların görünümünü değiştirmeniz gerekirse, bunu tek bir yerde yapabileceğiniz anlamına gelir, ancak tüm bunlar tek bir belgeyle sınırlıdır.
Dış stil sayfaları
Harici stil sayfaları, tüm CSS tanımlarını ayrı bir dosyaya yerleştirmek, onu CSS dosya uzantısıyla kaydetmek ve ardından öğeyi kullanarak HTML belgelerine uygulamak anlamına gelir. bağlantı belgenin başlığında. Örneğin:
Harici stil sayfaları, tüm görünüm tanımlarını tek bir dosyada saklamanıza olanak tanır. Bu, yalnızca bir dosyayı değiştirerek sitenin tamamında değişiklik yapabileceğiniz anlamına gelir. Web tarayıcısı onu bir kez indirebilir ve daha sonra kendisine bağlanan diğer tüm belgeler için önbelleğe alabilir, bu da indirilen bilgi miktarını azaltır.
Stil sayfalarını içe aktarma
Harici stil sayfalarını HTML dosyalarına aktarmanın başka bir yolu da @import ifadesidir. Yukarıda gösterilen iç içe CSS ile aynı şekilde iç içe stil sayfasına eklenir. Sözdizimi aşağıdaki gibidir:
CSS'nin iki temel kavramı: miras ve basamaklı. Miras HTML işaretlemesindeki bir öğenin, kendi ata öğelerinin (içerdiği) özelliklerini nasıl miras aldığı ve onları alt öğelerine nasıl aktardığı ile ilgilidir. basamaklı bir belgeye uygulanan CSS bildirimleri ve çakışan kuralların birbirini nasıl geçersiz kıldığı ile ilgilenir.
Miras
Miras CSS'de, belirli özelliklerin bir üst öğeden onun alt öğelerine iletildiği bir mekanizmadır.
Örneğin, kalıtımı kullanarak html veya gövde öğeleri için yazı tipi özelliklerini tanımlayabilirsiniz ve bunlar diğer tüm öğeler tarafından devralınacaktır. Belirli bir kap öğesi için arka plan ve ön plan renklerini tanımlayabilirsiniz ve ön plan rengi, o kapsayıcıdaki alt öğeler tarafından otomatik olarak devralınır.
Bir HTML belgesindeki her öğe, atası olmayan kök (html) öğesi dışında, atasının miras alınan tüm özelliklerini devralır.
basamaklı
basamaklı aynı öğeye birden çok çakışan CSS bildirimi uygulandığında sonucu kontrol eden bir mekanizmadır. CSS bildirimlerinin uygulanma sırasını yöneten üç ana kavram vardır:
- Önem
- özgüllük
- Kaynak kodu sırası
Önem en anlamlısıdır. İki beyan eşit öneme sahipse, kuralların özgüllüğü hangisinin uygulanacağını belirler. Kurallar aynı spesifikliğe sahipse, kaynak kodun sırası sonucu kontrol eder.
Önem
Önem CSS bildirimleri, tanımlandığı yere bağlıdır. Çakışan bildirimler aşağıdaki sırayla uygulanacaktır, sonraki bildirimler öncekileri geçersiz kılacaktır:
- Kullanıcı aracısı stil sayfaları
- Kullanıcı stil sayfalarında düzenli bildirimler
- Yazar stil sayfalarında düzenli bildirimler
- Yazarın stil sayfalarındaki önemli açıklamalar
- Kullanıcı stil sayfalarındaki önemli bildirimler
Kullanıcı aracısı stil sayfası tarayıcının yerleşik stil sayfasıdır. Her tarayıcının, kullanıcı veya sayfa tasarımcısı tarafından bir stil tanımlanmadığında çeşitli HTML öğelerinin nasıl oluşturulacağı konusunda kendi varsayılan kuralları vardır. Örneğin, ziyaret edilmeyen bağlantılar genellikle mavi görünür ve altı çizilir.
Kullanıcı stil sayfası kullanıcı tanımlı bir stil sayfasıdır. Tüm tarayıcılar kullanıcı stil sayfalarını desteklemez, ancak özellikle bazı işlevsel eksiklikleri olan kullanıcılar için çok yararlı olabilirler. Örneğin, disleksi olan bir kişi, okumayı kolaylaştıran belirli yazı tiplerini ve renkleri tanımlayan bir stil sayfasına sahip olabilir.
Yazar stil sayfası genellikle "stil sayfası" olarak adlandırılan şeydir. Bu, belgenin yazarının (veya daha büyük olasılıkla site tasarımcısının) yazdığı ve eklediği (veya dahil ettiği) bir stil sayfasıdır.
Olağan bir beyanı önemli bir beyana dönüştürmek için, arkasına önemli direktifini yerleştirmeniz gerekir. Gördüğünüz gibi, kullanıcının stil sayfasındaki önemli bildirimler diğer her şeyi geçersiz kılacaktır, bu da mantıklıdır.
Tarayıcının varsayılan görünümü, yalnızca, kullanıcı aracısı stil sayfası en düşük önceliğe sahip olduğundan, bu bildirimler herhangi bir kullanıcı veya yazar stil sayfası kuralı tarafından geçersiz kılınmazsa uygulanacaktır.
özgüllük
özgüllük bir kuralın seçicisinin ne kadar spesifik olduğunun bir ölçüsü olarak tanımlanır. Düşük özgüllük seçici birçok öğeyle eşleşebilir (belgedeki her öğeyle eşleşen * gibi), yüksek özgüllük seçici ise sayfa başına yalnızca bir öğeyle eşleşebilir (örneğin, yalnızca eşleşen bir kimliğe sahip bir öğeyle eşleşen #nav gibi). gezinme).
Bir seçicinin özgüllüğü kolayca hesaplanabilir. Belirli bir öğe için iki veya daha fazla bildirim çelişiyorsa ve tüm bildirimler aynı öneme sahipse, en spesifik seçiciye sahip bildirim kuralda öncelikli olacaktır.
Özgüllüğün a, b, c ve d olarak adlandırılabilecek dört bileşeni vardır. Bileşen a en sınırlayıcı, d en az sınırlayıcıdır.
- A bileşeninin tanımı çok basittir: style niteliğinin bildirilmesi için 1'dir, aksi takdirde 0'dır.
- bileşen b id seçicilerin sayısıdır seçicide (başlayanlar ile birlikte#).
- bileşen c bir sayıdır nitelik seçiciler, sınıf seçiciler - ve sözde sınıflar dahil.
- d bileşeni, seçicideki öğe ve sözde öğe türlerinin sayısıdır.
Küçük bir hesaplamadan sonra, herhangi bir kuralın özgüllüğünü tanımlayan bu dört bileşenden oluşan bir dizi elde edebilirsiniz. style özelliğindeki CSS bildirimlerinin seçicisi yoktur, bu nedenle özgünlükleri her zaman 1,0,0,0 olacaktır.
Tabloda bazı örnekler verilmiştir.
seçici | a | B | C | NS | özgüllük |
---|---|---|---|---|---|
h1 | 0 | 0 | 0 | 1 | 0,0,0,1 |
.foo | 0 | 0 | 1 | 0 | 0,0,1,0 |
#bar | 0 | 1 | 0 | 0 | 0,1,0,0 |
html> kafa + gövde ul # nav * .home a: bağlantı | 0 | 1 | 2 | 5 | 0,1,2,5 |
Bağlantı karakterlerinin (>, + ve gibi)
Muhtemelen herkes bunu biliyor HTML belgenin yapısını belirtir ve CSS(Basamaklı Stil Sayfaları, basamaklı stil sayfaları) web sayfasının tasarımından, öğelerin konumundan ve görünümünden sorumludur. Öyle oldu ki HTML ve CSS ayrı ayrı kullanılmadı. Herhangi bir web sayfası aslında HTML ve CSS'nin bir birleşimidir. Bunlar hakkında temel bilgi sahibi olmadan
teknolojiler hiçbir belgeyi doğru şekilde dizemez. Birçoğumuz bu teknolojileri daha ayrıntılı olarak inceledik. Ancak kişisel olarak, CSS'nin tüm gerçeklerini ve olanaklarını "anlamayı" başaramadım. Ardından, CSS hakkında bilinmesi gereken en önemli noktaları vurgulamaya çalışacağım.
Basamaklı Stil Sayfaları nedir?
Stiller, bir web sayfasındaki öğelerin görünümünü ve konumunu kontrol eden bir seçenekler topluluğudur. Farkı anlamak için aşağıdaki resimlere bir göz atın:
Böyle bir belgenin kaynak kodu şöyle görünür:
1 |
|
HTML kodunun kendisinde herhangi bir değişiklik yapılmamıştır ve tek ekleme bir satırdır. style.css adlı harici bir stil sayfasına bağlanır. Bu dosyanın içeriği aşağıda gösterilmiştir:
1 | vücut ( |
Dosyada stil.css gibi etiketlerin tüm tasarım parametreleri, <vücut>,
HTML kodundaki etiketlerin her zamanki gibi yazıldığını unutmayın. Stil dosyasına herhangi bir web belgesinden başvurulabileceğinden, bu sonuçta daha az tekrarlı veri ile sonuçlanır. Ve kod ve tasarımın ayrılması sayesinde, belgenin görünümü üzerindeki kontrol esnekliği ve sitede çalışma hızı artar.
Stil türleri
Tek bir belgeye birlikte uygulanabilecek birkaç stil türü vardır. Bunlar tarayıcı stili, yazar stili ve kullanıcı stilidir.
tarayıcı stili... "Saf" HTML kullanılırken benzer stiller geçerlidir.
Kullanıcı stili. Bu, bir site kullanıcısının tarayıcı ayarları aracılığıyla etkinleştirebileceği bir stildir. Bu stil önceliklidir ve belgenin orijinal düzenini geçersiz kılar.
Birinin stilini ve belgenin o öğesini değiştirirken bir çakışma varsa, kullanıcının stili en yüksek önceliğe sahiptir, ardından yazarın stili ve tarayıcı stili gelir.
Bir sayfaya nasıl stil eklerim?
Bir sayfaya CSS stilleri eklemenin birkaç yolu vardır:
İlgili Stiller
Bağlantılı stiller kullanılırken, seçicilerin açıklaması ve değerleri, genellikle css uzantılı ayrı bir dosyada bulunur ve etiket, belgeyi bu dosyaya bağlamak için kullanılır. ... Bu etiket bir kapsayıcıya yerleştirilir
.Bu stilleri aşağıdaki gibi bağlayabilirsiniz:
1 | "- // W3C // DTD XHTML 1.0 Katı // EN" href = "http://www.htmlbook.ru/main.ess" / > head > Başlık
h1
> |
Ve stil dosyası şöyle görünecek:
1 | H1 ( |
Yukarıdaki koddan da görebileceğiniz gibi, html sayfasına, tarayıcıya stilleri nereden alacağını söyleyen bir giriş eklenir. Stil dosyasının kendisi yalnızca stillerin bir açıklamasını içerir. Html ve css kodunun bu ayrımı, sitelerin geliştirilmesini ve bakımını kolaylaştırır. Bu düzen tarzına uymanız önerilir.
Küresel Stiller
Global stilleri kullanırken, CSS özellikleri belgenin kendisinde açıklanır ve web sayfasının başlığında bulunur. Esnekliği ve yetenekleri açısından, bu stil ekleme yöntemi öncekinden daha düşüktür, ancak stilleri tek bir yerde, bu durumda bir kap kullanarak doğrudan sayfada saklamanıza da olanak tanır. ... Bu kapsayıcı etiketinin içinde, bir seçiciden (kuralın uygulanacağı HTML etiketinin adı) ve onun tanımından (doğrudan bir dizi biçimlendiriciden) oluşan, küme parantezleri içine alınmış herhangi bir sayıda CSS kuralı tanımlamakta özgürüz. Yukarıdaki örneğin sözdizimi şöyledir:
... ...
CSS ve HTML'yi bu şekilde bağlamaya gömme denir. Sitenin yalnızca bir sayfası için bir dizi biçimlendirme kuralı belirlemeye karar verdiğiniz ve planınıza göre diğer tüm sayfaların farklı görünmesi gerektiği durumlarda kullanmanız önerilir.
Aynı anda birden çok site sayfasına stil atama
Gömme ve gömmeye ek olarak, CSS ve HTML bağlama, stil sayfalarını içe aktarma ve bağlama yöntemlerini kullanır. Bunlar, bir sitedeki sayfaların çoğuna (hatta tümüne) stil vermenin açık ara en iyi yoludur. Bu durumda, stil sayfasının tamamı tek bir dosyada saklanır (dosya uzantısı standart - .css olmalıdır).
İşte böyle bir dosyanın içeriğine bir örnek (ör. my.css):
Gövde (yazı tipi ailesi: "Times New Roman", serif; yazı tipi boyutu: 12pt; renk: koyu yeşil;) h1 (yazı tipi ailesi: Arial, sans-serif; yazı tipi boyutu: 16pt; renk: yeşil; yazı tipi ağırlığı : kalın;) h2 (yazı tipi ailesi: Arial, sans-serif; yazı tipi boyutu: 14pt; renk: yeşil sarı; yazı tipi ağırlığı: kalın; yazı tipi stili: italik;)
Lütfen dikkat: etiketler dosyanın içinde hiçbir stil sayfası kullanılmaz - .css uzantısı tarayıcıya açıkça dosyanın bir stil sayfası olduğunu söyler. Böyle bir dosya aynı anda birkaç sayfaya bağlanabilir (veya aynı anda birkaç sayfaya aktarılabilir). Bağlama için html dosyasında, etiketlerin arasına herhangi bir yere yazmanız gerekir.
ve aşağıdaki satır:... ...
Bu satır, bağlantılı dosyanın bir stil sayfası (rel = "stil sayfası") olduğunu, bu dosyanın biçiminin .css (type = "text / css") olduğunu ve html dosyasıyla aynı dizinde bulunduğunu veya farklı bir URL (href = "my.css"). Açıkçası, bu satırı html dosyalarımızdan herhangi birine (veya tümüne) yazabiliriz. Böylece, aynı anda birkaç sayfa için tek bir stil yazılacaktır.
Lütfen satır içi stillerin (stil özniteliği kullanılarak ayrı sayfa öğeleri için yazılmış stiller) ve satır içi stillerin (içinde yazılmış stiller) olduğunu unutmayın.<голове>kapsayıcı etiketinin içindeki sayfalar ...
İçe aktarılan stil sayfasının adresine ek olarak, kapsayıcı etiketine ekleyebilirsiniz. ...
...Gazetecinin sorusu
görüşülen kişinin yanıtı
...Bu örnekte, gazetecinin soruları Arial, gri, kalın, italik, 10 punto, sayfanın sol kenarından 15 piksel girintili olarak gösterilecektir. Cevaplar 12 punto Times New Roman yazı tipinde siyah olarak gösterilecektir. Farklı paragraf sınıflarına class parametresini direkt olarak html koduna yazmayı unutmamak önemlidir. Herhangi bir sayfa öğesi için istediğiniz sayıda sınıf oluşturabilirsiniz.
kimlik seçici
Başka bir davayı ele alalım. Gelecekte JavaScript programlarından erişmeyi planladığınız sayfada bazı benzersiz öğeler oluşturmak istediğinizi varsayalım. Belki bu öğeler diğer sayfalarda tekrarlanacak ve onlara CSS aracılığıyla tutarlı bir görünüm vermek istersiniz. Bu durumda, basamaklı stil sayfaları benzersiz öğelere tanımlayıcılar (id) atama seçeneğine sahiptir. Çoğu zaman tanımlayıcılar, HTML 4.0 spesifikasyonunda tam veya sınırlı CSS desteğine (elemana bağlı olarak) sahip olan form öğeleri için kullanılır. Aşağıda, bu tür öğelere kimlik ve CSS kuralları atama örneği verilmiştir:
... ... ... ...
Benzer şekilde, herhangi bir sayıda herhangi bir sayfa öğesine benzersiz tanımlayıcılar atanabilir. Bu, bir JavaScript programından bir öğeye erişmek ve kullanıcı girdisine yanıt olarak görüntüleme stilini değiştirmek için yararlı olabilir ve çeşitli dinamik efektler oluşturmanıza olanak tanır.
bağlamsal seçiciler
Sayfadaki tüm birinci düzey başlıkların gri bir arka plan üzerinde kırmızı, tüm paragrafların sarı bir arka plan üzerinde yeşil olarak görüntülendiği ve tümü etiketi kullanılarak vurgulandığı bir stil sayfası oluşturduğumuzu varsayalım. Paragraflar içinde 1 kelime - gümüş bir arka plan üzerinde siyah. Tahmin ettiğiniz gibi stil sayfası kodu şöyle görünür:
H1 (renk: kırmızı; arka plan rengi: gri;) p (renk: yeşil; arka plan rengi: sarı;) em (renk: siyah; arka plan rengi: gümüş;)
Aynı etiketi kullanarak başlıktaki bazı kelimeleri de vurgulamak istediğimizi varsayalım. , ancak başlıkta gümüş bir arka plan üzerinde siyah metnin görünümünden memnun değiliz. Başlıktaki kelimeleri gri bir arka plan üzerinde bordo renkle vurgulamak istiyoruz. Bunun için bağlamsal seçiciler var. Bunun için stil sayfasına eklediğimiz kural girişi şöyle görünecektir:
H1 em (renk: # CC0000; arka plan rengi: gri;)
Ve işte bu bağlam seçiciyi kullanan örnek bir sayfa kodu:
... ... ...
Bu, birinci seviye bir başlıktır. özel kelime
Ve bu sıradan bir paragraf vurgulanan kelimelerde
...Hepsi bugün için. Bir dahaki sefere, blok sayfa öğelerini biçimlendirme kuralları, öğeleri konumlandırma ve CSS kullanılarak uygulanan diğer ilginç ve kullanışlı özellikler hakkında konuşacağız.
Taramalı Atomik Kuvvet Mikroskobu Laboratuvar raporu şunları içermelidir:
Havai iletişim ağı desteklerinin raflarının seçimi
AC katener tasarımı ve hesaplanması
Mikroişlemci sistemlerinin geliştirilmesi Mikroişlemci sistemlerinin tasarım aşamaları
mcs51 ailesinin mikrodenetleyicileri