2009-06-09 14 views
9

Jaka jest podstawowa różnica między identyfikatorem CSS a klasą CSS?Identyfikator CSS a klasa

Ktoś mi powiedział, że identyfikatora można użyć tylko raz na stronie. Ale odkryłem, że można go używać wiele razy.

jak

body 
{ 
     background-color: #3399FF; 
} 

div#menuPane{ 
    position: absolute; 
    left: 25px; 
    top: 25px; 
    width: 25%; 
} 

div.menu { 
    display: block; 
    font-size: 14px; 
    margin: 0; 
    padding: 0; 
    border: 2px solid #7FC07F; 
} 

div.menu a { 
    display: block; 
    font-weight: bold; 
    text-decoration: none; 
    text-align: right; 
    letter-spacing: 1px; 
    margin: 0px; 
    color: black; 
    border-top: 1px solid #487048; 
} 

div.menu a:link{ 
    background: #33CCFF; 
} 

div.menu a:visited{ 
    background: #33CCFF; 
} 
div.menu a:hover{ 
    background: #3FC73F; 
    letter-spacing: 2px; 
} 

div.menu h4{ 
    padding: 2px; 
    margin: 0px; 
} 

div#content{ 
    position: absolute; 
    left: 30%; 
    top: 25px; 
    width: auto; 
    border: 2px double #7FC07F; 
    background-color: #33CCFF; 
    padding: 2px; 
    margin-right: 5px; 
} 

div#content h3{ 
    background-color: #A3F4A3; 
    text-align: right; 
    letter-spacing: -1px; 
    color: #386938; 

    border-bottom: 1px solid black; 
} 

div#content a:link, a:visited{ 
    background:#0099FF; 
    color: #A3F4A3; 
    letter-spacing: 1px; 
} 

div#content a:hover{ 
    background: #FF0000; 
    color: #A3F4A3; 
    letter-spacing: 1px; 
} 
+0

Możliwa duplikatu, http://stackoverflow.com/q/544010/425313 –

Odpowiedz

11

To może być przypisany tylko do jednego elementu na stronie, ale może on być stosowany w wielu reguł CSS. Nazwy klas można przypisać do wielu elementów na stronie.

3

Aby uzyskać opis różnic, patrz this answer.

Ogólnie rzecz biorąc, należy użyć identyfikatora dla stylizacji coś wiesz, jest tylko zamiar pojawić się raz, na przykład, takie rzeczy jak div układ wysokiego szczebla takie paski boczne, obszary banner itp

zajęcia są używany, gdy styl jest powtarzany, np. powiedzieć udać specjalną formę nagłówka komunikatów o błędach, można utworzyć styl h1.error {} który miałaby zastosowanie jedynie do

28

Pomyśl o ID podobnego identyfikatora Studenta. W twojej szkole jest tylko jeden - twój. Pomyśl o klasie jak o grupie dzieci ... wszyscy należą do tej samej klasy: "Biologia". Jeśli chcesz adresować konkretnego ucznia, możesz to zrobić, potwierdzając jego/jej ID - ponieważ nigdy nie będzie on adresowany do więcej niż jednego ucznia. Jeśli chciałbyś zwrócić się do grupy uczniów, możesz to zrobić, potwierdzając swoją klasę - "Lekcje biologii będą dziś cieszyć się pizzą", a "Jonathan Sampson będzie dziś cieszył się pizzą".

<students> 
    <student id="jonathan-sampson" class="biology" /> 
    <student id="lizza-matthews" class="earth-science" /> 
    <student id="michelle-andrews" class="biology" /> 
</students> 

wynos:

  • ID = ID Student (Szkoły nie wydają identyczne identyfikatory do wielu uczniów)
  • class = grupa studentów (jak 'biologii klasy' będą grane a fieldtrip)
+0

Chyba masz na myśli „Pomyśl o swojej ID jak STUDENT ID”. – Gidon

+0

Masz rację. O wiele mniej mylące niż "Twój identyfikator klasy ..." :) Zmieniono. – Sampson

+0

+1 za dawanie dobrego przykładu. –

1

Jedna uwaga końcowa - niektóre przeglądarki pozwalają na wiele identycznych wartości "id", ale zdecydowanie nie należy tego robić tak, jak to się dzieje w przeglądarkach zgodnych ze standardami.

+1

Zwłaszcza jeśli spróbujesz użyć document.getElementById(), aby wybrać jednego z tych gości ... – ajm

0

.class wpłynie na elementy pasujące do wartości w atrybucie "klasa". styl według id wpłynie na elementy pasujące do wartości w atrybucie "id".

zaleca się, aby nie powtarzać wartości identyfikatora w elementach, ponieważ jest to przypuszczalnie unikalny identyfikator elementu na bieżącej stronie.

Powiązane problemy