RP1 - XHTML

✓XHTML1

Jo~s neki elementi

(Kao i obi~cno, postoji dokument u kojem se vidi kako se pojedini primjeri iz ovog dokumenta renderiraju.)


XHTML ima jo~s mnoge elemente osim ovih koje smo dosad obradili. U ovom poglavlju navest ~temo jo~s neke. Mnogi od njih dobit ~te puni smisao tek nakon ~sto ispri~camo pri~cu o CSSu i formatiranju.

"Nesvrstani" elementi
del (deleted)
ins (inserted)

Postoje dva elementa koja su prili~cno korisna za stranice koje se ~cesto mijenjaju, ali nisu navedena prije jer, usprkos tome ~sto se postavljaju unutar body elementa, nisu ni blokovski ni linijski elementi -- odnosno preciznije, mogu biti oboje, prema potrebi. To su ins i del elementi.

del element slu~zi za "slu~zbeno" micanje odre~denog sadr~zaja sa stranice, no kada ho~tete dati do znanja da je taj sadr~zaj postojao, i eventualno bi mogao koristiti nekim ~citateljima stranice. ~Cesto se to doga~da s linkovima na dokumente koji su op~tenito zastarjeli, ali i dalje sadr~ze neke korisne informacije. Obi~cno se renderira kao prekri~zeni tekst. Pomo~tu CSSa se mo~ze specificirati da uop~te ne ~zelimo prikazivati sadr~zaj pojedinih elemenata, pri ~cemu del elementi mogu dobro do~ti. del element mo~ze imati atribut cite, koji navodi razlog zbog kojeg je sadr~zaj "obrisan", ili slu~zi kao putokaz u smjeru sadr~zaja kojim je zastarjeli sadr~zaj zamijenjen.

Dualno tome, ins element slu~zi za markiranje novouba~cenih dijelova u stranicu. Obi~cno se renderira kao potcrtani tekst. Tako~der mo~ze imati cite atribut. Korisno kad ho~temo dio stranice ozna~citi kao "nov".

Rekli smo da ins i del elementi mogu biti blokovski ili linijski, prema potrebi. Dakle, samo trebamo odabrati koje elemente ~zelimo ozna~citi kao obrisane ili umetnute, i staviti ih unutar del ili ins elementa. Naravno, i dalje moramo paziti da ostali odnosi izme~du linijskih i blokovskih elemenata ostanu pravilni: na primjer, ako smo pomo~tu del elementa ozna~cili nekoliko rije~ci unutar p elementa, taj del element je o~cito linijski, i unutar njega ne mo~zemo staviti npr. tablicu.

Primjer: <p>Za prolaz ~te biti potrebno skupiti
<del>45</del> <ins>40</ins> bodova.</p>

br (break)
br je formalno linijski element, ali nije tamo naveden jer se po svojoj prirodi renderira vertikalno. Naime, br element predstavlja prelazak u novi red, manje separacijske snage nego prelazak u novi odlomak (p element). To je prazan element, bez atributa i sadr~zaja, i mo~zemo ga pisati kao "<br />". Na tom mjestu vizualni brosweri ~te prije~ti u novi red, dok ~te govorni vjerojatno na tom mjestu napraviti kra~tu pauzu.
Jednostavno, ponekad nam treba po~cetak nove misli, sna~zniji od prelaska u novu re~cenicu, ali ipak ne dovoljno za prijelaz u novi odlomak. No treba naglasiti da je upotreba ovog elementa isklju~civo u svrhe formatiranja dokumenta pogre~sna, i ima smisla jedino u rijetkim slu~cajevima kad tradicija nala~ze nove redove kao separatore odre~denih podataka (npr. ime i prezime // ulica i broj // grad i dr~zava, unutar address elementa). ~Cak i u tom slu~caju, ~cesto je bolje shvatiti to kao listu (ol ili ul, ovisno o tome je li redoslijed bitan -- ili ~cak dl bez dt elemenata, ako zelimo samo elemente jedan za drugim bez ikakvih dekoracij~a), i pojedine linije kao li odnosno dd elemente.

Primjer: <address>
  Vedran ~Ca~ci~t<br />
  <acronym
title="Prirodoslovno-matemati~cki fakultet -- Matemati~cki odjel">
  PMF-MO</acronym><br />
  Bijeni~cka 30<br />
  10000 <abbr title="Hrvatska">HR</abbr> - Zagreb<br />
</address>

Kompromisni elementi

Iako XHTML slu~zi prvenstveno opisivanju logi~cke strukture dokumenta, ponekad je zaista za logi~cku strukturu bitno opisati odre~deno formatiranje. U tu svrhu mogu se upotrijebiti sljede~ti elementi (iako treba znati da je nihovo kori~stenje ~cesto kompromis, i treba ih izbjegavati kad god postoji element koji bolje opisuje ono ~sto ~zelimo prikazati):

i (italic)
b (bold)
tt (teletype)
big
small
i element slu~zi za formatiranje u italic fontu (kosa slova).
b element slu~zi za formatiranje u bold fontu (masna slova).
tt element slu~zi za formatiranje u neproporcionalnom fontu (slova fiksne ~sirine).
big element slu~zi za formatiranje u ve~tem fontu (velika slova).
b element slu~zi za formatiranje u manjem fontu (mala slova).
Primjer: <ul>
  <li>Ovo su <i>kosa</i> slova.</li>
  <li>Ovo su <b>masna</b> slova.</li>
  <li>Ovo su <tt>fiksna</tt> slova.</li>
  <li>Ovo su <big>velika</big> slova.</li>
  <li>Ovo su <small>mala</small> slova.</li>
</ul>
Generi~cki elementi
div (division)
span
Ponekad ~zelimo odre~deni dio teksta proglasiti cjelinom, ali nema nijednog elementa u XHTMLu koji bi odgovarao na~soj potrebi. Treba napomenuti da je uvijek bolje iskoristiti makar slabo relevantan element nego nikakav -- some information is better than no information. No ipak, ~sto ako samo ho~temo postaviti neki atribut na bloku teksta (na primjer, id atribut, kako bismo mogli sko~citi na to mjesto u dokumentu iz nekog drugog)? Ili ako CSSom ho~temo formatirati odre~denu klasu objekata (npr. datume) za koje nema pametnog odgovaraju~teg elementa (bar u XHTMLu 1.0)? U tom slu~caju mo~zemo koristiti generi~cke elemente (to tako~der u najve~tem broju slu~cajeva treba gledati kao kompromis).
div je blokovski, a span linijski generi~cki element. Renderiranje je potpuno isto kao i bez div i span tagova (osim ~sto se div elementi, kao svi blokovski elementi, renderiraju vertikalno). No pomo~tu atributa za klasifikaciju, mo~zemo im pridati zna~cenje (i pomo~tu CSSa renderiranje) kakvo ~zelimo. Na primjer, datume bismo mogli obilje~zavati ovako: Teroristi~cki napad na
<abbr title="World Trade Center">WTC</abbr>
zbio se <span class="date">2001-09-11</span>.
Lako je upasti u zamku pretjeranog kori~stenja generi~ckih elemenata. No ne treba zaboraviti da mehanizam klasifikacije radi za proizvoljne elemente. Na primjer, mogli bismo ~zeljeti posebni element za uvu~cene odlomke teksta, i budu~ti da ga nema ve~t predefiniranog, definirati ga kao div class="indented". No na drugi pogled, vidimo da je puno bolje iskoristiti ono ~sto imamo, i klasificirati samo detalje: p class="indented" je puno rje~citiji na~cin za re~ti to isto. Vi~se o klasifikaciji u sljede~tem poglavlju.
Komentari

Iako XHTML nema "svoj" na~cin pisanja komentara (dijelova dokumenta koji se zanemaruju pri renderiranju), svejedno ~cesto ~zelimo "maknuti" neki dio stranice, ali ga ne obrisati, jer bi nam jo~s mogao zatrebati. (Za to mo~zemo iskoristiti i del element, ali onda treba pode~savati CSS tako da se del elementi ne renderiraju, ~cak ni prekri~zeno.) Ili pak ~zelimo napisati neku napomenu u dokument, ne sa svrhom da je posjetitelji stranice vide, nego samo kao podsjetnik nama koji pi~semo kod (ili pak nekoj skripti koja ga automatski obra~duje). U tu svrhu mo~zemo koristiti sljede~tu "rupu u zakonu":

<!-- ovo se ne vidi -->.

Dakle, kao da po~cinjemo pisati deklaraciju, ali umjesto klju~cne rije~ci stavimo "--". XHTML ~te zanemariti sve do zavr~setka "deklaracije", koji glasi "-->". Striktno govore~ti, ne~te ba~s zanemariti, i bilo bi dobro nemati usred komentara znakove "--" (jedan detaljniji pregled), no za quick&dirty komentare, to je sasvim dovoljno.