2010-02-11 12 views
22

css örneklerinde, . ile başlayan ve bazılarının # ile başlayarak tanımlanan kurallar görmüştüm - bazen bunlar aynı dosyada karıştırılır. arasındaki fark nedir. ve css dosyasında #?

h1 { font-size:18pt;} 
.new-alerts { font-size:11pt; font-weight:bold;} 
#old-alerts { position:relative; font-size:10pt; } 

onlar html sayfasında farklı başvurulan Are: Bu kurallar arasındaki fark nedir? Özelliklerin miras alınıp alınmadığı?

+0

Burada bulunanlar: http://doctype.com/ –

+0

Yapmadığından emin değilim. Doctype, tasarım hakkında daha fazla görünürken, bu, dilin kendisinin anlamıyla ilgilidir. – Matchu

+0

@Jon: Zorunlu değil ... * »Sorunuz web tasarımı ve HTML/CSS düzeni ile ilgili ise, ** ve iş unvanınız" tasarımcı ", ** Doctype'a sor.« * - Bence öyle değil yanlış burada. – Joey

cevap

33

. bir sınıfa karşılık gelir. <span class="one" />, .one ile seçilebilir.

# bir ID'ye karşılık gelir. <span id="one" />, #one ile seçilebilir.

Belirli bir öğeden birden fazlası olduğunda sınıflar kullanıyor olmanız ve yalnızca bir tane olacağını bildiğiniz zaman kimlikleri kullanmalısınız. #navigation-bar bir ID kullanıyor olabilir, çünkü düzeninizde yalnızca bir gezinme çubuğu olacak, ancak birden fazla gezinme bağlantısına sahip olacağınız için .navigation-link bir sınıf adı kullanıyor olabilir. (Gezinti bağlantıları almak için #navigation-bar a:link kullanmak daha iyi uygulama olurdu, ama benim açımdan olsun.)

+0

Bu ne anlama geliyor? Nasıl farklılar? – George

+2

Bir öğeye anlamsal olarak bilgi eklemek için iki yol vardır. Bir unsuru sadece bir 'id' ile işaretleyebiliyor olsanız da, aynı 'class' ile birçok tane olabilirsiniz. –

+2

Kimliklerinizi belirli bir etiket için kullanıyorsunuz, benzersizdir ve bir sayfada aynı kimliğe sahip olmanız gerekir. Sınıflar tekrar kullanılabilir ve istediğiniz kadar öğeye uygulanabilir. –

9

. bir class selector, karma/sterlin nokta/octothorpe #selects by an ID:

<style> 
    .foo { ... } 
    #bar { ... } 
</style> 
... 
<p class='foo'>Foo</p> 
<p id='bar' class='baz'>Bar</p> 

Kimlikler bir belge boyunca benzersiz olmalı, sınıflar olmak zorunda değil. Temelde temel fark budur. Komut dosyasıyla ilgili dikkat edilmesi gereken bazı şeyler vardır, ancak bunlar genellikle stil oluştururken özellikle ilgi çekici değildir.

Bundan başka, bir eleman birden çok sınıflara ait olabilir:

<p class="foo bar baz"> 

ve yukarıda görüldüğü gibi, sınıfları ve kimlikleri dışlayan değildir.

2

. bir sınıftır ve birçok kez yeniden kullanılabilir ve farklı öğeler için

# bir kimliktir ve her sayfada yalnızca bir kez kullanılmalıdır.

İlgili konular