powinienem używać tylko klas, tylko id, a może jednego i drugiego?
Różnica pomiędzy id, a class polega na tym, że id dla danego elementu musi być unikatowe, a klasa może się powtarzać. Przykład:
Trzy div'y ostylowane po id:
<div id="pierwszy"></div>
<div id="drugi"></div>
<div id="trzeci"></div>
#pierwszy { width: 100px; height: 100px; }
#drugi { width: 100px; height: 100px; }
#trzeci { width: 100px; height: 100px; }
Trzy div'y ostylowane po class:
<div class="trzyDivy"></div>
<div class="trzyDivy"></div>
<div class="trzyDivy"></div>
.trzyDivy { width: 100px; height: 100px; }
Nigdy nie robimy tak:
<div id="JakiesId"></div>
<div id="JakiesId"></div>
<div id="JakiesId"></div>
Można więc pomyśleć, że id nie ma sensu, bo oba kody robią to samo, a ten z użyciem class jest o wiele krótszy. Ponadto class'y można użyć do ostylowania pojedynczego elementu, więc idea unikalności atrybutu id ginie.
Jednak podział ten ma na celu rozdzielenie warstw aplikacji czy też po prostu strony tzn: atrybutu class używamy do stylowania elementu przez CSS'a, a id do walidowania, edytowania itp. elementu przez JavaScript.
Po prostu do stylowania używa się class :)