DOM – Document Object Model

Šta je DOM?

DOM predstavlja dogovoren način hijerarhijskog prikazivanja strukture web strane u cilju lakšeg pristupanja pojedinačnim elementima. U ovom modelu postoji i hijerarhija, pa je moguće utvrditi šta je kom elementu “roditelj” ili “dete”. Mozda će biti lakše ako pogledamo primer HTML koda jedne web strane (levo) i slikovit prikaz tog istog dokumenta u strukturi DOM-a (desno):

CSS-struktura-1Na levoj strani je jednostavna html strana. Na desnoj je njena DOM hijerarhijska predstava. Svi elementi predstavljeni u hijerarhiji nazivaju se nodovi i svaki od njih poseduje podatke o tome ko mu je roditelj a ko dete.Na primer, roditelj element za BODY node je HTML node dok su mu deca H1, P i UL.

Opis DOM-a će nam pomoći da lakše razumemo priču o nizanju selektora koja sledi.

Ukoliko želite da sav tekst unutar web strane ili sajta bude ispisan Arial fontom, nije neophodno da na sve textualne HTML tagove pojedinačno primenite pravilo font-family, već je dovoljno napisati:

body {font-family:Arial; }

Ovim će svi elementi koji se nalaze unutar njega a tekstualnog su tipa (h1-h6, p ili span) naslediti ovo pravilo. Treba primetiti da tag <img> ne može da nasledi ovo specifično pravilo iz prostog razloga što slika ne sadrži tekst koji se prikazuje u pretraživaču pa se na njega ovo pravilo roditelja ne bi primenilo. Takodje, treba biti oprezan, jer neki elementi ipak neće automatski naslediti pravila.

INHERIT

Kako bi bili potpuno sigurni da će pravilo roditelja biti primenjeno, za vrednost atributa se umesto Arial eksplicitno navodi vrednost inherit.

Na primer, za slučaj da h1 ne nasledi font definisan u body tagu, unutar CSS koda za h1 postavićemo sledeće pravilo:

h1 {font-family:inherit; }

Pitanje koje se ovde postavlja je zašto bi za pravilo font-family izabrali inherit umesto da jasno napišemo ime fonta koji želimo da bude primenjen, na primer, Arial? Iz prostog razloga što će možda više elemenata nasledjivati font pa u slučaju da želimo da font promenimo sa Arial na Georgia u slučaju definisanja preko inherit to biti potrebno uraditi samo u pravilu za body a ne u svim elementima koji su ga nasledili, pojedinačno. Ovim se skraćuje posao za slučaj eventualnih naknadnih izmena.

Preporučite ovaj članak:
Email this to someoneShare on Google+Share on FacebookShare on LinkedIn