Tworzę stronkę, która będzie reprezentować moje umiejętności w dziedzinie informatyki. Czyste portfolio. Mam już jakieś doświadczenie w tworzeniu stron internetowych (tym po części zajmuję się w pracy). Chciałbym, aby kod tej strony był bliski ideałowi - niech potencjalny pracodawca wie, że mam o tym jakieś pojęcie.
Głównie z tego powodu napisanie tej strony zajęło mi już... zbyt dużo czasu. Normalnie skończyłbym to w kilka dni, jednak naszły mnie wątpliwości w związku z konwencją nadawania ID oraz/lub klasy poszczególnym obiektom. Weźmy na przykład poniższy fragment kodu:
<div id='loading_wrapper'>
<div class="loading">
<div class="bar 1"></div>
<div class="bar 2"></div>
<div class="bar 3"></div>
</div>
</div>
Jak wiemy, dane ID może posiadać tylko jeden element na stronie. Stosujemy je głównie w przypadkach, w których ten element jest unikalny i nie ma wspólnych atrybutów (jeśli chodzi o CSS) z innymi elementami. Klas natomiast używamy w przypadkach, w których mamy wiele elementów tej samej kategorii, które współdzielą jakieś atrybuty CSS.
Pierwsza wątpliwość:
Co jednak, jeśli na stronie mam wiele "wrapperów", które różnią się praktycznie każdym atrybutem CSS, ale służą do tego samego? Przykładowo loading_wrapper
odpowiada za umiejscowienie elementów na stronie, które się w nim znajdują. Posiada kilka atrybutów CSS (position, left, width itp.). W przypadku innego wrappera, dajmy na to menu_wrapper
, wartości każdego z tych atrybutów są inne, jednak jego funkcja jest bardzo podobna (umiejscowienie menu na stronie). Czy w tym przypadku powinienem każdemu z tych elementów nadać osobne ID (tak, jak jest teraz)?
Druga wątpliwość:
Teoretycznie div odpowiadający za pasek ładowania powinien mieć KLASĘ loading, ponieważ zazwyczaj takich pasków mamy wiele. Po co dla każdego z nich z osobna definiować te same atrybuty CSS? Na tej stronie jednak będzie tylko jeden pasek ładowania. Jestem tego absolutnie pewien i wiem, że w przyszłości nie będę dodawał kolejnego. Czy powinienem w takim razie zmienić klasę loading
na ID loading_bars_holder
?