Professional Documents
Culture Documents
Amittai Aviram - HTML Tutorijal
Amittai Aviram - HTML Tutorijal
HTML Tutorijal
Ovaj dokument predstavlja nekoliko osnovnia HTML. HTML HTML je metod za markiranje dokumenata za stvaranje njihove eksplicitne
strukture, da bi maine mogle da ih itaju. HTML je proao kroz razne verzije od svog nastanka pre jedne decenije. Ovaj tutorijal predstavlja
poslednju i najbolju verziju HTMLa koja se irom koristi, nazvana XHTML 1.0 Strict. Ovaj tutorijal je pisan za netehnike itae i predstavlja
pomo najvanije markup elemente. Ovaj dokument takodje demonstrira sve njegove principe: sve to je spomenuto je korieno i svi
strukturni elementi su objanjeni u sadraju. Da bi stvari bije jednostavne, nema mnogo grafike. Upotreba Cascading Style Sheets
(CSS) za poboljavanje izgleda dokumenta e biti pokriveno u posebnom tutorijalu. Samo mali deli CSS e biti predstavljen na kraju ovog
tutorijala, da bi neke karakteristike HTML imale smisla.
Bilo koji tag otvaranja ili samostalni tag moe da sadri, po imenu elementa (kao to je p ili img) jedan ili vie modifikovanih atributa. Atribut
precizira neke...atribute elementa. U drugom primeru, img element ima tri atributa: src, naslov , i alt. Src atribut, u ovom sluaju, daje ime
(a moda i put, ili lokacija) na fajl koji sadri slike kod. Naslov atributa obezbeuje tekst ako sluajno slika ne stigne do grafikog
pretraivaa, ili kada korisnik pree miem iznad slike. Alt Alt atribut obezbeuje da tekst bude izreen u negrafikom pretraivaa, kao to
su tekstualni pretraivai, Brajevi pretraivai ili audio pretraivaa.
Imajte na umu da je uvek atribut naveden po imenu i znaku jednakosti, a zatim vrednost atributa, u navodnicima. Ne postoje izuzeci.
HTML elementi dokumenata mogu biti podeljeni izmeu onih koji definiu oblast dokumenta i onih koji okruuju re ili frazu. Prvi tip elementa
se zove zove element blok nivoa. Pragrafi, liste , i tabele su slementi blok nivoa. Drugi tip elementa se naziva inline element. Primeri
inline elemenata su naglaeni tekst,jaki tekst, naslovi knjiga, i linkovi. Inline elementi moraju uvek biti sadrani u elementima blok nivoa.blok
na nivou kontejnera elemenata. Na primernedvosmislen tekst se mora uvek pojaviti u paragrafu ili listi stavki ili nekoj veoj strukturi.
Nazad na sadraj.
Poetak
Pre nego to pogledamo elemete koji ine HTML document, moda biste voleli da iamte prvo iskustvo stvaranja i pregledanja HTML.
Narvno, to e znaiti da ete raditi neke stvari koje jo uvek ne razumete. Ali usput e vam svaka od tih stvari postati jasnija-nadam se!
Prvo treba da otvorite pure text editor na vaem kompjuteru. Na Windows mainama e to biti Notepad, a na Macintosh
mainama , Simple Text ili modaBBEdit. Zatim mehaniki oznaite tekst ispod, sa desna gde pie "start copying" do gde pie "stop
copying" (ne ukljuujui te dve reenice). Ovo radite tako to drite desno dugme mia i vuete ga preko teksta. Ako to ne radi, ili nemate
mi, moraete sve da kopirate runo, to e dugo trajati. U svakom sluaju, pretpostavimo da moete oznaiti tekst sa miem, kopirajte ga i
ubacite (paste) u va editor prozor. Na veini maina ovo moete uraditi klikom vaeg mia editor prozor, zatim selektujete prozor
pretraivaa, zatim "Paste" iz Edit menija. Zatim pratite instrukcije odmah ispod "stop copying" reenice.
Ponite kopiranje (ispod ove reenice).
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>Prva HTML Strana</title>
</head>
<body>
<h1>Radi!</h1>
<p>Ovo je HTML dokument i ja ga mogu videti bez
gobbledy-gook koda u mom prozoru. </p>
</body>
</html>
Slobodno promenite tekst izmedju <p> i </p> simbola u vaem editoru. Moete dodati koliko elite teksta, dokle god zadrite <p> na poetku
i </p> na kraju i ne radite nita drugim delovima koda. Sauvajte fajl u vaem editoru, predjite sa prozora na pretraiava, refreshujte
pretraiva (ili reload stranice). Da biste ovo uradili idete na View meni i nadjete "Refresh" ili "Reload." Trebali biste da vidite promene koje
ste napravili reflektovane u pretraivau.
Sada kada ste videli neto od HTML u akciji, pogledajmo elemente koji ine dobar HTML dokument. Ovo nee dugo trajati i uskoro ete moi
da stvarate HTML dokumente kako elite.
Nazad na sadraj.
<p>Paragraph</p>
<h1>Top-Level Header</h1>, <h2>Sub- Header</h2>, <h3>Sub-Sub-Header</h3>, etc.
<ol>Ordered List</ol>
<ul>Unordered List</ul>
<li>List Item</li>
<table>Table</table>
<tr>Table Row</tr>
<td>Table Cell (Also Called "Table Data")</td>
Nazad na sadraj.
Paragrafi
Paragrafi su objanjeni iznad. HTML ne prua neke druge korisne block elemente, kao poetic stanza. Iz ovog razloga zavriete tako to
ete mnoge svari zvati paragrafima iako nee izgledati kao paragrafi. Ne zaboravite da uvek imate otvarajui <p> i </p> tag.
Nazad na sadraj.
Header-i
Header-i je element teksta koji se koristi za poetak dela dokumenta. Grafiki pretraiva generalno izaziva header-e da se pojavljuju
boldirani i vei od ostatka teksta. HTML vas snabdeva sa celom serijom numerisanih header-a, tako da header prvog prioriteta je oznaen sa
tagovima <h1> ... </h1>, i prioritet vanosti se smanjuje kako se brojevi poveavaju. Ne treaba da pratite numeriki redosled sa header-ima
iako je to u ovom tekstu uradjeno. Npr. iznad stavke pridodate<h1>H1 Element</h1> elementu, moete imati sa malim header-om,
tj. <h4>H4 Element</h4>. Header uvek preokupira svoju sopstvenu reenicu teksta u prozoru pretraivaa i veina pretraivaa takodje
ubacuju vertikalni prostor iznad i spod headera, bez obzira koliko je visok ili nizak broj ispred.
Nazad na sadraj.
Naruene liste i liste stavki
Naruena lista je lista numerisanih stavki. Lista poinje sa tagom <ol> i zavrava se sa tagom </ol>. Unutar ovih tagova, svaka stavka na
listi poinje sa <li> tag om i zavrava se sa </li> (za "lstavke na listi"). Stavke na listi, zauzvrat mogu sadrati razne druge argumente kao to
su paragrafi, ali naruena lista moda nee sadrati nita drugo sem liste stavki.Drugim reima ne sme biti tag izmedju otvarajueg <ol>
taga i prvog <li> taga.
Ne kucate brojke u naruenu listu. Umesto toga, pretraiva automatski stavlja brojke u pravi redosled. Ako pomerite stavke, pretraiva e
ponovo dodeliti brojke. Dobra veba je pisati listu sa uvuenim redom, iako to nema nikakve veze kako e se pojaviti u prozoru pretraivaa:
<ol>
<li>Prva stavka</li>
<li>Druga stavka</li>
<li>Trea stavka</li>
</ol>
Ovako e se kod iznad prikazati u prozoru pretraivaa:
1.
Prva stavka
2.
Druga stavka
3.
Trea stavka
Ako moete da ugradite listu unutar liste da to uratite bilo kojem nivou hijerarhije, sa tim da ugradjena lista se nalazi unutar liste stavki.
Tabela sadraja na poetku ovog dokumenta je primer ugradjivanja. Evo jednostavniji primer:
<ol>
<li>Prva stavka</li>
<li>Druga stavka
<ol>
<li>Prva podstavka</li>
<li>Druga podstavka</li>
</ol>
</li>
<li>Trea stavka</li>
</ol>
Ovo je rezultat koda iznad kako ga je va pretraiva protumaio za prezentaciju:
1.
Prva stavka
2.
Druga stavka
1.
Prva podstavka
2.
Druga podstavka
3.
Trea stavka
Primetite kako podstavka poruene liste je ugradjena u listu stavki na roditeljskoj listi.
Cascading Style Sheets ( CSS), koji e biti pokriven u posebnom tutorijalu, omogua vam da menjate stvari kao to je brojani metodto
za npr. rimske brojke (velike ili male), ili za slova umesto brojeva
Nazad na sadraj.
Nenaruene liste i lista stavki
Nenaruena lista je kao naruena lista, ali se ne pojavljuje sa brojkama. Zato je pretraiva ugravnom prikazuje kao liste sa takama,
ovako:
Prva stavka
Druga stavka/li>
Trea stavka
Tel e p h o n e
A m i t t a i A v i r a m avirama@gwm.sc.edu
777-2058
Stan Dubinsky
dubinsk@vm.sc.edu
777-2056
Judith James
jamesj@gwm.sc.edu
777-5063
W i l l i a m R i c h e y richeyw@gwm.sc.edu
777-2054
Da biste napravili tabelu, otvorite element sa <table> tagom. Moete odrediti irinu border width u pikselima, kao i prostor i veliinu elija.
elijski prostor je koliina prostora izmedju teksta u eliji i bordera oko njega i jako je koristan atribut. (U tabeli iznad, elijski prostor je
nameten na "5.") Veliina elije je veliina prostora izmedju elija i po pievom iskustvu, potpuno beskoristan atribut, jer bilo koja veliina
"0" uvek izgleda udno. (Ali isprobajte brojke.) Ova tri atributatabele elemenata udaraju po prezentaciji vie nego strukturalne brige kako
stvari izgledaju pre nego ta su one ali su izuzetak u strukturi duha XHTML..
Takodje,XHTML vam dozvoljava da promente irinu tabele, ako je to potrebno. Ako nije, veina grafikih pretraivaa e proiriti tabelu
koliko je potrebno da bi svi podaci bili smeteni u njoj, smanjujui tekst do potrebne veliine. Na primeru kada elite da odredite irinu tabele,
pretpostavimo da imate stranicu sa dve tabele, jednu ispod druge. Moa poelite da tabele budu kompatibilne jedna sa drugom, i zato
moraju da imaju istu irinu. Ako odredite irinu sa brojem i znacima navoda (width="500"), to e naterati grafiki pretraiva da nacrta tabelu
u odredjenoj irini u pikselima ali trebalo bi da izbegavate ovo. Uvek je bolje odrediti irinu tabele u procentima od totalne irine
prozora: width="85%". Odredjivanje irine ima prednost pomaganja pretraivau pri crtanju tabele tako to uklanja jedan deo kakulacija iz
procesa crtanja, koji ponekada moe rezultirati u brim performansama kada se pregledaju stranice.
Zatim izborno, moete odrediti caption element za vau tabelu. Ovo e se pojaviti po defaultu odmah iznad tabele, uglavnom centrirano.
Ovo je jako koristan element, ne samo za grafike i tekstualne pretraivae ve i za audio pretraivae, poto je jasnija svrha tabele.
Zatim i dalje izmedju otvaranja <table> i zatvaranja </table> tagova, morate imati makar jedan red tabele elemenata i taj red mora imati
makar jednu eiju. Red tabele je oznaen sa <tr> i </tr> tagovima. elija poinje sa <td> i zavrava se sa </td>. "td" je skraenica od table
data. (tabela podataka). (TNisu me pitali za miljenje kada su ovo pravili!) Umesto regularne elije tabele "table data" tipamoete
koristit th element za red ili kolonu. ("th" je skraeno od "table header,".)Po defaultu, pretraivai uglavnom prikazuju boldiran tekst
u th elementu, to je korisno.
Ako koristite th header element za kolonu ili red, dobra je veba odrediti obim atributa kao "col" ili "row." Ovo govori audio pretraivaima da
li se header odnosi na njegove kolone ili redove i spreava dezorijentaciju kada neko slua itanje tabele naglas.
Kod za stvaranje tabele je ovde iznad:
<table border="1" cellpadding="5" cellspacing="0">
<caption>Lista Odeljenja Engleskog Fakulteta</caption>
<tr>
<th scope="column">Ime</th>
<th scope="column">E-Mail</th>
<th scope="column">Telefon</th>
</tr>
<tr>
<th scope="row">Amittai Aviram</th>
<td>avirama@gwm.sc.edu</td>
<td>777-2058</td>
</tr>
<tr>
<th scope="row">Stan Dubinsky</th>
<td>dubinsk@vm.sc.edu</td>
<td>777-2056</td>
</tr>
<tr>
<th scope="row">Judith James</th>
<td>jamesj@gwm.sc.edu</td>
<td>777-5063</td>
</tr>
<tr>
<th scope="row">William Richey</th>
<td>richeyw@gwm.sc.edu</td>
<td>777-2054</td>
</tr>
</table>
Primetite uvueni red, koji pomae koderu da najde put do koda. Nema se pojma kakvi e se rezultati pojaviti na prozoru pretraivaa.
Nazad na sadraj.
Block quotation
Ova kategorija je kombinacija dve stvari, poto su neki elementi u nivou bloka a drugi inline. Inline elementi moraju biti sadrani unutar
elemenata dlok nivoa. Slikei zagrade su inline elementi, sa se moda nee pojaviti van sadrujueg elementa, kao to
je paragrap ili division. (Pogledajte dalje ispod o <div> tagu i divisionelementu.)
Nazad na sadraj.
Slike
Kada ugradite sliku u HTML dokument, sama slika nije zapravo deo koda dokumenta. Umesto toga, HTML izvorni kod ima img element u
njemu, koja sadri podatke koji povezuje trenutni dokument sa drugom datotekom, koja sama po sebi, ima kod za slike. Zaista, slika
datoteke i HTML fajlovi dokumenata su veoma razliiti po svojoj prirodi: HTML datoteka se sastoji iskljuivo od teksta znakova i simbola, dok
slikovne datoteke se sastoji od binarnog koda koji ljudi ne mogu proitati. U img tag elementa sadri informacije koje omoguavaju
pretraivau da zatrai datoteku slike kao posebnu stavku i prikae je na pravom mestu u pravom iznosu od prostora rezervisanog za to.
(Odeljak u nastavku o serverima objanjava vie o ovom "zahtevajuem" procesu.)
Datoteka sadri stvarni binarni kod za sliku zvani izvor slike. Poto tekst i audio pretraivai ne prikazuju slike, takoe treba da bude neka
vrsta teksta u imgelementu da stoji u mestu slike u tim kontekstima. Shodno tome, slika oznaka mora navesti, u najmanju ruku, dva atributa:
(1) izvor izvor slike, i (2) alternativni tekst. Takoe je dobra ideja da navedete (3) naslov slike. Konano, svakom img elementu takoe treba
navesti irinu i visinu u pikselima, da pomogne pretraivau pri raspodeliti prostora za to.
Izvorni atribut se pie src u <img> tagu. Njegova vrednost je ime posebnog fajla koji sadri kod slike. Bez obzira da li kreirate sopstvenu
sliku ili je uzimate (legalno!) iz nekog drugog izvora, uvek bi trebalo otvoriti prvo u grafikom ureivanja programa kao to su Adobe
Photoshop ili Jasc Paint Shop Pro. Onda treba da ga promenite veliinu na onu koju elite da imate na svojoj web stranici, a zatim
sauvate pod eljenim imenom i na mestu gde moete da ga pronaete. Mesto slova e biti vrednost vaeg src atributa, dok e veliine
dimenzije biti potrebne za irine i visine dimenzije. Evo nepotpuni img element, navodei samosrc atribut:
(Nepotpuno nemojte da kopirate ovaj primer!)
<img src="http://www.cla.sc.edu/engl/faculty/faculty.jpg" />
Ako su HTML dokument datoteka i datoteka slike su na istoj maini, adresa moe biti relativna. U drugom sluaju, ako je dokument bio u
istom direktorijumu na istoj maini kao na slici, src moe da uzme jednostavno "faculty.jpg. kao svou vrednost.
Alternativni tekst atribut pojavljuje u tagu kao alt, a njegova vrednost treba da obezbedi ekvivalent tekst informativne vrednosti slike, ako
postoji. Vrednost altatributa koristi tekst pretraiva poput Linx-a umesto slike aaudio ili Brajevi pretraivai mogu koristiti isti tekst za istu
svrhu. Slt atribut je obavezan , i komponovanjem njegove vrednosti vam daje priliku da razmislite o tome zato vi stavljate sliku tamo na
prvom mestu. Da li vaa fotografija fakulteta na Univerzitetu ministarstva pokazuju njegovu razliitost i broj? Da li vaa fotografija studenta
koji itaju knjigu na otvorenom pokazuje nadahnutost vaih studenata? Ako vaa slika zaista ne doprinosi nikakvu informaciju i istoje
dekorativna, moete staviti alt="" u oznaci. Posebno je vano da informativni tekst u alt atributu bilo koje slike slui kao link, kao to je
custom- made dugme.
Takoe je mudro da navedete naslov. Ovo bi trebalo da bude vie od opisnog naziva slike. Pre nego to se slika uita na grafikom
pretraivau, ili ako slika ne moe da se uita na nekog razloga - kao to je problem sa serverom ili linkom - pretraiva moe da prikae
naslov u kutiji na mestu gde bi slika se pojavila. Takoe, mnogi grafiki pretraivai omoguavaju da vidite tekst alt atribut kao alatku poput
teksta koji iskae sa strane kada korisnik pomera mi preko slike. Generalno, ako je naslov izostavljeno, grafiki pretraiva e
koristiti alt tekst za ove namene.
Konano, dimenzije slike u pikselima su navedene. Ovo moe da zvui kao pitanje kako neto izgleda nego to je, to, pa jo prezentaciona
funkcija se nalazi u XHTML, ali slika je, budimo iskreni, u sutini vizuelna, tako da njene dimenzije su zaista deo njene prirode. Dimenzije
su irina i visina. Obino moete dobiti ove dimenzije precizno iz vaeg programa za editovanje slika, kao to je upravo pomenuto.
Dakle, gore img img tag mora biti revidiran kako bi izgledala ovako:
<img
src="http://www.cla.sc.edu/engl/faculty/faculty.jpg"
title="Slika Odeljenja Engleskog Fakulteta"
alt="Na raznovrsan fakultet ima preko 50 lanova"
/>
Dalji detalji o prikazu slike bi trebali biti kontrolisani od strane style sheet-a.Upotreba style sheet-a za kontrolisanje izgleda HTML
dokumenata e kasnije biti pokrivena u posebnom tutorijalu.
Kao inline element, slika mora biti sadrana u nekom drugom elementu blok nivoa kao to je paragraf, lista, tabela, division, ili
ak header.
Nazad na sadraj.
Horizontalni lenjir
Horizontalni lenjir je horizontalna linija koja se pojavljuje povuena preko ekrana u delu gde je tekst dodeljen poziciji taga u HTML kodu.
Korisno je separatisati divisions. Horizontalni lenjir nije inline elementve element blok nivoa, paralelan sa paragrafom, listama,
i tablelama, tako da ne mora da bude sadran u bilo kom drugom blok elementu i ne treba da bude sadran u nijednom osim u eliji tabele.
Tag horizontalnog lenjira izgleda ovako: <hr />. U akciji horizontalni lenjir izgleda ovako:
Nazad na sadraj.
Zagrade
Zagrada je taka gde je re privremeno zadrana i reenica teksta ne radi, da bi nastavilana sledei niz. Ovo je jako korisno za pregledanje
poezije ili adresa. Moe se pojaviti sa header-om, sa header-om polomljenim na dva reda, bez vertikalnog prostora. Tag se uvek pojavljuje
ovakva: <br />.
Zagrada je inline element, to znai da mora biti sadran u veem elementu blok nivoa ,kao to je paragrapf ili header.
Evo primer nekoliko stihova, prvo oznaenih onda pregledanih od strane pretraivaa:
Oznaeno
<blockquote>
<p>
Jednostavni Simon je upoznao burekdiju<br />
Odlazak na sajam<br />
Rekao je Jednostavni Simon burekdiji<br />
"Dozvoli mi da probam tvoj proizvod!"<br />
</p>
<p>
Rekao je burekdija Jednostavnom Simonu,<br />
"Pokai mi prvo tvoj dinar"<br />
Rekao je Jednostavni Simon burekdiji<br />
"Istina, nemam ni jedan"<br />
</p>
<blockquote>
Pregledano
Jednostavni Simon je upoznao burekdiju
Odlazak na sajam.
<em>Emphatic Text</em>
<strong>Strong Text</strong>
<cite>Title Citations</cite>
<a href="some_url.html">Links</a>
Nazad na sadraj.
Nedvosmislen tekst, jaki tekst i citiranje naslova
Nedvosmislen i snaan tekst i citirani naslov e se razmatrati zajedno, jer sva tri dela, manje ili vie rade na isti nain, oznaavanjem rei,
fraza, reenica ili nekih drugih tekstualnih jedinica za neku vrstu posebne obrade. Jaki tekst je najbolje koristiti da izazove tekst da se pojavi
snaniji, i grafiki pretraivai obino pruaju jak tekst po defaultu kao boldfaced. (Svaki put kad vidim izraz kao to je jak tekst po defaultu
kao boldfaced. (Svaki put kad vidim izraz kao to je jak tekstboldfaced u ovom dokumentu, to je zato to je zapravo sadran u jakom
tekstu elementa.) Isto tako naglaeni tekst je za naglaavanje i obino se pojavljuje u italics-u u vaem grafikom prozoru. Citirani
naslov (okruen <cite> i </cite> tagovima) treba da se koristi za naslove knjiga, predstave, filmove, umetnika muzika, itd. Oni, takoe, se
uglavnom pojavljuju kao italics u grafikim pretraivaima, koji prate standarde modernog tampnja. Ovo je dobra instanca razlike izmeu
HTML i obrade teksta. HTML pravi razliku izmeu naslova i naglaavanja jer su razliite stvari, ak i ako su obino tretiraju vizuelno na isti
nain. Sa upotrebom Cascading Style Sheets (CSS) , pokrivenog u posebnom tutorijalu, vi (ili va webmaster) moete, zaista, da postavite
prezentaciju ova dva elementa da bude drugaija. Ovo je dalje diskutovano u odeljku o <div> i <span> ispod.
U tampi, mi koristimo italics u nekoliko drugih svrha osim za akcentovanje ili naslov, a moete nai izbor <em> ... </em> i <cite> ...
</cite> ograniavajui. A ta emo sa stranim reima i izrazima? I ta sa tehnikim uslovima kada su prvo predstavljeni? ta sa engleskim
reenicama se koriste kao jedinke - primeri dijalekta, gramatika, ili upotrba? Za ove svrhe, i element i njegovi <i> ... </i> tagovi mogu biti
korisni. Oni su pokriveni u sledeem odeljku.
Nazad na sadraj.
Ostatak <b>, dalje koristan <i>, i mali uvid u Cascading Style Sheets
XHTML 1.0 Strict dozvoljava upotrebu <b> ... </b> tagova za boldface tekst i <i> ... </i> tagove za italic tekst. To su ostaci iz starijih verzija
HTML, koji nisu razlikovali strukturu o prezentacije dobro kao trenutne verzije. Upotreba ovih elemenata je nepotrebna
pored strong i em elemenata kao i cite.
Ipak postoje neke instance gde je i element jako zgodan: naroito za strane izraze, za predstavljanje tehnikih termina, i za tekst koji se
koristi kao uzorakdijalekta, renika, upotrebe ili slinog:
Kod:
<p>E - mail skraenice, kao to <i>FWIW</i> znai "ono to je vredno" i
<i>AFAIK</i> za "koliko ja znam", postali su neka vrsta kompjuterskog <i>argot</i> a
<i>nestandardne</i> upotrebe - i neete nai u
<cite>Oxford English Dictionary</cite> i stoga ne ba
<em>formali</em> Standardan Engleski.</p>
Rezultat:
E - mail skraenice, kao to FWIW znai "ono to je vredno" i AFAIK za "koliko ja znam", postali su neka vrsta kompjuterskog argo
a nestandardneupotrebe - i neete nai u Oxford English Dictionary.
Ali, u stvari, strani izrazi i primeri jezika se ne razlikuju samo d nedvosmislen izraza i titulu citata, oni se razlikuju jedni od drugih.
Pretpostavimo da emo kasnije eleti da ih pretraivai donesu jasno. Dokle god sam koristio iste oznake za oznaavanje i stranih izrazai
jezikih primeraka, neu moi da nateram pretraiva da ih razlikuju vizuelno. Reenje ovog problema je korienje class attribute u
kombinaciji sa Cascading Style Sheet-a da stvore podelu unutar kategorije ielementa, tako da imamo jednu klasu i elemene za strane
izraza, drugu za tehnike uslove, a treu za primerake jezika. Dok sam na tome, ja u koristiti lang atribut da navedem jezik stranog
izraavanja, u sluaju da kasnije elim da koristim ovu informaciju na neki poseban nain u programu. Klasa i lang atributi su standardne
osobine - za bilo koji element, u saradnji sa CSS, i poslednje za bilo koji element koji sadri tekst (i stoga mogu imati jezik). Takoe sam
napravio razlikovanje vrste citiranog naslova koji mi je dao atribut klase ija je vrednost knjiga. Ovde je isti prolaz, ali sa pridodatim
atributima:
<p>E - mail skraenice, kao to
<i class="specimen">FWIW</i>
znai "ono to je vredno" i <i class="specimen">AFAIK</i>
za "koliko ja znam", postali su neka vrsta kompjuterskog
<i class="foreign" lang="fr">argot</i> a
<i class="technical">nonstandard</i> upotreba- nije jos vidljiva u
<cite class="book">Oxford English Dictionary</cite> i stoga ne ba u<em>formal</em> Standardnom
Engleskom.</p>
Da bih pokazao korienje CSS sa klasom atributa - vrlo kratko - ja sam stvorio poseban fajl pod nazivom tutorial.css koji sadri definicije
mojih klasa. Odluio sam da promenim boje pozadine za stranim izrazima, primerima jezika i naslova knjige, da bi svaki izgledao drugaije
od drugog. Takoe sam poveao teinu u ovim elementima, kako bi se njihove boje lake videle.Nedvosmislen tekst sam ostavio pod
defaultom.
cite.book {
font-style: italic;
font-weight: bold;
color: blue;
background-color: white;
}
i.foreign {
font-style: italic;
font-weight: bold;
color: red;
background-color: #99ff99; /* Numeric code for light blue. */
}
i.technical {
font-style: italic;
font-weight: bold;
color: #009900; /* Dark green. */
background-color: white;
}
i.specimen {
font-style: italic;
font-weight: bold;
color: white;
background-color: #009900; /* Numeric code for dark green. */
}
HTML dokument koji itate je povezan sa ovim CSS fajlom pomou jednog link elementa, koji se javlja na vrhu izvornog koda ovog
dokumenta u glavielementa. I elementi glave i link elementi su objanjene u daljem tekstu.
E - mail skraenice, kao toFWIW znai "ono to je vredno" i AFAIK za "koliko ja znam", postali su neka vrsta kompjuterskog argot
a nestandardneupotrebe - i neete nai u Oxford English Dictionary.
Grafiki pretraivai koji ne podravajuCSS e verovatno pregledati sve i elemente kao italics.
Vrednost klase atributa ista kao re koju prati taka u CSS unoenju, koja se zove CSS class selector. Pravila za vrednost klase atributa i
odgovarajueg CSS class selector su izmeana: svaki pojedinaan selector-and-class-name mora biti samostalna re, bez razmaka i da se
sastoji samo od slova, brojki, ili hyphen, u bilo kojoj kombinaciji, Vrednost klase foreign ili foreign1 je OK, ali ne foreign? ili *123foreign.
Vrednost lang atributa mora biti izabrana iz skupa standardni dvoslovnih skraenica kao to je en za engleski, fr za francuski, de za
nemaki, es za panski, i ru za ruski. Uglavnom su isti kao ona dva slova koja se nalaze na kraju Web adresa van SAD.
Nazad na sadraj.
Linkovi ("Anchors")
Spisak iznad treba da se koristi pri upotrebi prve tri vrste inline elemenata. Linkovi, meutim, zahtevaju poseban nain. Iz istorijskih razloga,
link element nije tehniki naziva "link", ali je anchor, tako da je oznaen sa tagovima otvaranja <a> i zatvaranja </a> tagova. (Ne znam zato
se neko odluio da ga zove "anchor" tj. sidro, ali sada smo zaglavili sa njim.) Ba kao element slike (img) mora imati najmanje izvor slike
naveden kao vrednost src atributa meta linka (ili "anchor") mora biti naveden u oznaci otvaranja <a> koristei href atribut. Meta linka je
adresa na koju treba da ide sledea pretraga kada kliknete na link, a href je skraenica za "hypertext reference", koji je manje - vie ono to
jeste. Vrednost atributa href je adresa, takoe poznata kao URL, kao vrednost src atributa. Ba kao i sa srcatributom img taga, tako i ovde
moete koristiti relativnu adresu ako su dokument i meta linka na istoj maini i samim tim imaju iste poetaka do njihove adrese - na primer,
http://www.cla.sc.edu/index.html i http://www.cla.sc.edu/departments.html. U takvom sluaju, link na prvoj stranici koji se odnosi na drugi bi
mogao da izgleda ovako:
<a href="departments.html">Departments</a>
Inae, ako se meta linka nalazi na drugom domainu - sve to dolazi odmah posle "http: //" je drugaije - onda morate navesti ceo URL,
ukljuujui http:// na poetku::
<a href="http://www.amittai.com/">Amittai's Website</a>
ta ide izmeu tagova otvaranja <a> i zatvaranja </a> je tekst koji e se koristiti kao link. Po defaultu, pretraivai obino istiu ovaj tekst na
neki nain, obino kao podvuen plavi tekst.
Naglaavanje u druge svrhe, osim linkova se ne smatra stvar strukture, tako da nije podrano od strane verziji HTML u ovom uputstvu
(XHTML 1. 0 Strict). Naglaavanje moe da se pojavi na veini pretraivaa oznaavanjem nekih drugi elemenata kao isticanje teksta
pomou Cascading Style Sheet ( CSS). Cascading Style Sheets je tehnika za vebanje pretraivaa da donese HTML strukture u skladu
sa utvrenim prezentacionim pravilima. Oni su tema sama za sebe i ovde se nee pokriti. Osim toga, ako kreirate web stranice za vei sajt
koji ima web menadera ili webmastera, verovatno je bolje samo da kaete webmasteru kako elite da se vaa struktura pojavi i da
webmaster stvori style sheet za vas. Vano je da se odredi element strukturalno kako biste voleli da vidite istaknuti tekst. Pogledajte sledei
odeljak, o div i span elementima, kao mali uvod u ovu temu.
Meta linka moe biti neto drugo od spoljnog dokument. Umesto toga, ona moe da bude drugi deo istog dokumenta. Na primer, moete
imati tabelu sadraja na vrhu dokumenta u obliku zahtevane ili nezahtevane liste, gde svaka stavka na listi je naslov sekcije a takoe je i
link, tako da moete da kliknete na te naslove i dodjete na njih. Zatim, u samoj taki, moda postoji slian link unazad do sadraja. Linkovi
koji se koriste za ovu svrhu su isti u obliku linkova koji ukazuju na spoljna dokumenta. Jedina razlika je u ciljnoj adresi. Za namera korienja
URL adrese ili povezane adrese, koristite identifikator fragmenta. Identifikator fragmenta je ekvivalent adresi, ali se koristi za fragment ili
deo dokumenta. On uvek ima simbol # ispred. Sledee link ukazuje na odredjeni fragment "top":
<a href="#toc">Jump to bottom of document</a>
Da bi ovo funkcionisalo, morate da identifikuju ono mesto u dokumentu na koje se povezuju take. Ovo se postie tako to elemenatu
dajete id atribut. Na primer, header moe posluiti kao ciljni fragment, a moe da sadri id: <h2 id="info">Info</h2>. Ovo je preferirani metod
za odreivanje mesta u dokumentu, kao prepoznatljivog fragmenta.
Ovaj dokument ve demonstrira korienje ove tehnike za interne veze sa sadrajem na vrhu vezanog za sekcije i linkove ispod svakog dela
koji omoguava korisniku da se vrati u sadraj. Svi ciljni fragmenti se poistoveuju sa id atributa u headerima.
Moete kombinovati URL drugog dokumenta i identifikator fragmenta u tom drugom dokumentu, tako da vas link odvede na odreeni deo tog
drugog dokumenta. U tom sluaju, atribut href e imati svoje vrednosti i URL adresu, a zatim bez razmaka od strane identifikatora
fragmenata, koji je odvojen od URL adrese #karakterom:
<a href="another_document.html#part_in_middle">
Idite na mesto u sredini drugog dokumenta.
</a>
Pored povezivanja sa drugim dokumentom ili na drugom ili istom dokumentu, moete, konano, koristite anchor da se povee na e - mail
adresu. Generalno, pretraiva korisnika e nositi link isti onom to e otvoriti podrazumevani potansku program kada korisnik klikne na
link, sa adrese primaoca ve udje u "To" polje odlazne e - pote. Da biste kreirali ovu vrstu veze, koristite href atribut kao pre, ali vrednost je
re mailto, praeno dvotakom, zatim e - mail adresu eljenog:
Kontaktirajte autora:
<a href="mailto:amittai.aviram@yale.edu">
amittai.aviram@yale.edu
</a>
Postoji primer mail linka na samom dnu ovog dokumenta. Poto tie - in za slanje zavisi iskljuivo od toga da li korisnik ima server slanja i
server pretraivaana svom sistemu i da li njih dvojica rade zajedno, ne moete pretpostaviti da e mail link raditi. Dakle, uvek stavite
stvarnu e - mail adresu izmeu tagova za otvaranja i zatvaranja jednog elementa. Na taj nain, ljudi koji ne mogu samo da kliknu i mail e
znati eljenu adresu i da poslati e - mail na neki drugi nain..
Ako elite da imate link sa Usenet newsgroup, koristite istu tehniku kao i veoma za povezivanje na e - mail adresu, samo koristite
prefiks news: umesto mailto:. Ista pravila vae o stavljanju na ime diskusione grupe u tekstu linka, u sluaju da korisnikov kompjuter nije
podeen da automatsko otvoranje spiker programa - to je esto sluaj. Druga tehnika za povezivanje sa Usenet newsgroup je korienje
veze sa Google News Service na webu. Ako pogledate spisak resursa na kraju ovog uputstva, a zatim pogledate u svom izvornom kodu,
videete da je tehnika u akciji.
Nazad na sadraj.
Skraenice i akronimi
Ako ste itali ovaj dokument u up-to-date grafikom pretraivau, moda ste primetili tooltip-tip teksta koji se pojavljuje kada predjete miem
preko teksta, pokazujui ili "Hypertext Markup Language" ili "Extensible Hypertext Markup Language," ili "Cascading Style Sheets." To e se
desiti kad se pokaziva mia nalazi na vrhu jedne od tri skraenica - odnosno, HTML, XHTML, ili CSS. HTML obezbeuje dva zanimljiva
ugnjedena elementa, jedan za skraenicu i drugi za akronim: abbr i acronym. U oba sluaja, trebalo bi da podesite atribut naslova u
vrednosti proirenog znaenja skraenica ili akronima. Ovaj postupak ne samo da omoguava usaglaene pretraivaa za prikazivanje
instant definiciju skraenice ili akronim, ve i da pretraivai ponude korisniku mogunost irenja svih skraenica i akronima u tekstu ili ih da
ih vrati nazad, ili da prikae proirenu verziju prvog pojavljivanja skraenica i akronima. Ovo bi trebalo da rade za tekst, Brajevo pismo i
audio pretraiva , kao i grafiki pretraiva. Prema tome, ja sam priloio svaki sluaj svakog akronima u ovom dokumentu u <acronym> ...
</acronym> tagovima, i postavio naslob na odgovarajui nain. Da bih se sauvao od dugakog kucanja svaki put, u poetku sam kucao
sve akronime, a zatim koristio globalnu pretragu i zamenu funkcije u mom editoru da promeni sva pojavljivanja tih akronima u njihove
tagove.
Neki okviri trenutne XHTML specifikacije jasno su zbunjeni sa reju acronym, koji zaista znai izgovorljiv lettervords, kao to su radar, LAN,
i UNICEF. Oigledna suvinost abbr i acronym elemenata moe dovesti vie od konkurencije meu kreatorima pretraivaa - "ratovi
pretraivaa" - nego iz potrebe ili logike - taka koja je u drastinim razlikama u pretraivau. Ukratko, ova dva elementa su deo HTML uvek
u kretanju.
Nazad na sadraj.
<div> i <span>
Ako imate odreene strukturne elemente u dokumentu za ije oznake HTML vokabular to nije dovoljan, moete oznaiti svoj element na blok
nivou sa <div> i</div> tagovima, a na ravnom nivou, sa <span> i </span> tagovima. Poto ove oznake ne pokazuju nikakvu specifino
znaenje, njihova funkcija je potpuno preputena style sheet-u. Obino, div (podela) ili span element e imati atribut navedene klase.Naziv
klase se zatim koristi u stilu da kontrolie prezentaciju elementa.
Na primer, pretpostavimo da imam knjievno - kritiki esej u kome sam citiram blok teksta, a zatim komentar na prolaz u tom bloku. Moda
elim da istaknem prolaz u drugoj boji. Ja u pozvati taj pasus span i podesiti vrednost class da bude naglaena i onda koristiti definiciju
CSS klase za promenu izgleda:
<p>Chaucerov narator komentarie
}
Evo ga rezultat:
Centrirani Tekstt
Ovaj tekst je centriran ispod centriranog headera.
Gledajete follow-up ovog tutorijala koji e vam objasniti osnove style sheets u vie detalja.
div element je takodje koristan pri zatvaranju anchora u kontejneru ali paragraf ili takva druga tekstualna struktura nije odgovarajua jer je
anchoru zaista najbolje samom. Ovaj dokument koristi div element u ovu svrhu, tda bi sadrao ime <a name="top"></a> na vrhu
dokumenta koji slui kao meta za linkove koji usmeravaju nazad na sadraj.
Nazad na sadraj.
Komentari
esto, je dobra ideja da ubacite neki tekst u dokument koji ne elite da svet vidi u prozoru, ali da vi i bilo koji drugi programer treba da vidi
kad god pogledate kod izvorni dokument. Moete da ubacite podsetnike, na primer, da biste aurirali neki deo periodino, ili neki tekst koji e
vam pomoi da pronaete mesto koje vam je potrebno da se esto revidira. HTML komentar je oznaen sa tagom za otvaranje <!-- i
zatvaranje --> Sve izmeu <!-- i --> se nikada nee pojaviti u prozoru, ali se, naravno, pojavljuju u izvornom kodu. Drugi nain kojim
komentari mogu biti korisni je da se omogui da se maskira u HTML sekciji. Na primer, neki deo stranice moe biti privremeno nevaeom,
ali moda ete eleti da se zadrite tekst u sluaju da kasnije elite da ga ponovo prikaete. Moete jednostavno postaviti celu stvar u
komentaru i ona e nestati iz pretraivaa bez traga.
Nazad na sadraj.
Glava i telo
Diskusija jvas je do sada obezbedila sa oznakama za tekst u dokumentu. HTML dokumenti takoe moraju imati malo naznaka okruujui
ceo sadraj, da bi omoguili softveru pretraivaa da pravilno obradi dokument. Pre svega, ceo dokument se smatra jednim
velikim html element. Mi takoe kaemo da je htmlelement korena, iz kojeg se svi ostali elementi "granaju". (Metafora je malo apstraktna.)
Dakle ceo dokument mora biti obeleen sa takovima otvaranja <html> i zatvaranja </html> Mora postojati samo jedan html element u
dokumentu.
<html>
<!-- Va ceo dokument ide ovde. -->
</html>
<html> tag treba da sadri nekoliko specijalnih atributa,o kojima e kasnije biti rei.
Da biste sami videli<html> tag, moete da vidite izvorni kod iz vaeg pretraivaa. Na grafikom pretraivau, kao to je Microsoft Internet
Explorer ili Netscape Navigator, pronadjite "View Source" u View meniju i izaberite ga. To e otvoriti poseban prozor sa izvornim kodom ovog
dokumenta, a zatim moete da vidite sve tagove, ukljuujui i one za otvaranje <html> i zatvaranje </html>. Slovo e biti poslednja stavka
koju vidite, ali prethodna nee biti prva. ta dolazi iznad njega e uskoro biti objanjeno, zajedno sa tim atributima za otvaranje html tag.
Sadrane unutar html elementa su dve vane komponente glava i telo. Sadraj elementa glave je uglavnom nevidljiv za korisnika i nalae
raunaru na predmetima koji uslovljavaju pruanje dokumenta. Na primer glava je ta koja prikazuje style sheet appears , ili element koji
povezuje dokument na spoljni fajl sa stilom. (Ova vrsta povezivanja elemenata, uzgred se zove link! To je navedeno u samostalnom <link />
tag.) Jedan element u okviru glave je prikazan i uvek treba da se pojavi u glavi: naslov. Tekst naveden u naslovu elementa pojavljuje se u
naslovnoj traci, koja je, po pravilu, plava ili bela traka na vrhu grafikog prozora pretraivaa. Ako ne navedete naziv, naslov bar e obino
samo pokazati URL, koji uvek izgleda jadno i neprofesionalno i omoguava svetu da zna da autor stranice ne zna HTML. Evo izgleda
element glave ovog tutorijala:
<head>
<title>Short HTML
Tutorial</title>
<link rel="stylesheet" type="text/css" href="tutorial.css" />
</head>
Ponovo pogledajte izvorni kod ovog dokumenta, da biste videli <head> i </head> tagove sadrane u <title> i </title> tagove i samostalni <link
/> tag. Linkelement se povezuje sa spoljnim lstyle sheetom koji precizira kod za span i div elemente prikazane iznad. Obratite panju kako
su elementi uvueni da se lako ita ifra, i kako to nema uticaj na to kako tekst je prikazan u prozoru.
Ispod elementa glave dolazi element tela sa niim izmeu. Element tela sadri sve podatke dokumenta, ukljuujui sve oznake o kojima
smo razgovarali pre.
Nazad na sadraj.
Entiteti karaktera
Ako ste bili na oprezu, moda se pitate o neemu tokom ovog dokumenta: svaki put kada sam predstavio ilustraciju HTML koda, ja sam
ukljuio oznake u njemu, tako da moete da ih vidite. Ali, ako oznake postoje, kako pretraiva "zna " da samo ja citiram oznake za vas da ih
vidite nego da koristim oznake za organizovanje svog teksta? Kako zaustaviti pretraiva pri uzimanju <table> oznake i kreiranje tabele
umesto da samo prikae samu oznaku za vas da vidite? Odgovor se moe nai ako ste videli izvor ovog dokumenta. Gde god je potrebno
da predstavlim tag pre nego to ga idkoristim, ja sam izbegavao znakove otvaranja < i zatvaranja > Umesto toga, ja sam koristio posebno
reenje da prouzrokuje brower da prikae te znakove na prozoru bez bukvalnog unoenja karaktere u moj kod. Za karakter otvaranje < ja
koristim kombinaciju znakova <. Ono to vidite kada napiem je < karakter, ali ono to pretraiva "vidi" je etiri karaktera koji ine reenje.
Ovaj tip alijasa za karakterese zove acharacter entiteta, i HTML definie entitet karaktera za svaki znak i simbol koji se moe prikazati u
datom kodiranom sistemu. Svi entiteti karaktera poinju sa ampersand ( &) i zavravaju sa zarezom (;).
Ali kako sam predstavljaju kombinaciju < i > na ekranu za vas, bez njihovog automatskog prevodjenja u odgovarajue pojedinane
karaktere < i >? Kao to se deava, entitet za ampersand se pie &. Tako moete to da koristite da bi izazvati ampersand pojavu bez
pisanja ampersand u vaem kodu, i to spreava vau sekvencu karaktera od toga da je tumai kao karakter subjekta.
Entiteti karaktera su takoe korisni za "specijalne karaktere" koji nisu ukljueni u standardnom ameriko - engleskim tastaturama. Na primer,
kombinacija se koristi za naglaeni a karakter . Isto tako, ö daje , ê daje , and ç daje . Bilo koja standardna
referenca na HTML - u e imati punu listu korisnih znakova entiteta. Pogledajte ispod za referentni link. Moda ete smatrati daa je ova
karakteristika za HTML toliko kul da nikada nee eleti da se vratite obinoj obradi rei ponovo.
Do sada sam samo spomenuo znakove entiteta koji imaju lepe, Mnemonic forme. Nemaju svi entiteti karaktera ove mnemotehnika, ali svi
oni nemaju numerike forme. U ovom dokumentu, ja koristim entitet za dugo crtice ovako. To je jako zgodno pri prepisivanju poezije
Emily Dickinson.
Nazad na sadraj.
Pisanje HTML
Pa kako treba da piete HTML? Koje alatke bi trebalo da koristite? Da bi va HTML bio ispravan, morate da koristite neki metod koji vam
omoguava da sauvate datoteku kao isti ASCII teksta. Najbolje je da koristite neto poput Notepad na Windows maini ili jednostavan
tekst ili BBEdit na Mac raunaru. Linux i FreeBSD maine imaju mnogo dobrih tekst editora, kao to su vi, emacs, ili kate. Ako koristite
program za obradu teksta, kao to je Microsoft Word, Corel WordPerfect ili Claris Works, vi rizikujete da u program ubacite sve vrste
nevidljivog, nestandardnog, vlasnikog koda u tekst kako bi podrao va sistem formatiranja. Jednostavnom tekstualnom editoru, moete
verovati da e tekst uvek biti ta god je to to ste uneli. Na Windows mainama, moete nai Notepad pod Programs Accessories. Ako
vam ne smeta potronja od oko $ 28, moete dobiti super - duper - souped - up tekst editor za Windows maine nazvanTextPad, dostupan
na http://www.textpad.com. Ovo je sjajna alatka za razvoj HTML, i ja sam je koristio za pisanje ovog teksta.
Popularne programi za obrada teksta, kao to su Corel WordPerfect i Microsoft Word, e vam ponuditi opciju da sauvate datoteku "kao
HTML". To je gotovo uvek greka. Pretpostavimo da ste napisali neto u italic-su. Kako da va procesor moe znati , da li to znai podveno
ili naslov knjige ili strani izraz ili tehniki termin? Stavie ih sve na isti tip elementa, kao to je onaj i element. Sada, pretpostavimo da elite
nekoga da izgradi web prigram za vas koji pretrauje sve vae stranice za knjigu naslova. To je sasvim prihvatljivo - to moe biti pretraiva
fakulteta publikacija ili za knjige razgovaranim na stranicama na sajtu. Pretraiva e se pokazati rei i fraze koje ste eleli samo da
naglasite, pomeane sa naslovima. Isto vai i za headere i mnoge druge elemenate. Vi ne treba da koristite obradu teksta da napie HTML
jer HTML je daleko vie nego to artikulisan od obrade teksta. Obrada rei je rasporeivanje rei da imaju odreeni pogled na odtampanoj
stranici. HTML proiruje pisanu interpunkciju da napravi strukturu dokumenta eksplicitnom. Bolje vam je da piete dokumenta u HTML , a
zatim da je va procesor za rei pretvoriti rei obraenog teksta za tampu.
Mnogi komercijalni alati i softverski paketi su dostupni kojima bi trebalo da bude "lako" stvoriti HTML stranice. Ovo ukljuuje Microsoft
FrontPage, Adobe GoLive,, Macromedia Dreamweaver i Netscape Navigator. Svi ovi proizvodi daju ozbiljne probleme, najgore i najzloglasniji
je FrontPage. Oni imaju tendenciju da se uvedu u vaj kod razliite nestandardne, vlasnike stavke koje ine nemoguim da ljudi ne koriste
te proizvode za odravanje dokumenata. Takoe, oni imaju tendenciju da zaostaju iza vremena, a ljudi esto imaju starije verzije ovih alata,
pa kod koji oni proizvode je retko,po sadanjim XHTML standardima. Ukoliko koristite bilo koji od ovih alata, vano da prvo razumete HTML.
Na primer, ako ne poznajete HTML, moete misliti o headeru kao o veem i teem tipu nego kao o posebnom elementu. Ne moete traiti
opcije menija da biste kreirali header, a zavriti sa stvaranjem velikog, teeg tipa. Va softver nije vie u stanju da ita misli nego to je
procesor rei. Pretpostavimo da vam, kasnije, padne na pamet da stavite veliki header preko cele stranice i podredite sve aktuelne headere
na njega? Poto prethodni headeri nisu oznaeni kao headeri, ne moete globalni pretragu i zamenu okrenuti <h1> u <h2> celom
dokumentu. Umesto toga, moraete da proeljate kroz dokumenta red po red, u potrazi za velikim tipom! Ili pretpostavimo elite da
promenite opti stil i da svi headeri budu plavi. Kako se to moe uraditi se headeri ne nalaze u nalaze u odgovarajuem h1 ili drugim
elementima? HTML nije veoma komplikovan ni teak, i uz malo prakse, moda e vam biti lake da ga piete runo nego da nauite sve
menije, trikove i gore jednog proizvoda van ambalae.. Da ne pominjemo da je samostalno pisanje HTML mnogo jeftinije!
Kako da sauvate i pregledate dokument je pokriveno na poetka ovog tutorijala, ali hajde da se podsetimo. Kada ste napisali neki HTML,
sauvajte datoteku pod valjanim imenom, ali sa ekstenzijom fajla .html. The name must contain only characters, numerals, the underscore,
or the hyphen. HTTP, the rules for handlingHTML Ime mora da sadri samo znakove, cifre, donju ili gornju crtu. HTTP, pravila za rukovanje
HTML fajlova na Internetu i u pretraivaima, je stroiji od mnogih operativnih sistema, tako da ne mogu imati nikakve razmake, navodnike,
upitnike, uzvinike, itd u svom imenu datoteke. (Zapravo, razlog za to je da su svi ti simboli rezervisani za posebne namene i funkcije. Znak
pitanja, na primer, dolazi izmeu URL pravilno i stringa ulaznih podataka koji dolaze iz nekog oblika online mree.) Fajl
ekstenzija .html obavetava pretraiva da fajl treba da bude pre pretraen nego downloadovan i sauvan i obavetava operativni sistem da
sa fajlom treba da se bavi pretraiva.
Tada bi trebalo da vidite rezultate svojih kodiranja otvaranjem fajla u vaem pretraivau. Morate prvo da otvorite prrtraiva, a zatim, u
okviru njega, otvorite lokalni fajl (obino preko File Open menu selection). Ako dobijete dijalog koji vas pita da napie adresu u prazno,
pogledaj za "Brose" (Windows) , ili "Locate" dugme na dijalogu. To e otvoriti neku vrstu fajlova u listi i moete ii u potrazi za svojim
dokumentom. Alternativno, moete da pronaete fajl u listi fajlova kao to je Windovs Explorer ili My Documents listi na Windows maini
jednostavno duplim klikom na listu.
To je generalno najbolje uraditi im imate minimalnu napisanu koliinu HTML koje se moe vidjeti u pretraivau - odnosno, im imate svoje
deklaracije na vrhu, otvaranje i zatvaranje oznake vaeg html root elementa, neki head element, a telo sa bar malo teksta u njemu. Neka
va editor teksta radi u isto vreme. Nakon unoenja novog HTML, moete da preete na prozor i videti rezultate. Da biste aurirali prozor
pretraivaa svaki put kada ste sauvali reviziju dokumenta, izaberite View Refresh menu. Tako se va rad odvija u ciklusu: pisanje /
ureuivanje, sauvati, promena prozora, osveiti, vidieti rezultate, promena prozora, pisati / urediti, uvati, zameniti prozore, osveiti,
pogledati rezultate, zameniti prozore... Ovo se zove razvojni ciklus. Da bi razvojni ciklus bio laki za vas, obino moete koristiti preice na
tastaturi za prelaenje izmeu prozora. Na Windows maini se prebacujete izmeu prozora aplikacije drei Alt taster na dole i pritiskom na
taster Tab. Ovaj isti kombinacija radi na Linux mainama sa KDE. Mnogi pretraivai na mnogim operativnim sistemima vam dozvoljavaju da
drite Alt ili Command taster pritisnut dok pritiskom na taster R obavljate refresh ili "reload" stranice.
Nazad na sadraj
Nainite ga validnim!!
Kad ste gotovi sa vaim HTML dokumentom i izgleda kao da je cela struktura dobro definisana po onome to se prikazuje na pretraivau,
pokuajte da dokument napravite validnim. World Wide Web Consortium, takodje znana kao W3C, prua besplatnu upotrebu svojih softvera
za validaciju, koji proveravaju va HTML u potrazi za grekama ili problemima i govore vam gde su oni nastali po broju reda i poziciji
karaktera u redu. W3C HTML Validator moete nai na ovoj adresi: http://validator.w3.org. Pratite instrukcije da biste proverili fajl uitavajui
ga u Validator. Nemojte se nervirati ako imate neke greke (i ja sam ih imao u ovom dokumentu). Moete ih ispraviti i pokuavai iznova sve
dok vam Validator ne estita i ponudi privilegiju ubacivanja malog decalu u va tekst u ou koji je validan sa HTML.
Poto je cela poenta pisanja HTML da ga maine itaju i pretrae, svaki detalj se rauna. Maine su jako glupe i ne znaju kako da se
ponaaju sa pogrenim spelovanjem. Vie oprataju od profesora engleskog. Zato svaki deo source koda mora biti taan. Validator vam
olakava da nadjete greke i da ih ispravite jer vam automatski govori gde su u vaem kodu i ak predlae vam rta bi moglo da im fali. Ovo
je mnogo bolje od gledanja u prazan ekran pitajui se gde je greka koja je naterala va tekst da nestane.
Nazad na sadraj
Skoro svi igrai u drami HTTP transakcije imaju razna tehnika imena. Web adresa se takodje zove URL, ili Uniform Resource Locator,
takodje je znana kaoURI, ili Uniform Resource Identifier. Va pretraiva se takodje zove user agent, poto radi robotski za vas, korisnika.
Ime koje moda najvie podsea je jedno od aliasa za Web server: HTTP daemon. Koliko ja znam Internet ise jo uvek zvanino ne zove
"dark Satanic mill."
Da bi Web server posluio vau stranicu, mora imati pristup njoj i to uglavnom znai da ga morate otpremiti od vae lokalne maine do
remote hosta, i sauvati ga u nekom direktorijumu na remote hostu specijalno odredjenom za server da pogleda u njega kada dodju zahtevi.
Da biste to uradili, poalite va HTML fajl do remote hosta koristei softver koji prati File Transfer Protocol, ili FTP. Po metonymy, ime
protokola se pretvatra u re: you "FTP va fajl do servera." Da biste FTP va fajl, treba vam dozvola da sauvate fajlove za va remote host
Web direktorijum, i dobijate korisniko ime i ifru. Zatim moete koristiti odgovarajuo komercijalni FTP client da, druga vrsta klijenta ne
pretraiva ve program koji zahteva da se remote host konektuje za va lokalni kompjuter i dozvoljava vam da aljete fajlove napred i
nazad izmedju dva kompjutera).Dva popularna FTP klijenta su WS_FTP i CuteFTP (koji vam mogu izgledat jako slatki). Ako nemate dozvolu
da montirate HTML fajlove u remote hostu, moda imate webmaster u kancelariji koji moe to uraditi za vas.
Osim stvaranja novih dokumenata, druga upotreba HTMLa je struktuisanje porcija dokumenata koje moete uneti u polja sa formama za
specijalne namere. Npr. kada stvarate stavku na Blackboard course websajtu, imate opciju ubacivanja tksta kao HTML. Blackboard prua
spoljni HTML code, ukljuujui html elemente otvaranja i zatvaranja tabova, cele glave, ili delova tela. Blackboard ubacuje va novi kod
u telo elementa. U tom sluaju bi trebali da napiete va HTML lokalno sa svim potrebnim okvirima deklaracija tipa
dokumenta, elementi glave i tela, da biste ih validirali. Zatim oznaite kod u telu, kopirajte i ubacite (paste)ga u Blackboard formu polja,
vodei rauna da markirate kutiju za HTML.
Nazad na sadraj.
http://www.w3.org/MarkUp/#tutorials. Ova stranica ima linkove za odline, up-to-date tutorijale i nalazi se na oficijalnom W3C sajtu.
http://www.hclrss.demon.co.uk/demos/wgl4.html. Ova stranica daje veoma temeljnu listu HTML entiteta. Iako se po naslovu ini da
se odnosi samo na Windows maine, to nije sluaj. Samo bazira listu na osnovu sistema Windows karaktera jer su relativno
kompletni, ali numerik i mnemoiki entiteti bi trebali da rade na bilo kom pretraivau koji se sastavlja sa standardima.
http://safari.oreilly.com/main.asp?bookname=htmlpr2. Informacije o HTML & XHTML: Definitivni vodi, peto izdanje, by Chuck
Musciano i Bill Kennedy.
http://htmlhelp.com/faq/html/. Lista esto postavljanih pitanja ("FAQ") koja pripada comp.infosystems.www.authoring.html, Usenet
newsgroup posveeno pretragama i diskusijama o HTML i XHTML.
Nazad na sadraj
Zahvalnost
elim da iskaem veliku zahvalnost uesnicima na Usenet
newsgroups comp.infosystems.www.authoring.html i comp.infosystems.www.authoring.stylesheets na njihovim komentarima,sugestijama,
sugestijama i ispravkama na ovom dokumentu dok se razvijao (i dalje se razvija). Dali su mi jako veliko iskustvo prilikom vrenja pregleda i
bili su mi dobar izvor tehnikih informacija. Uvek se sve mora proveriti sve to se nalazi napisano protiv oficijalnih dokumenata proglaeno
od strane World Wide Web Consortium.
_______________________________________________________________________________________________________________
01 - Osnove HTML-a
ta je HTML?
Prvi je start tag (opening tag), a drugi end tag (closing tag)
Primer:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>...</h1>
<p>...</p>
</body>
</html>
<h1>Naslov</h1>
Veza moe pokazivati na bilo koji resurs na netu - HTML stranu, sliku, zvunu ili video datoteku...
<a name="mesto">neto</a>
Slanje mail-a
href="mailto:ime@domen.com?Subject=PredmetPoruke"
HTML slike (Images)
Browser uklanja dodatne razmake i dodatne prazne linije u toku prikazivanja strane
Bilo koji broj praznih linija, kao i bilo koji broj razmaka se raunaju kao jedan razmak
HTML formatiranje teksta
<sub> - indeks
<sup> - eksponent
<var> - promenljiva
<abbr> - skraenica
<address> - adresa
<cite> - citat
<dfn> - definicija
HTML zaglavlje (Head)
<head> je kontejner za elemente zaglavlja - <title>, <style>, <meta>, <link>, <script>, <noscript> i <base>
<title> - Definie naslov dokumenta koji se koristi i za bookmark i prikaz rezultata na pretraivau
<meta> - Razni dodatni podaci o stranici - description, keywords, author, last modified
Mogu se primeniti direktno na HTML element korienjem style atributa ili indirektno pomou posebne CSS datoteke
Primeri:
<table> - za tabelu
<tr> - za red
<td> - za eliju
Sadraj elije moe biti tekst, slike, liste, pasusi, forme, horizontalne linije, tabele...
Atribut type:
square - kvadrat
circle - krug
disc - disk
Atribut type:
A - velika slova
a - mala slova
I - rimski brojevi
<dt> - pojam
Ugnjedene liste
HTML forme (Forms)
Sadre polja (ili dugmad) koja korisnik moe da popuni traenim podacima ili uini izbor izmeu vie ponuenih opcija i unetu
informaciju vrati vlasniku stranice
Forma je oblast koja sadri elemente forme koji omoguavaju korisniku unos informacija:
itd.
Padajua lista
<select name="ime">
Reset dugme
<iframe src="/URL"></iframe>
rect pravougaonik
circle krug
poly poligon
rect x1,y1,x2,y2
circle x,y,radius
poly x1,y1,x2,y2,..,xn,yn
à - a
á -
â - a
ã - a
Ò - O
Ó - O
Ô - O
Õ - O
HTML4
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
HTML5
<meta charset="UTF-8">
HTML Uniform Resource Locator - URL
scheme://host.domain:port/path/filename
path - Putanja na serveru (ako nije navedeno dokument je u korenom direktorijumu sajta)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body>
Sadrzaj dokumenta...
</body>
</html>
U odnosu na HTML4 neki elementi su ukinuti, a dodato je dosta elemenata za grafiku, medije, forme, geografsku poziciju
korisnika...
<section> - Odeljak u dokumentu, tematski deo dokumenta, obuno ima svoj naslov
<article> - Nezavistan sadraj na stranici (post na forumu, blog post, vest, komentar...)
<figure> - Poseban sadraj unutar glavnog sadraja (ilistracija, dijagram, fotografija, listing...)
<time> - Datum/vreme
header, section, footer, aside, nav, main, article, figure { display: block; }
<script src="/html5shiv.js"></script>
<![endif]-->
HTML5 Shiv se preuzima sa code.google.com/p/html5shiv/
<datalist> - Lista predefinisanih vrednosti za polje za unos, omoguava automatsko kompletiranje unosa
<input list="browsers">
<datalist id="browsers">
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
Za <form> element:
autocomplete - Popunjavanje na osnovu ranije unetih vrednosti, vrednost je on ili off
novalidate - Logiki atribut, ako je naveden ne radi se validacija vrednosti unetih u polja
Za <input> element:
autocomplete - Popunjavanje na osnovu ranije unetih vrednosti, vrednost je on ili off, radi za text, search, url, tel,
autofocus - Logiki atribut, ako je naveden polje automatski dobija fokus po uitavanju stranice
formaction - Definie akciju razliitu od podrazumevane akcije za formu, radi za type="submit" i type="image"
<input type="submit" formaction="demo_admin.asp" value="Submit as admin">
formenctype - Definie vrstu kodiranja rezliitu od podrazumevanog kodiranja za formu, radi za type="submit" i
formmethod - Definie metod za slanje podataka sa forme razliit od podrazumevanog metoda za formu, radi za
type="submit" i type="image"
<input type="submit" formmethod="post" formaction="demo_post.asp" value="Submit using POST">
formtarget - Navodi gde e se prikazati rezultat slanja podataka sa forme razlito od podrazumevanog za formu,
height and width - Definie visinu i irinu u <input type="image"> radi rezervisanja mesta za sliku pri uitavanju
min i max - Definiu najmanju i najveu dozvoljenu vrednost za polje za unos, rade za number, range, date,
datetime, datetime-local, month, time i week
multiple - Logiki atribut, ako je naveden korisnik moe da unese vie od jedne vrednosti u polje za unos, radi za
email i file
placeholder - Savet o vrednosti koja se unosi, stoji u polju pre unosa vrednosti, radi za text, search, url, tel, email i
password
step - Korak pri odabiru vrednosti, radi za number, range, date, datetime, datetime-local, month, time i week
Canvas
Crtanje na kanvasu
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0,0,150,75);
</script>
Linija
var c = document.getElementById("myCanvas");
Krug
var c = document.getElementById("myCanvas");
Ispunjeni tekst
var c = document.getElementById("myCanvas");
Konturni tekst
var c = document.getElementById("myCanvas");
Linearni gradijent
var c = document.getElementById("myCanvas");
Radijalni gradijent
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
Slika na kanvasu
var c = document.getElementById("myCanvas");
Video
Audio
<audio controls>
<source src="/horse.ogg" type="audio/ogg">
<source src="/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
Geolokacija
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
}
</script>
<img draggable="true">
ev.dataTransfer.setData("Text", ev.target.id);
}
ev.preventDefault();
Web Storage
U HTML5 web stranice mogu da uvaju podatke lokalno u korisnikom pregledau, ranije su se koristili kolaii za to
Objekat localStorage
localStorage.setItem("lastname", "Smith");
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
localStorage.lastname = "Smith";
document.getElementById("result").innerHTML = localStorage.lastname;
localStorage.removeItem("lastname");
Objekat sessionStorage
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
sessionStorage.clickcount + " time(s) in this session.";
Application Cache
Omoguava da se sauva offline verzija web aplikacije kreiranjem cache manifest datoteke
Web Workers
Web worker je JavaScript koji radi u pozadini i tako ne umanjuju performanse web stranice
Primer:
<body>
Server-Sent Events
Plug-ins
Pomone aplikacije su mali programi koji dodaju neku funkcionalnost pregledau - npr. Java apleti i Adobe Flash Player
<object> element
Tekst koji se navede izmeu tagova se prikazuje ako pregleda ne podrava <object>
<embed> element
Ne zatvara se u tagu
Sounds / Audio
Videos
YouTube Videos
YouTube iFrame
<iframe width="420" height="345" src="http://www.youtube.com/embed/XGSy3_Czz8k"></iframe>
YouTube Embedded
<embed width="420" height="345" src="http://www.youtube.com/v/XGSy3_Czz8k" type="application/x-
shockwave-flash">
HTML Forme
Forme (form)
Na web sajtu, forma je osnovni nain komunikacije sa korisnicima. Ispod je dat izgled jedne tipine forme na sajtu.
Forma je sastavljena iz razliitih polja za unos podataka i, po pravilu, dugmeta na dnu koje slui da se uneeni podaci
poalju. Podaci mogu biti poslati na mail ili uskladiteni u bazu podataka.
Osnovni tag za kreiranje formi naziva se form. Njegova uloga je da sve podatke koje korisnik unese u okviru forme
posmatra kao celinu i kao takve ih dalje procesuira.
Nije mogue ugnjezditi jednu formu unutar druge.
Osnovni tagovi forme su input tagovi i namenjeni su unoenju podataka od strane korisnika. Postoji nekoliko tipova input
polja, zavisno od vrste podataka koji se unose.
Tako postoje input polja namenjena unoenju kraeg teksta (ime, prezime, adresa), brojnih vrednosti (telefon, matini
broj), password polja, polja za unos vee koliine teksta. Pored ovih, postoje i input polja specijalne namene kao to su
izbor jedne od ponudjenih opcija u vidu kruia na koje korisnik klike, ekiranje jedne ili vie opcija od ponudjenih, itd.
Na kraju, poseban tip input taga je i dugme koje slui za slanje podataka nakon to korisnik pravilno popuni formu.
Sada emo prikazati jednu jednostavnu formu u koju korisnik unosi svoje ime i prezime. Forma izgleda ovako
<form method=get action=procesuiraj.php>
Ime: <input type=text name=ime placeholder=unesite vase ime><><br>
Prezime: <input type=text name=prezime placeholder=unesite vase ime><>
</form>
form bie
Tekst Ime: koji stoji ispred input taga nije neto to program gleda kada procesuira formu, tj. za dalje procesuiranje
unetih podataka vaan je nameatribut. U naem sluaju vrednost atributa
Dalje, u oba input polja nalazi se atribut koji definie tip polja. U naem sluaju, oekujemo da korisnik unese krai niz
karaktera pa emo oba polja definisati kao type=text.
Ovo znai da je u njih mogue uneti neki od karaktera definisanih u ASCII ili UTF-8 standardu ukljuujui I naa slova.
Atribut placeholder predstavlja tekst koji se pojavljuje u delu za unos podataka i ostaje prikazan do trenutka kada
korisnik klikne u to polje i pone da unosi podatke. On ustvari predstavlja dodatni opis kakav tip podataka oekujemo.
ta nedostaje ovoj formi?
Mogunost da nakon unoenja podataka, o tome obavestimo pretraiva. Ta akcija oliena je u dugmetu koje se nalazi
pri dnu svake forme. Kod koji nam je u ovu svrhu potreban je
<input type=submit value=Submit>
Sada e kompletiran kod forme izgledati kao
<form method=get action=procesuiraj.php>
Ime: <input type=text name=ime placeholder=unesite vase ime><br>
Prezime: <input type=text name=prezime placeholder=unesite vase ime>
<input type=submit value=Submit>
</form>
name=prezime Petrovic.
Nakon klika na dugme Submit, pretraiva poziva fajl definisan u action atributu (u naem sluaju procesuiraj.php) a
vrednosti dobijene od korisnika zapisuje u nastavku adrese u sledeem obliku:
www.primer.rs/folder_putanja/proba.html ?ime=Milan&prezime=Petrovic
Ta operacija naziva se
HTTP GET upit i podrazumeva da pretraiva, nakon imena stranice na koju link upuuje,
doda znak pitanja (?) I nakon njega vrednosti iz input atributa name (u ovom sluaju atribut ime sa vrednou Milan i
atribut prezime sa vrednou Petrovic) . U naem sluaju, taj niz izgleda ovako:
?ime=Milan&prezime=Petrovic
Znai, znak pitanja, pa vrednost atributa prvog input polja name, zatim znak jednako (=) iza koga sledi uneto ime. Nakon
ispisanih podataka iz prvog input polja sledi znak (&) koji se automatski dodaje ukoliko sledi jo jedan podatak (u naem
sluaju to je atribut prezime) u ovom sluaju prezime=Petrovic
U sluaju da korisnik u polje ime ne unese nita, adresna linija bi izgledala ovako:
www.primer.rs/folder_putanja/proba.html ?ime=&prezime=Petrovic
ili za sluaj da korisnik nije nita uneo ve kliknuo na dugme Submit :
www.primer.rs/folder_putanja/proba.html ?ime=&prezime=
Ono to se kasnije deava je da navedeni file (procesuiraj.php) preuzima ove podatke i sa njima manipulie u smislu
skladitenja u bazu podataka, ispisa na ekranu, slanja na definisanu mail adresu, itd.
Pored osnovnog input taga tipa text, postoje i drugi atributi. Da bi ih lake objasnili, pogledaemo primere u nastavku.
pol
SELECT
Pored input polja, u formama se mogu nai i select tagovi. Unutar select taga nalaze se option tagovi koji ustvari
predstavljaju opcije padajueg menija kreiranog tagom
select.
<select name=kola>
<option value=volvo>Volvo</option>
<option value=saab>Saab</option>
<option value=fiat>Fiat</option>
<option value=audi>Audi</option>
</select>
Na kraju, treba napomenuti da postoji ekvivalent input polju tipa submit koje slui za slanje podataka forme. Ogleda se u
tagu pod imenom <button>. Razlika izmedju ova dva je to je unutar taga button mogue definisati html, ubaciti sliku i
tekst, itd. Znai,omoguava bolju kontrolu izgleda samog dugmeta.
<body>
<form method=get enctype=text/plain action=posaljimail.php>
Ime<input type=text name=ime><br>
Prezime<input type=text name=prezime><br>
Email adresa<input type=text name=email><br><br>
Izaberite pol<br>
<select name=pol>
<option name=muski>Muski</option>
<option name=zenski>Zenski</option>
</select><br><br>
Zelim da mi periodino saljete vesti<br>
Da<input type=radio name=vesti value=Da>
Ne<input type=radio name=vesti value=Ne><br><br>
Oblast koja vas interesuje?<br>
HTML<input type=checkbox name=oblast[] value=HTML><br>
CSS<input type=checkbox name=oblast[] value=CSS><br>
JavaScript<input type=checkbox name=oblast[] value=JavaScript><br>
WordPress<input type=checkbox name=oblast[] value=Wordpress><br><br>
<input type=submit value=Send>
</form>
</body>
</html>
PHP dokument pod imenom posaljimail.php ima sledeu sintaksu:
<?php
$ime=$_GET[ime];
$prezime=$_GET[prezime];
$email=$_GET[email];
$pol=$_GET[pol];
$vesti=$_GET[vesti];
$oblast=$_GET[oblast];
$broj=count($oblast);
$poruka=Ime: .$ime.'<br>';
$poruka .=Prezime: .$prezime.'<br>';
$poruka .=Email: .$email.'<br>';
$poruka .=Pol: .$pol.'<br>';
$poruka .=Vesti: .$vesti.'<br>';
$poruka .=Oblast: ;
for($i=0;$i<$broj;$i++){
$poruka .=$oblast[$i].,;
}
$headers = From: bratimir@it4you.rs . \r\n .
$headers .= MIME-Version: 1.0 . \r\n;
$headers .= Content-type:text/html;charset=UTF-8 . \r\n;
mail(office@it4you.rs,Poruka sa sajta,$poruka, $headers);
?>
Tagovi koje smo pominjali do sada bili su podeljeni po nameni. Kako se budemo bliili kraju HTML obuke, sve e nas
vie zanimati stilizovanje unetih slika i teksta. U tom cilju potrebno je pojasniti ta su to
Ono to je izuzetno vano, kasnije, kada budemo radili formatiranje (stilizovanje elemenata) je injenica da inline
elementi ne mogu imati irinu i visinu. Njih je mogue staviti unutar block elemenata ili ih transformisati u blok element i
na taj nain upravljati njihovim dimenzijama.
Neki od block tagova koje smo obradjivali su <h1> do <h6>, <p>, <table>, <div>, itd.
Sa druge strane, inline tagovi koje smo pominjali: <span>, <img>, <a>, itd.
Blok elementi su elementi koji podrazumevano zauzimaju celu irinu web strane
(prozora pretraivaa) tako da elementi navedeni u html dokumentu posle njih poinju u
novom redu.
Inline elementi su elementi koji se ne zavravaju na kraju reda ve je odmah nakon
zavretka njihovog sadraja mogue dodati novi inline element. Iz tog razloga, mogue
je u jednom redu imati vie inline elemenata. Takodje, mogue je inline elemente
grupisati unutar blok elemenata.
Svaki od elemenata na web strani ima neke podrazumevane parametre za prikaz. Tako i block elementi (h1-h6,p,itd.)
podrazumevano zauzimaju kompletno raspoloivu irinu prozora pretraivaa (tanije elementa roditelja), nezavisno od
toga da li je njihov sadraj manji od duine reda koji se moe prikazati u prozoru pretraivaa ili ne.
Nasurot njima, inline elementi (span, a, img) po irini zauzimaju samo onoliko prostora koliko im je neophodno za prikaz
sadraja koji se nalazi u okviru njih. Ukoliko je njihov sadraj vei od irine prozora pretraivaa, delovae da se
ponaaju kao block elementi, iako to nisu.
Da bi razumeli, pogledaemo primere za neke od pomenutih elemenata.
Ovde je zbog lakeg razumevanja korien CSS atribut za boju pozadine kako bi jasnije videli granice elemenata.
Pravilo je da inline elementi mogu biti sadrani unutar block elemenata, dok
obrnuto ne vai!
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Pozicioniranje elemenata kreiranjem DIV-ova</title>
<style>
body{color:white;font-size:120%;}
h1{background-color:red;}
p{background-color:pink;}
span{background-color:grey;}
</style>
</head>
<body>
<h1>Naslov kreiran koriscenjem h1 taga</h1>
Kao to vidimo, u prvom redu nalazi se block element (h1) koji je zauzeo kompletno raspoloivu irinu prozora
pretraivaa iako je njegov sadraj dosta krai.
Ispod njega, prikazan je block element p koji takodje, nezavisno od sadraja, zauzima celokupnu irinu.
U treem redu nalazi se block element (p) unutar koga se nalazi span (inline element) sa pozadinskom sivom bojom. Vidi
se da, obzirom da zauzima samo minimalno potreban prostor za prikaz sadraja, ne remeti izgled block taga p unutar
koga se nalazi. Ovo
DIV tag je specijalna vrsta taga. On nema semantiko znaenje poput p, h1 ili img taga ve predstavlja kontejner u koji
se smeta sadraj koji smo pominjali: tekst, slike, video, vie sekcija teksta ili slika.
On slui kao omota odredjenog sadraja i slui da taj sadraj kao celinu pozicionira na web strani.
Kako bi ovo pojasnili pogledaemo primer gde NEMAMO primenjene div tagove.
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Poravnanje teksta</title>
</head>
<body>
<h1>Naslov celine 1</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
<h1>Naslov celine 2</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
<h1>Naslov celine 3</h1>
Ako bi sada oko svake celine (pod celinom podrazumevamo naslov i pridruene paragrafe) primenili div tagove, dobili bi
celine nad kojima moemo da vrimo razliite manipulacije u smislu pozicioniranja, dimenzionisanja, dodele pozadinskih
boja, itd. Tada bi kod mogao da izgleda ovako (za sad ne obraajte panju na css koji se nalazi u okviru head sekcije
dokumenta)
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Poravnanje teksta</title>
<style>
<div id=prvi>
<h1>Naslov celine 1</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
</div>
<div id=drugi>
<h1>Naslov celine 2</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
</div>
<div id=treci>
<h1>Naslov celine 3</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
</div>
<div id=cetvrti>
<h1>Naslov celine 4</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
</div>
</body>
</html>
a prikaz u pretraivau
Kao to vidite na slici, <table> tag je tu da definie granice neke tabele. <tr> je tag koji definie red tabele. Tag <td>
namenjen je definisanju pojedinane elije.
Sada emo kreirati jednostavan primer tabele i objasniti kako stvari funkcioniu.
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<table border=1>
<tr>
<td>Mesec</td>
<td>Usteda</td>
</tr>
<tr>
<td>Januar</td>
<td>100 din</td>
</tr>
<tr>
<td>Februar</td>
<td>80 din</td>
</tr>
</table>
</body>
</html>
Prvi zanimljiv tag je table i on oznaava poetak tabele. Ispod njega definiemo prvi red. U njemu smo definisali
border=1 atribut kako bi lake videli granice pojedinih elemenata. Znai imamo prvi otvarajui <tr> tag koji govori
pretraivau da ono to sledi unutar njega predstavlja prvi red tabele. Odmah nakon otvaranja <tr> taga imamo
Dalje otvaramo drugi red, ponovo piui <tr> tag iza koga otvaramo prvu eliju drugog reda sa tekstom
Januar i tako
dalje dok na kraju ne zavrimo sa zatvaranjem poslednjeg reda tagom </tr> i konano samu tabelu tagom </table>
Izgled u prozoru pretraivaa je ispod.
Ukoliko elite da okvire predstavite kao jednostruke linije u crnoj boji, u okviru taga table dodajte dva atributa cellpadding
i cellspacing. Ispod je table tag sa unetim izmenama.
<table cellpadding=0 cellspacing=0 border=1>
Sada emo uraditi malo sloeniji primer tabele. Izgled tabele na slici ispod.
Prvo to je btino primetiti da imamo 3 elije koje se proteu na vie od jednog reda, tj. kolone. To su elije obeleene
brojevima 1,2 i 3.
elija broj 1 i 2 proteu se na dva reda dok se elija 3 protee kroz 2 kolone. Da bi mogli da kreiramo ovakvu tabelu,
moramo koristiti attribute colspan (za elije koje se proteu u vie kolona) i rowspan (za elije koje se proteu u vie
redova).
Prvo to treba da uradimo je da kreiramo otvarajui i zatvarajui <table> tag. Unutar tabele imamo dva reda. Tu nema
nita novo u odnosu na prethodni primer.
Kako definiemo ukupan broj kolona tabele? Tako to gledamo red u kome ima najvei broj elija. U naem primeru
unutar prvog reda imamo 5 elija, a drugog 4. Ovde je presudno primetiti da iako se elije 1 i 2 ne zavravaju u ovom
redu, one u njemu poinju. elije
Prva elija u prvom rede normalno se kreira otvarajuim i zatvarajuim <td> tagom. Iza toga sledi kod koji definie eliju
broj 1. Unutar otvarajueg taga definiemo njenu razliitost na taj nain to navodimo atribut rowspan i broj redova kroz
koji se protee, u ovom sluaju 2. To na kraju izgleda ovako:
<td rowspan=2></td>
Sledee dve elije u prvom redu nemaju nikakvih posebnosti, znai definie se samo otvarajui i zatvarajui td tag.
Poslednja elija takodje pripada prvom redu jer u njemu poinje. I u ovom sluaju kodu elije dodaemo atribut
rowspan=2.
U drugom redu treba da definiemo samo dve elije. Zato?
Iako u njemu vidimo da postoje 4 elije, dve od njih ne poinju u tom redu i ve su definisane sa rowspan parametrom pa
njih ne navodimo. Pretraiva e ih, imajui rowspan atribut u vidu, samo produiti u sledei red. Poenta prie je da
pretraiva ovaj kod razume.
Znai, prvo definiemo prvu eliju u drugom redu uobiajenim postupkom. Drugu eliju koja se protee na dve kolone,
definiemo tako to u otvarajuem td tagu ovog puta definiemo atribut colspan poto se elija protee na dve kolone,
to na kraju izgleda: colspan=2 a ceo kod elije
<td colspan=2></td>
Kompletan kod ( sa ubaenim tekstom u elijama) dat je ispod:
<table border=1 cellpadding=0 cellspacing=0>
<tr>
<td>123</td>
<td rowspan=2>123</td>
<td>abc</td>
<td>123</td>
<td rowspan=2>abc</td>
</tr>
<tr>
<td>321</td>
<td colspan=2>abc</td>
</tr>
</table>
Izgled u prozoru pretraivaa
Jedino to jo nismo objasnili je izgled otvarajueg taga table. U njemu postoje tri atributa koje smo dodali. Border
oznaava dodavanje okvira na sve elije, cellpading i cellspacing imaju vrednost 0 kako tabela ne bi imala duple linije
ivica. Probajte da ih izostavite i pogledajte razliku u prozoru pretraivaa.
Ovim je objanjenje primera zavreno.
Sadraj elije tabele moe biti tekst, slika, video zapis ili nova ugnjezdjena tabela. Ovo je sve to za sada treba da znate
o tabelama. Njih je naravno, kao i ostale elemente, mogue stilizovati CSS-om.
Treba napomenuti da su se nekad tabele koristile za definisanje izgleda web strana. Danas ete retko naii na sajtove
ija je struktura i raspored elemenata na stranama definisan tabelama jer su njihovu ulogu preuzeli <div> tagovi (o njima
kasnije). Ono gde se jo uvek zadralo stilizovanje putem tabela su HTML emailovi, tj. kod mailova koji sadre formatiran
tekst i slike. Ovde, zbog razliitog ponaanja email klijenata, jedini sigurni nain da se obezbedi ispravno formatiranje
lepo ukraenog maila je u sluaju korienja tabela u tom cilju.
Veba:
Napraviti tabelu koja izgleda kao na slici dole:
Reenje zadatka:
<table>
<tr>
<td colspan=2 rowspan=2>Rezultati istraivanja</td>
<td colspan=3>Godite</td>
</tr>
<tr>
<td>12 do 25 god</td>
<td>26 do 40 god</td>
<td>Preko 40 god</td>
</tr>
<tr>
BASE i U tag
<base> tag
Base tag je tag koji se smeta odmah na poetku head dela HTML koda, najbolje odmah ispod otvarajueg head taga
kako bi svi ostali tagovi mogli da ga koriste.
Kada na jednoj web strani ima puno linkova sa istim apsolutnim putanjama, vrlo je praktino definisati base tag kako bi
se izbegla ponavljanja pri definisanju linkova na web strani. Zamislite da imamo 10 slika na jednoj web strani i da je
potrebno definisati njihove href attribute sa apsolutnim putanjama 10 puta. Dodatno, zamislite da sajt razvijamo na test
server/domenu i da nakon to predjemo na produkcioni server, treba promeniti sve te linkove. Umesto 10 puta,
promeniemo samo base href atribut i time zavriti posao.
Evo primera koda cele HTML strane gde se base tag NE koristi:
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<a href=http://www.primer.rs/probnidirektorijum/strana1.html target=_blank>Strana1</a>
<a href=http://www.primer.rs/probnidirektorijum/strana2.html target=_blank>Strana2</a>
<a href=http://www.primer.rs/probnidirektorijum/strana3.html target=_blank>Strana3</a>
</body>
</html>
Ako bolje pogledate, videete da za svaki link piemo kompletnu URL putanju. U sluaju da koristimo base atribut, u
svim <a> tagovima stavili bi samo imena dokumenata (strana1.html, strana2.html i strana3.html, respektivno) Primer
koda sa ubaenim <base> tagom i izmenjenim linkovima dat je ispod:
<!DOCTYPE html>
<html>
<head>
Tag u
<u> tag se koristi za podvlaenje teksta, jedne ili vie rei. Zbog usvojenog ponaanja linkova gde je u svesti ljudi da
podvuena re predstavlja link, treba je oprezno koristiti, tj. koristiti u specijalnim sluajevima.
ako vam je najbitnije da sve boje budu ispravno prikazane, koristite jpg
ukoliko vaa slika ima pozadinu koja je transparentna, koristite png ili gif
ukoliko vaa slika ukljuuje animaciju, jedini izbor je gif.
alt=Moja slika je sada ve obavezan atribut img taga ija je namena viestruka. Prva i osnovna je da za sluaj da slika
ne bude pronadjena, tekst unutar alt atributa bude ispisan na mestu predvidjenom za sliku. Drugi, mozda jo vaniji je
to pretraivai koriste tu informaciju kako bi mogli da indeksiraju slike koje se na sajtu nalaze.
Iako je najbolja praksa da se izmena parametara prikaza prepusti CSS-u, ovde emo ipak napomenuti mogunost
stilizovanja unutar img taga html atributima. Naime, ukoliko elimo da naa slika bude prikazana kao manja u odnosu na
originalnu (irina 200px i visina 300px), u kodu emo koristiti slubene rei
sledei nain:
height za visinu, visina slike e biti proporcionalno smanjena, tj. prikazana u veliini od 200px
po visini.
Primeujete da ovde nismo stavljali dimenziju iza broja. To je zbog toga to je podrazumevana vrednost koju pretraiva
dodaje u pikselima, tj. px.
<a id=top></a>
Sadrzaj<br>
<a href=#stavka1>Stavka 1</a><br>
<a href=#stavka2>Stavka 2</a>
<a id=stavka1></a>
<h1>Stavka 1</h1>
<a id=top></a>
koji govori pretraivau gde elite da odete nakon to korisnik klikne na link naveden dole u tekstu <a href=#top>Idi na
vrh</a>
Referenciranje tano odredjene pozicije na drugoj strani ovo je specijalan sluaj u kome
klik na tag otvara drugu stranu I skroluje sadraj na mesto na kom se nalazi link sa id-jem odredjeni_deo.
<a href=druge_strana.html#odredjeni_deo>Link</a>
Na mesto na koje elimo da odemo, umee se tag
<a id=odredjeni_deo></a>
Logiko povezivanje ova dva taga u celinu se, kao i u prethodnom sluaju, deava preko definisanog imena, tj vrednosti
atributa id.
U prolosti je umesto atributa id bio korien atribut name ali od HTML verzije 5 to vie nije dozvoljeno, tj. koristi se
iskljuivo atribut id.
Referenciranje maila ova modifikacija a taga koristi se u situaciji kada ne elimo da adresa bude javno
prikazana u okviru web strane.
Klik na ovaj link otvara predefinisanu mail klijent aplikaciju na raunaru (na Windows platformi to je obino Outlook) i
polje To:novog maila se automatski popunjava mail adresom zadatom u href atributu (u ovom
sluaju bratimir@it4you.rs)
Za sluaj da, pored popunjavanja polja primaoca i Subject: polje maila elimo da popunimo, sintaksa izgleda ovako:
<a href=mailto:bratimir@it4you.rs?subject=Poruka%20sa%20sajta>Pisite
nam</a>
Tada e se, nakon klika na link, otvoriti nova mail poruka sa popunjenim poljem primaoca a Subject polje bie popunjeno
tekstom Poruka sa sajta. Ovde primeujete specijalan znak %20 koji ustvari predstavlja HTML kod za prazno mesto. U
sluaju da space ne napiete na ovaj nain ve kao Poruka sa sajta moe se desiti da neki mail klijenti to protumae
pogreno. Stavljanje %20 umesto praznine osigurava ispravnost sintakse.
Referenciranje dokumenata/aplikacija
Ukoliko elite da korisnik klikom na link download-uje ili otvori file koji se nalazi na serveru, najsigurniji nain je kreiranje
dokumenta u pdf formatu jer veina pretraivaa ima ugradjen Adobe Acrobat Reader engine pa moe da otvori
dokument unutar prozora pretraivaa. Ukoliko elite da korisnik dobije mogunost uvanja umesto automatskog
otvaranja, najsigurniji nain je da fajl upakujete kao .zip arhivu i linkujete nju. Svi ostali naini u nekim pretraivaima
rade, a u nekima ne.
Ovim smo iscrpeli sve mogue scenarije koje ete sretati u praksi.
Pretpostavljam da e neki od vas pomisliti kako je prilino dosadno kliktati na tekst i da je mnogo uzbudljivije kliknuti na
sliku. Ovo nas dovodi do taga <img> .
dva a taga. Prvi tag izgleda vrlo slino po strukturi ve pomenutim sluajevima s tom razlikom to href atribut poinje
znakom # koji oznaava da je link na koji elimo da odemo na istoj HTML strani.Ovde se ne radi o tome da e klikom na
link biti uitana druga web strana, ve e praktino, klik na link izazvati skrolovanje sadraja strane do mesta na kome se
nalazi drugi a tag.
Sintaksa tog drugog taga je razliita u odnosu na prethodno prikazanu. Razlika je u tome to taj a tag nema
href atribut
da izmedju otvarajuceg i zatvarajueg dela nema nikakvog sadraja). Ovaj kod se umee na mesto na koje elimo da
pretraiva dodje skrolovanjem sadraja kada se klikne na link prikazan ispod.
<a id=stavka1></a>
<h1>Stavka 1</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
<a id=stavka2></a>
<h1>Stavka 2</h1>
<p> Lorem Ipsum , ,
.
Lorem Ipsum ,
. Lorem Ipsum
, .
200 Lorem Ipsum
. Lorem Ipsum ,
.</p>
</body>
</html>
<a
id=stavka1></a> koje slui kao odrednica mesta na koje dolazite nakon to kliknete na Stavka 1. Isto se
deava i u sluaju klika na Stavka 2
bi izgledao ovako:
<img src=http://www.primer.rs/slike/slika1.jpg alt=Prva slika>
Ovo je najjednostavniji primer. Sa druge strane ovo moe napraviti problem. Zato? Iz prostog razloga to u sluaju da je
ovo test site a da se kasnije ceo sajt prebaci na drugi domen, veza ka svim slikama bi morala da se redefinie tako da
odraava novu strukturu. U tom sluaju svi linkovi bi morali da se menjaju, jedan po jedan.
Ovo se naziva apsolutna putanja. Preostali primeri se zbirno nazivaju
relativnim putanjama.
Sledei primer je kada se slika nalazi u istom direktorijumu gde i HTML dokument iz koga se slika poziva.
<img src=slika1.jpg alt=Prva slika>
Navodjenje samo imena slike slika1.jpg govori pretraivau da na ovo mesto postavi sliku sa tim imenom koja se
nalazi u istom direktorijumu (folderu) u kome je i dokument iz koga se poziva.
Trei primer je za sluaj da su sve slike smetene u folder
HTML linkovi
LINKOVI <a> tag
a tag je tag koji nam omoguava da prelazimo sa stranice na stranicu, sa sajta na sajt itd. Svo kretanje unutar stranica
obezbedjuje ovaj tag. Bez njega ne bi bilo weba i svakoj strani bi pristupali tako to bi adresu svake strane morali da
kucamo u adresnoj liniji pretraivaa i znamo napamet. Otuda i njegova izuzetna vanost.
Najosnovniji oblik a taga prikazan je u kodu ispod:
<a href=http://www.google.com>Klikni da odes na Google</a>
Pre nego ponemo sa objanjenjem prikazanog koda, pogledajmo kako ovaj kod izgleda u tekst editoru a kasnije i u
pretraivau:
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<a href=http://www.google.com>Klikni da odes na Google</a>
</body>
</html>
target.
Njegova vrednost _blank upravo govori pretraivau da otvori stranicu u novom tabu. Izmenjen kod izgleda ovako:
<a href=http://www.google.com target=_blank>Klikni da odes na Google</a>
Ranije se umesto _blank koristila vrednost _new ali je ona sada prevazidjena.
Prema tome gde link moe da nas odvede nakon to kliknemo na tekst linka, razlikujemo nekoliko sluajeva.
Referenciranje druge strane unutar istog sajta je sluaj u kome se u href atributu navodi samo
putanja, tj. ime html dokumenta (strane) na koju elimo da odemo. U naem primeru, ta strana se zove
druga_strana.html.
Za sluaj da se predmetna strana hijerarhijski ne nalazi u istom folderu ve u podfolderu u odnosu na fajl iz koga je
prvi.html, href
href=../druga_strana.html
<a href=../druga_strana.html>idi na drugu stranu</a>
Ovo je moda idealno mesto da napravimo digresiju i objasnimo kako se navode
putanje, bilo da je u pitanju link ili slika, ili ve neto tree.
atribut imao bi sledecu putanju
Gnezdjenje tagova
U prethodnom primeru imali smo sluaj da se jedna lista nalazi unutar druge. Sada emo objasniti generalno pravilo
kada je jedan element unutar drugog u HTML strukturi strane.
Postoji izriito pravilo da tagovi moraju biti ugnjezdjeni unutar drugih. ta to znai? Pogledajmo jednostavan primer
ispravno ugnjezdjenih tagova:
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<p>HTML sintaksa je prilicno laka. <i>Osnovno sto treba nauciti je da <strong>tagovi unutar drugih moraju i da pocnu i
da se zavrse.</strong></i> Pogledajte primer na sledecoj strani. Unutar njega <a href=http://www.google.com>naci
cete adekvatan primer</a></p>
</body>
</html>
Svi tagovi poinju i zavravaju se po principu ugnjezdjenja. Znai, pravilo glasi da
tag koji se otvori unutar drugog taga mora biti zatvoren pre nego se taj drugi tag
zatvori. Ili, tagovi unutar drugih tagova moraju da se otvore i zatvore pre
zatvaranja taga u okviru koga se nalaze.
Ako pogledamo bitan deo koda iz primera iznad:
<p>HTML sintaksa je prilicno laka. <i>Osnovno sto treba nauciti je da <strong>tagovi unutar drugih moraju i da pocnu i
da se zavrse.</strong></i> Pogledajte primer na sledecoj strani. Unutar njega <a href=http://www.google.com>naci
cete adekvatan primer</a></p>
vidimo da u odnosu na otvarajui tag <p>, svi ostali tagovi (<i>,<strong> i <a>) poinju i zavravaju pre zatvarajueg
</p> taga. Ako krenemo dublje, videemo da se <strong> tag otvara i zatvara unutar <i> taga.
Ovo naravno vai i za sve tagove koji se nalazi unutar HTML dokumenta, pa se na primer body tag otvara i zatvara
unutar html taga, title i meta tag unutar head taga, itd.
Ovo je naroito vano pravilo, koje, u sluaju mnogo sloenijeg koda od prikazanog, zna da napravi veliki problem jer se
greka tee nalazi.
Primer nepravilnog gnezdjenja prikazan je ispod:
<i>Osnovno sto treba nauciti je da <strong>tagovi unutar drugih moraju i da pocnu i da se zavrse.</i></strong>
Ovde vidimo da se tag <strong >zatvara nakon <i> taga iako je otvoren nakon otvaranja istog. Na ovaj nain, pretraiva
pri prolasku kroz html kod ne zna gde da zavri prikazivanje italic ili bold teksta.
Gnedjenje listi
Vrlo je bitno pokazati sintaksu za situaciju u kojoj se jedna lista nalazi unutar druge.
<ul>
<li>Prva stavka</li>
<ol>
<li>Prva podstavka</li>
<li>Druga podstavka</li>
<li>Treca podstavka</li>
</ol>
<li>Druga stavka</li>
<ol>
<li>Prva podstavka</li>
<li>Druga podstavka</li>
<li>Treca podstavka</li>
</ol>
</ul>
Gledano u pretraivau ovaj kod izgleda:
<dl>
<dt>Ime pojma 1</dt>
<dd>Definicija 1</dd>
<dt>Ime pojma 2</dt>
<dd>Definicija 2</dd>
<dt>Ime pojma 3</dt>
<dd>Definicija 3</dd>
</dl>
Prvi
Drugi
Treci
Cetvrti
Prvi
Drugi
Treci
Cetvrti
koristiete sledee tagove: <ul> za liste bez nabrajanja i <ol> za liste gde se nabrajanje radi sa brojevima 1,2,3,4.
U oba tipa liste, pored tagova <ul> i <ol> imamo jo jedan element koji treba objasniti pre nego napiemo primer html
koda.
To je tag <li>. On se koristi i kod neuredjenih i uredjenih listi. <li> tag je namenjen odvajanju jedne stavke liste od druge.
U naem sluaju, svaka od stavki (Prvi, Drugi, Treci i Cetvrti) imae sopstveni <li> otvarajui i </li> zatvarajui tag.
Pogledajmo primer koda prve navedene liste:
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<ul>
<li>Prvi</li>
<li>Drugi</li>
<li>Treci</li>
<li>Cetvrti</li>
</ul>
</body>
</html>
Obavezno uoite da na kraju, posle poslednjeg zatvarajueg taga </li> dolazi i zatvarajui </ul> tag kako bi saoptili
pretraivau da se ovim lista zavrava. Izostavljanje moe dovesti do nepredvidjenih problema u prikazivanju koda koji
se moe nai ispod toga. U pretraivau kod napisan iznad izgleda ovako:
Drugi primer je uredjena lista a razlika u kodu u odnosu na neuredjenu svodi se na to da se umesto otvarajueg <ul> i
zatvarajueg </ul> taga, koriste <ol> i </ol>, respektivno. Primer koda kao i izgled u prozoru pretraivaa dati su ispod.
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<ol>
<li>Prvi</li>
<li>Drugi</li>
<li>Treci</li>
<li>Cetvrti</li>
</ol>
</body>
</html>
Izgled koda u pretraivau prikazan je na slici ispod:
Sad je dobar trenutak da rekapituliramo ono to smo prethodno nauili kroz prikaz fleksibilnosti HTML jezika, tj. njegove
sintakse i pokaemo kako se ista stvar moe postii korienjem razliite sintakse.
Primer na kome emo to pokazati je pri kreiranju listi. Videemo da izgled uredjene liste moemo postii na tri naina.
I Nain podrazumeva korienje iskljuivo <pre> taga
<pre>
Lista:
1.
2.
3.
4.
5.
Stavka jedan
Stavka dva
Stavka tri
Stavka cetiri
Stavka pet
</pre>
II Nain korienjem p i br taga kao i specijalnog html znaka
<p>Lista:<br>
1. Stavka jedan<br>
1. Stavka dva<br>
1. Stavka tri<br>
1. Stavka cetiri<br>
1. Stavka pet<br>
</p>
Trei nain je naravno, korienjem pomenutog <ol> taga.
<ol>
<li>Prvi</li>
<li>Drugi</li>
<li>Treci</li>
<li>Cetvrti</li>
</ol>
Kao to vidite, izmedju naslova i teksta umetnuta je linija koja se protee celom irinom prozora. Efekat ovog taga
mogue je postii korienjem raznih CSS metoda ali nije loe znati njegovu ulogu. Moda vam nekad zatreba.
druga na poetku druge reenice stavljena unutar <span> taga. Ovako napisana,
nee izazvati nikakvu promenu kada pogledate u prozoru pretraivaa, ali je ovo HTML nain da se deo teksta unutar
paragrafa odvoji, bez promene izgleda celog paragrafa i nad njim kasnije izvede neka promena u formatiranju.
Tag <h>
H tag kao takav ne postoji. Postoji est varijacija ovog taga a svi su namenjeni formatiranju naslova. Postoje: <h1>,
<h2>, <h3>, <h4>, <h5> i <h6>. <h1> ima najvei font dok <h6> ima najmanji. Pored uloge kreiranja istaknutog teksta u
vidu naslova, njegova uloga je i u tome sto pretraivai na njih obraaju posebnu panju pri klasifikovanju strane.
(rangiranju) h1 se posmatra kao glavni naslov strane dok se ostali posmatraju kao podnaslovi. Vrlo retko ete u praksi
koristiti h4,h5 i h6.
Ako napiemo jednostavan kod koji e sadrati naslov i paragraf, celokupan kod html dokumenta izgledae ovako:
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<h1>Naslov</h1>
<p>Ovo je prva recenica paragrafa. Zatim sledi druga recenica paragrafa. Iza nje sledi treca recenica paragrafa a iza nje
jos jedna. Sve ove recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve
ove recenice deo su jednog te istog paragrafa. </p>
</body>
</html>
U pretraivau to izgleda ovako:
Da li primeujete razliku u veliini fonta samog naslova i teksta unutar <p> taga? Pored toga, uoavate da iznad i ispod
teksta <h1> taga imamo vee praznine. Ove praznine nazivaju se margine I o njima e biti rei kasnije
Radi kompletnosti, pogledaemo kako izgledaju i ostali h tagovi uvrteni u html dokument. Kod jeprikazan ispod.
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<h1>Naslov H1</h1>
<h2>Naslov H2</h2>
<h3>Naslov H3</h3>
<h4>Naslov H4</h4>
<h5>Naslov H5</h5>
<h6>Naslov H6</h6>
<p>Ovo je prva recenica paragrafa. Zatim sledi druga recenica paragrafa. Iza nje sledi treca recenica paragrafa a iza nje
jos jedna. Sve ove recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve
ove recenice deo su jednog te istog paragrafa. </p>
</body>
</html>
Onako kako se vidi u pretraivau:
Ako bolje pogledate, videete da je nakon prvog <h1> taga, svaki sledei tekst sve manji, zakljuno sa tagom <h6>.
Primetiete takodje i da je veliina fonta <h5> i <h6> ak manja od onog unutar <p> elementa. Sve ovo i jo mnogo
drugih stvari mogue je fino podesiti korienjem CSS-a.
Kao to smo pomenuli, u sluaju da vas ne zanima nita vie od mogunosti da imate stranu sa crnim tekstom i belom
pozadinom, tekst moete unositi direktno izmedju <body> otvarajueg i </body> zatvarajueg taga. U sluaju da elite
neto vie od toga, kao na primer, da izmenite veliinu slova kojima je pojedini tekst napisan, promenite boju ili font kojim
elite da tekst bude ispisan, stilizujete ga na razne naine ili kasnije nad njim vrite neke Java Script akcije, koristiete
tag-ove. Tagovi omoguavaju da tekst napisan unutar njih bude formatiran onako kako elite a bez uticaja na ostatak
teksta na strani. Osnovni tagovi za grupisanje teksta su<h1> do <h6>, <p> i
tagovi koje bi mogli nazvati pomonim i uglavnom se koriste za formatiranje manjih delova teksta. Ti tagovi su <b> , <i>,
<sub>, <sup>, itd. Sa sve jaom podrkom za CSS, o kojoj emo priati kasnije, ovi tagovi sve vie gube na znaaju.
Tag <p>
Tag p predstavlja skraenicu za paragraf i otprilike se tako i primenjuje na blok teksta sastavljen od jedne ili vie
reenica koje logiki predstavljaju celinu.
Primer:
<p>Ovo je prva recenica paragrafa. Zatim sledi druga recenica paragrafa. Iza nje sledi treca recenica paragrafa a iza
nje jos jedna. Sve ove recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve
ove recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve ove recenice deo
su jednog te istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te istog
paragrafa.</p>
Ukoliko ovu sekciju teksta dodate na prethodni primer, celokupan kod izgledae ovako
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
Ovo je prva recenica u prvom redu. Ovo je druga recenica u prvom redu<br>Ovo je prva recenica u drugom
redu.<br>Ovo je prva recenica u trecem redu.<br>
Ovde je toliko dosadno.
<p>Ovo je prva recenica paragrafa. Zatim sledi druga recenica paragrafa. Iza nje
sledi treca recenica paragrafa a iza nje jos jedna. Sve ove recenice deo su jednog
te istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve ove
recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te
istog paragrafa. Sve ove recenice deo su jednog te istog paragrafa. Sve ove
recenice deo su jednog te istog paragrafa. Sve ove recenice deo su jednog te
istog paragrafa.</p>
</body>
</html>
Ako ovaj kod snimite i prikaete ga u pretraivau, videete ta je to to razlikuje tekst koji piemo bez tagova i tekst koji
je deo paragrafa, tj. onog teksta koji se pie izmedju <p> otvarajueg i </p> zatvarajuceg taga.
<p> tag dodaje takozvane margine iznad i ispod paragrafa ineci ga uoljivo izdvojenom celinom. Otud i re paragraf.
Iskopirajte ceo blok teksta jo jednom ispod poslednjeg zatvarajueg </p> taga i dobiete neto kao na slici ispod.
Odredjivanje pomenutih margina (vertikalnih belih praznina izmedju paragrafa moe se promeniti kao i jo puno drugih
parametara vezanih za formatiranje).
PRE tag
<pre> Tag
Pre tag je tag koji u situacijama slinim gore pomenutim, moe biti izuzetno koristan. Ukoliko imate potrebu da tekst bude
struktuiran sa puno praznina (primer stihova pesme) korienje
ako ne i besmisleno. Tada se koristi tag pre koji govori pretraivau da sav sadraj unutar njega prikae obraajui
panju na to kako je uneen u dokumentu.
Drugi primer korienja pre taga je sluaj kada imate ve formatiranu veliku koliinu teksta koju bi trebalo samo da
iskopirate tako da on zadri strukturu. Tada ete taj blok teksta okruiti otvarajuim
zatvarajuim </pre> tagom i zadrati eljeni format.
Primer:
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
<pre>
TI SI CVRCAK MOG ZIVOTA
Kad livade obuku svoje zelene pidzame
kad jele zanjisu svojim kukovima
docices,docices rekao si to
dok si saptao reci o nasoj sreci
Ti si cvrcak mog zivota
sto me podseca na srecu
nije lako kad setas po poljani
a nema onog znanog glasa
Kad oblaci u svojim sivim odelima dodju
a kisu zameni gospodja duga
smejem se cvrcku moj jer nestaje tuga,
od suza ostaje samo loj
Ti si cvrcak mog zivota
sto me podseca na srecu
nije lako kad setas po poljani
a nema onog znanog glasa
</pre>
</body>
</html>
bie prikazan sa zadranim formatom.
<pre> i
Formatiranje praznina
<wbr> Tag
Tag po smislu slian
<br> tagu je <wbr> . Ovo je novi tag u HTML verziji 5 i koristi se u sluaju dugackih rei koje
<p>
Da bi naucili AJAX, morate se prethodno upoznati sa XML<wbr>Http<wbr>Request objektom.
</p>
U primeru iznad vidite da postoji izuzetno dugaka re XMLHttpRequest. Ukoliko ova re bude poslednja u prikazu
pretraivaa, tj, ukoliko ne bude mogla da stane u prozor pretraivaa, nad njom e biti izvren prelom, tj. nee
celokupno prei u novi, pa e na primer u jednom redu ostati XML a u drugom preostali deo rei HttpRequest. Bez ovog
taga definisanog na dva mesta unutar rei, kompletna re bila bi prenesena u novi red.
Iako smo ovo pomenuli u prethodnom izlaganju, ovde emo malo detaljnije objasniti ponaanje HTML-a kada naidje na
praznine u kodu. Praznine unutar teksta pretraiva ne prepoznaje kao takve. Znai, isti izgled u pretraivau dobijate i
ako tekst napiete na sledei nain:
<body>
Ovo je prva recenica u prvom redu.
redu<br>
Ovo je prva recenica u drugom redu.
prva recenica u trecem redu.</body>
Ovde je toliko
dosadno.
Jednu prazninu pretraiva uzima u obzir jer bi u suprotnom svaku reenicu morali da piete bez razmaka izmedju rei
Postoji ipak nain da tekst zadri format bez besomune upotrebe <br> i nbsp; sintakse. Ovaj tag je sledei na redu.
Formatiranje teksta
Postoji nekoliko tagova namenjenih formatiranju teksta. Jedan od njih je ve pomenuti h1 tag. Ostali najznaajniji su p i
span.
Pre nego ih objasnimo, treba obavezno rei da stavljanje odredjenog teksta unutar tagova nije obavezan! Znai, mogue
je tekst unutar body taga pisati na raznim mestima bez obaveze da tekst bude smeten unutar nekog od pomenutih
tagova.
Zato ga ipak stavljamo unutar tagova? Iz prostog razloga to na taj nain moemo da ga selektujemo i formatiramo uz
pomo ve pomenute CSS sintakse. Pored toga, nije samo CSS taj koji koristi HTML tagove. Postoje i programski jezici
namenjeni manipulaciji html elementima kao na primer Java Script i slini koji takodje koriste tagove za selekciju.
Naravno, prevazilaze okvir ovog kursa pa o njima neemo dalje priati.
Kako bi ilustrovali izreeno pogledaemo primer
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
Ovo je prva recenica u prvom redu. Ovo je druga recenica u prvom redu<br>Ovo
je prva recenica u drugom redu.<br>Ovo je prva recenica u trecem redu.
</body>
</html>
Ako kod prikazan iznad iskopirate u Notepad i snimite ga kao proba.html (obavezno izaberite All files u sekciji Save as
type: u okviru Save As dijalog prozora i Encoding UTF-8) on e prikazan u prozoru pretraivaa izgledati kao na slici
ispod.
Ako pogledate paljivije tekst koji smo uneli u okviru body taga, primetiete ipak jedan novi samozatvarajui
tag
<br> koji slui za nasilni prelazak teksta u novi red. Ako ga napiemo vie puta, napraviemo prored od vie
linija.
Sada ete verovatno postaviti logino pitanje. Pa zar umesto br taga nismo mogli jednostavno da tekst drugog reda
kucamo u sledeem? Mogli smo ali to ne bi reilo problem, tj. i dalje bi celokupan tekst bio prikazan kao celina koja se
nastavlja i prelazi u novi red tek ako dodje do kraja linije, tj. desne ivice prozora pretraivaa.
Ovo ponaanje se deava zbog injenice da HTML ne obraa panju na praznine! Obraa samo u sluaju teksta koji se
pojavljuje na web stranici i to tako da ga zanima samo jedna praznina u nizu (slino razdvajanju rei u reenici) Znai,
razmak izmedju dve rei bie ispisan u prozoru pretraivaa sa samo jednom prazninom, bez obzira koliko puta vi
pritisnete taster space pri kucanju teksta u html dokumentu. Ako ipak hoete da naglasite vie od jedne praznine, za
svaku prazninu pisaete poseban skup karaktera a to znai da ako elite pet praznina, napisaete
BODY sekcija
VIDLJIVI DEO HTML DOKUMENTA (<body>)
U sledeem redu nalazi se otvarajui tag <body> i on govori pretraivau da sve to se u okviru njega nadje, prikae u
svom prozoru. Unutar body taga mogu se nalaziti i tagovi koji nemaju zatvarajui deo i oni koji ga imaju. Ovo pravilo vai
i za head sekciju dokumenta.
Na kraju koda imamo tag koji zatvara body
Da zakljuimo, tagovi su elementi HTML stranice koji mogu imati razliito znaenje, tj. uloge. Sami HTML tagovi se ne
prikazuju na web stranici. Na web stranici se prikazuje njihov sadraj!
VRSTE TAGOVA
U ovom primeru:
odredjenom rasporedu. Svaki HTML dokument ima minimalni broj tag-ova koji moraju biti sadrzani u bilo kom html
dokumentu i to u odredjenom rasporedu. Svaki HTML dokument ima minimalni broj tag-ova koji moraju biti sadrzani u
bilo kom html dokumentu i to u odredjenom rasporedu. Svaki HTML dokument ima minimalni broj tag-ova koji moraju biti
sadrzani u bilo kom html dokumentu i to u odredjenom rasporedu. </p>.
I u ovom sluaju bie prikazan samo tekst koji se nalazi unutar otvarajueg i zatvarajueg p taga ( <p>,</p>) kao na
slici ispod:
Tagovi koji imaju otvarajui i zatvarajui deo su tagovi koji sadre tekst.
Sintaksa samozatvarajueg taga
Samozatvarajui tag je tag koji ima samo otvarajui deo, a ostale informacije koje govore o sadraju koji e se umesto
njega prikazati na web strani sadrane su u takozvanim atributima koji se nalaze unutar njega.
Kada su unutar body taga, samozatvarajui tagovi ne sadre tekst.
Najbolji primer je tag <img> koji slui za prikazivanje slika na web stranici. Sintaksa taga izgleda ovako:
<img src=lokacija_i_ime_slike>
A primer
<img src=logo_it4you.png>
prikazan u pretraivau izgleda kao:
src=logo_it4you.png koji se pored slubene rei img nalazi u samom tagu govori pretraivau gde da
pronadje sliku koju treba da prikae, u ovom sluaju logo_it4you.png
img tag ima jo jedan obavezan atribut alt. Taj atribut predstavlja opis slike koji pretraivai kao Google, itd. koriste pri
klasifikovanju sadraja. Ostali tagovi su opcioni.
<img src=logo_it4you.png alt=Logotip firme IT4YOU>
HEAD sekcija
Prvi tag na koji nailazimo u head sekciji naziva se <title> tag i predstavlja tag iji sadraj pretraiva ispisuje kao tekst u
takozvanom Title Bar-u (tekst kartice otvorene web strane). Primer sintakse
Taj naslov nee biti vidljiv nigde u prozoru pretraivaa sem na ovom mestu. Izuzetno je bitno postaviti ga jer se korisnik,
u sluaju da ima otvorenih vie tab-ova, lake snalazi i pronalazi onaj koji ga zanima.
Naredni red sadri samozatvarajuci <meta> tag koji govori pretraivau da karaktere/sadraj koji se nalazi u okviru
HTML dokumenta tretira ispravno, tj. u naem sluaju ispravno prikae latinina I irilina slova
Meta tag je samozatvarajui tag to znai da nema zatvarajui deo taga </meta>
Meta tagovi, generalno sadre meta podatke, tj. podatke o podacima.
charset=UTF-8
U ovom konkretnom primeru, charset je atribut ij je vrednost utf8, a namena je prethodno opisana, ispravan prikaz slova
.
Ima raznih primena meta taga. Jedna od najpoznatijih primena meta taga je prikazana ispod:
charset=UTF-8
name=description
content=Ova web strana je namenjena svima.
predstavljaju atribute taga koji blie opisuju ta meta tag ustvari opisuje.
Sledei red sadri </head> koji govori da se zavrava deo HTML dokumenta iji se sadraj NE prikazuje.
Izgled osnovnog HTML dokumenta, ili ta dokument HTML tipa mora da sadri da
bi bio ispravan?
Svaki HTML dokument ima minimalni broj tag-ova koji moraju biti sadrani i to u odredjenom redosledu da bi html
dokument bio validan. Ispod je dat primer osnovnog HTML dokumenta.
<!DOCTYPE html>
<html>
<head>
<title>Naslov dokumenta</title>
<meta charset=UTF-8>
</head>
<body>
Sadraj dokumenta..
</body>
</html>
Hajde da objasnimo primer iznad.
Na poetku dokumenta nalazi se <!DOCTYPE
html>. Ovaj tag mora da bude prvi kod koji se nalazi u html
dokumentu i govori pretraivau o kojoj verziji HTML jezika/sintakse se radi. Ovako napisan, govori pretraivau da se
radi o dokumentu HTML verzije 5. Ovo je inae jedini oblik deklaracije u HTML verziji 5 za razliku od prethodnih verzija
koje su imale mnogo vei broj opcija.
Iza njega, u drugom redu, nalazi se <html> otvarajui tag. Ovaj tag govori pretraivau da na ovom mestu poinje
HTML dokument, da unutar njega moe da se nadje sve to HTML dokument sadri. On predstavlja kontejner* u okviru
koga e se nalaziti svi ostali HTML tagovi sa svojim sadrajem, sve do njegovog zatvaranja.
</html>tag predstavlja
*kontejner je prostor unutar otvarajueg i zatvarajueg taga u okviru koga se nalazi neki
HTML sadzaj: tekst, slika ili neto tree.
Sve to se nalazi ispod zatvarajueg </html> taga (koji je inae poslednja linija html dokumenta) nee biti tretirano kao
ispravna sintaksa i razliiti pretraivai e se prema tom sadraju odnositi na razliite naine. Svakako, tako napisan html
document ne smatra se validnim.
U treem redu nalazi se <head> otvarajui tag. Sve do njegovog zatvarajueg taga (</head>) nalazie se kod koji je
sastavni deo HTML dokumenta ali se NE prikazuje u prozoru pretraivaa.
Unutar head taga mogu se nalaziti sledei tagovi: <title>, <meta>, <style> ali i mnogi drugi.
Ako elite da otvorite HTML dokument u cilju prepravki, nemojte to raditi dvostrukim klikom mia na fajl. Ako to uradite,
Windows e, po defaultu, html dokument otvoriti u pretraivau, to nije ono to ste hteli da postignete. Umesto toga,
stanite na ime dokumenta i iz menija do koga dolazite pritiskom desnog tastera mia, izaberite Open
Uoavate razliku?
Naime, neke od stvari koje smo primenili na prethodnoj slici, koristei CSS, su:
naslov Web training i kontakt podatke pomerili tako da budu sa desne strane i u ravni logotipa
paragrafe koji opisuju HTML, CSS i Java Script poredjali smo jedne pored drugih i definisali im ivice u jednoj od
boja logotipa
sastavljen od ukupno 5 web strana. Tih pet strana na serveru predstavljene su u vidu pet HTML dokumenata, smetenih
u root folder, pod imenomprimer.rs sa imenima
index.html
o-nama.html
kontakt.html
cime-se-bavimo.html
nasi-klijenti.html
Kako se tim stranama pristupa?
I nain Tako to se u browseru direktno ukuca njihovo ime iza navodjenja imena domena i kose crte (/)
U prethodno pomenutom primeru, kucali bi:
www.primer.rs/index.html (ovo moe i samo navodjenjem www.primer.html kao sto mo prethodno objasnili)
www.primer.rs/o-nama.html
www.primer.rs/kontakt.html
www.primer.rs/cime-se-bavimo.html
www.primer.rs/nasi-klijenti.html
II nain Drugi nain pristupanja ovim stranama je kucanjem imena domena www.primer.rs to nas odvodi
na index.htmlstranu. Sa nje je na druge strane mogue otii preko takozvanih linkova koji su definisani preko
HTML link <a> tagova. Tipian primer tih linkova je u obliku menija koji se nalaze u vrhu web strane veine sajtova.
Primer koda koji bi bio sadran u dokumentu index.html predstavlja link ka strani o-nama.html:
<a href=http://www.primer.rs/o-nama.html >O nama</a>
U browseru ovaj upravo otkucani red HTML koda izgledao bi ovako O nama i na njega bi moglo da se klikne miem. Klik
miem na ovaj link tekst inicirao bi proces u kome bi vas pretraiva zatraio stranu
opisanoj proceduri i prikazao je u prozoru vaseg pretraivaa.
o-nama.html po prethodno
Za sluaj da se sve strane nalaze u istom folderu prethodni red koda mogao bi da izgleda i ovako:
<a href=o-nama.html >O nama</a>
jer navodjenjem samo imena fajla server pretpostavlja da se traeni dokument nalazi u istom folderu. (relativna putanja)
kucate samo primer.rs i opet uspeno zavravate na index.html strani pomenutog domena
(www.primer.rs/index.html)
To je iz razloga to su web serveri podeeni da podrazumevaju www ispred imena domena koje kucate i sami ih
pridodaju. Postoje serveri na kojima ovo nije podeeno i u sluaju da ne otkucate
strana ne postoji. Sve vei broj web servera je podeen da ovo prepozna kao ispravno unetu adresu.
ta je HTML?
HTML je jezik u kome se piu web strane. Znai, svaka web strana je jedan HTML document. HTML document je obian
tekstualni fajl koji je sastavljen od kombinacije HTML sintakse poznatije kao tagovi i samog sadraja (tekst, slike, audio,
video, itd.)
ta je CSS?
CSS je jezik osmiljen da ulepa web stranice. Stranice napisane samo HTML sintaksom nisu vizuelno atraktivne. CSS
fajlovi su, po strukturi, takodje obini tekstualni fajlovi koji slede jednostavnu sintaksu pisanja CSS koda.
CSS kod se moe nalaziti unutar HTML dokumenta ali i kao samostalan dokumentsa ekstenzijom .css .
Pre nego krenemo sa izuavanjem oba pomenuta jezika, hajde da obradimo neke osnovne termine vezane za Internet,
tj. World Wide Web.
ta je pretraiva?
Pretraiva (Browser) je aplikacija instalirana na raunaru korisnika ija je osnovna namena da prikazuje web strane.
Kada u adresnoj liniji ukucate eljenu adresu, pretraiva zna kako da ode do web servera na kome se strana nalazi,
zatrai je od web servera, prevue na lokalni raunar i ispravno prikae u svom prozoru. Postoji veliki broj web browser
aplikacija (pretraivaa) medju kojima su najpoznatije: Google Chrome, Internet Explorer, Mozilla Firefox i Apple Safari.
Osnovni jezik koji pretraiva razume naziva se HTML. HTML jezik je jezik kojim se piu
Hosting
Hosting usluga je nezavisna usluga od registracije domena u tom smislu to ona predstavlja uslugu dranja i
usluivanja stranica vaeg veb sajta, rada mail servisa, itd. Hosting se takodje plaa u intervalu od jedne, dve ili vie
godina.
Zakup hostinga je neto to se esto mea sa registracijom domena. Ovo se deava iz prostog razloga to korisnici
registruju domen i postavljaju sajt kod istog provajdera pa im se ta operacija ini kao jedinstvena.
Znai, radi pojanjenja, mogue je registrovati domen kod jednog provajdera a drati vebsajt kod drugog.
Dodatno, mogue je imati registrovan domen a nemati sajt.
Trei mogui scenario je da kod jednog provajdera imate registrovan domen, pa ak i mail server a kod drugog
provajdera postavljen vebsajt. Ovo nije racionalno (jer plaate istu uslugu na dva mesta) ali moe biti teorijski korisno iz
razloga dostupnosti bar jednog od servisa maila ili vebsajta.
I u ovom sluaju dolazi do zabune jer hosting paket, u veini sluajeva, pored dranja vebsajta, podrazumeva i uslugu
mail servisa koju klijenti ne koriste ve komunikaciju odravaju putem gmail, hotmail, live i slinih javnih mail servisa nad
kojim realno nemaju nikakvu kontrolu.
Znai, imamo dve nezavisne stvari. Prva je ona kojom elite da promenite to
va sajt (kada dodje upit od korisnika za vaom veb stranicom) a drugi je mesto na kome e se dokumenti od kojih je
sainjen va sajt, nalaziti. Svakako je uvek najbolja varijanta da obe stvari drite kod istog provajdera.
Kako funkcionie mail usluga u okviru hosting paketa?
Za svaki od tih mail naloga moete podesiti takozvanu kvotu, znai ograniiti koliinu prostora u MB koja e biti alocirana
za skladitenje mailova. Treba uzeti u obzir da e, u veini sluajeva, koliina prostora koju koristite za mail smanjiti va
preostali prostor za sadraj sajta i obrnuto.
zastupljen.
Pojasniemo neke od parametara koji se pominju kao karakteristike paketa kako bi vam olakali izbor.
Broj baza veina CMS sistema (kakav je i WordPress) zahtevaju jednu MySQL bazu u cilju skladitenja podataka.
U najjednostavnijem sluaju, jedan sajt zahteva jednu bazu.
Kada moete imati potrebu za vie od jedne baze? U sluaju kada, u okviru istog hosting paketa elite da postavite vie
nezavisnih sajtova. Tada svaki od njih ima svoju bazu (ne mora, ali je lake za kasniju administraciju). Takodje, za sluaj
da elite da pored sajta, imate i nezavisnu aplikaciju koju je neko napravio za vas, najbolja praksa je da podaci vezani za
aplikaciju budu smeteni u nezavisnu bazu kako bi se i proces bekapa i oporavka na neki nain, razdvojio. Dodatni
razlog je to ete u tom sluaju izolovati problem kada on nastane na jednom od sajtova ili aplikacija.
Prostor na disku Prostor na disku je, kao to mu ime govori, dodeljen prostor na diskovima provajdera koji
moete koristiti u svrhu skladitenje podataka. U to spada: zauzee prostora za dokumente koji sainjavaju va vebsajt,
podaci koji se nalaze u pripadajuoj bazi podataka ali i podaci koji se uvaju a tiu se vaih mail naloga, tj. mailova.
esto, naroito u fazi razvoja sajta, korisnici rade bekap na taj nain to kopiraju kompletan home folder koji kasnije
download-uju na svoj raunar ili na neko besplatno skladite na webu. U sluaju da tako uvate podatke, va hosting
paket mora da podrazumeva dodatni, gotovo nepotrebni prostor koji vam u krajnjem diktira zakup paketa sa veim
skladinim prostorom. Zbog toga je izuzetno bitno proveriti da li va hosting provajder ima uslugu automatskog uvanja
podataka (na dnevnom, nedeljnom ili mesenom nivou) a koja vam ovaj problem u velikoj meri otklanja.
Broj sajtova (broj domena) Ovaj podatak govori koliko nezavisnih web sajtova je mogue postaviti u okviru
jednog hosting paketa. Kao to smo pomenuli, ovaj parametar vam znai da ete na istom mestu i za istu cenu, moi da
postavite nekoliko sajtova potpuno razliite sadrine. Svaki od njih predstavljae poseban folder u kome e biti smeteni
neophodni dokumenti za ispravno funkcionisanje web sajta ili web aplikacije.
Broj poddomena ovaj parametar govori koliko nezavisnih sajtova na istom domenu moe biti postavljeno. Na
primer, beograd.naplata.rs, pancevo.naplata.rs, novisad.naplata.rs su nezavisni sajtovi koji
funkcioniu pod zajednikim domenom, u ovom sluaju naplata.rs. Sa druge strane, to su potpuno nezavisni sajtovi
sa razdvojenom administracijom. U sluaju WordPress-a, postoji reenje (Multisite) koje vam olakava administraciju
veeg broja sajtova na istom mestu ali je za njegovo korienje potrebno dodatno znanje.
Maksimalni meseni protok je ogranienje koliine saobraaja ka i od svih sajtova postavljenih u okviru
jednog hosting paketa. Resursi provajdera nisu samo diskovi, procesori i memorija koju koristite kako bi vai sajtovi radili
bez prekida, ve i resursi za komunikaciju sa spoljnim svetom (nazovimo ga Internetom). Takodje, na deljenom hostingu,
(deljeni hosting objanjavamo u nastavku) kada ne bi bilo postavljeno ogranienje protoka, intenzivan rad samo jednog
sajta doveo bi do degradacije dostupnosti ostalih.
Javna IP adresa ima vanost u sluaju da se, umesto klasinog vebsajta, na serveru nalazi aplikacija kojoj se, u
veini sluajeva, ne pristupa putem pretraivaa ve putem neke klijentske aplikacije. Takodje, javna IP adresa vas
odvaja od drugih koji se nalaze na tom istom web serveru, po pitanju identiteta. Na primer, za sluaj da na serveru
postoji sajt koji ima neprikladnu sadrinu ili je namenjen za slanje spama, uredjaji na Internetu koji o tome brinu, mogu
blacklist-ovati tu javnu IP adresu, ne vodei rauna o ostalima koji koriste tu istu adresu, i na taj nain, uskratiti pristup
ostalim sajtovima ili mail-ove poslate sa drugih domena oznaiti kao spam.
Ogranienje broja poslatih mailova po satu ovo je vaan parametar za one koji imaju nameru da,
direktno sa servera, alju veliki broj mailova svojim korisnicima. To mogu biti mass mailing poruke ili periodino slanje
newslettera i slinih materijala. Svakako, ukoliko nameravate da koristite ovu funkcionalnost, obavezno zakupite javnu IP
adresu.
Broj mail naloga ovo je parametar koji oznaava ukupan broj mail adresa koji je mogue kreirati u okviru
hosting paketa. Svaki od definisanih mail naloga troi neke resurse
Mail kvota je parametar koji definiite za svakog od korisnika (tj. za svaki mail nalog) i oznaava koliinu podataka,
nezavisno od broja mailova, koje je provajder u obavezi da dri (uva) na serveru. Ovo je prilino bitan podatak jer u
sluaju prekoraenja ove kvote moe doi do privremenog prestanka isporuke ili slanja mailova. Uglavnom, uz prethodno
obavetenje da je kvota prekoraena, provajder automatski alje mail obavetenje o tome, to vam je signal da to pre, ili
pobriete nepotrebne mailove ili neke od njih arhivirate na lokalnom raunaru, u okviru mail klijenta koji koristite (MS
Outlook, itd.).
SSL sertifikati su sertifikati koji omoguavaju kriptovanu vezu za prenos podataka izmedju web servera i kranjeg
korisnika, tj. posetioca sajta. SSL sertifikat vam omoguava da podaci u komunikaciji servera i klijenta budu neitljivi
onome ko pokua i uspe da ih presretne. U sluaju klasinih sajtova, bitno je posedovati jedan od njih samo u sluaju da
se u komunikaciji vri prenos osetljivih informacija. Klasian primer je kada radite online trgovinu i na svom serveru
uvate ili procesuirate podatke o kreditnim karticama.
Broj parkiranih domena parkirani domen se koristi u situaciji kada hoete da vie domena upuujete na isti
ili preusmerite upit koji dolazi ka tom domenu na neki drugi sajt. Drugi primer je kada hoete da registrujete domen a jo
uvek nemate (ili ne planirate u skorijoj budunosti) sadraj na tom domenu.
Primer parkiranog domena moe biti sledei. Registrovali ste sledee domene: mojsajt.rs, mojsajt.co.rs, . ,
mojsajt.com, itd. Vi ne elite da duplirate sadraj ovih sajtova ve elite da sajt postavite i aurirate kao mojsajt.rs a da za
sluaj da neko ukuca adresu mojsajt.com, bude preusmeren na mojsajt.rs.
Da zakljuimo, ono to je ovde vano primetiti je da svaki od parametara hosting paketa, sam za sebe govori neto.
Naalost, pri izboru hosting paketa (ali i provajdera) treba obratiti panju na vae specifine potrebe, ali i ukrstiti dva ili
vie pojedinanih parametara. Na primer, ukoliko u paketu imate 1GB prostora, parametar
moete postaviti neogranien broj sajtova nema ba nekog smisla jer ete ubrzo shvatiti da vam 1GB u nekim
sluajevima nije dovoljan ni za jedan site a kamoli neogranieni broj. Drugi primer bi bio 1GB raspoloivog prostora sa
neogranienim brojem baza podataka, koji takodje, u veini sluajeva ne znai puno.
Takodje, kada govorimo o smetaju vie od jednog klijenta u okviru jednog hosting paketa, treba biti obazriv jer su u tom
sluaju svi sajtovi pod jedinstvenim cPanel username/password-om. U sluaju da jedan od klijenata eli pristup cPanelu,
najee je to baza, samostalno kreiranje mail naloga i slino, nije dobra ideja staviti ga u okviru jednog paketa jer e u
tom sluaju korisnik imati pristup svim ostalim sajtovima na vaem cPanel nalogu. Praktino, to znai da jedan korisnik
moe obrisati sve ostale sajtove ili izmeniti informacije na njima.
Svakako, bez ogranienja, pristupati tudjim podacima.
da li i kakvu zatitu imaju serveri na kojima se domen nalazi (zatita samog servera kao i mail naloga, zatita od
hakovanja sajta)?
kakva je podrka u sluaju problema sa nekim od servisa (web, mail, 85 ili 247 itd)?
koja je brzina odziva i vreme reavanja vaeg problema?
da li su serveri pod zatitom od privremenog nestanka elektrine energije, tj. da li provajder u Data Centru
poseduje agregat ili UPS?
koliko esto se radi automatski potpuni bekap podataka? (ovo je izuzetno vano u periodu startovanja sajta dok
je sajt u fazi izrade i estih izmena)
da li korisnik moe samostalno (brzo i lako) da povrati sadraj sajta bez potrebe za kontaktiranjem podrke i/ili
koliko izmena pritom gubi: dan, nedelju dana, mesec?
Jedna od bitnih stvari kod izbora hosting provajdera je i lokacija njegovih servera, naroito u sluaju da veina posetilaca
dolazi iz jedne zemlje ili regiona. Iako je brzina kojom podaci putuju kroz optike kablove tolika da ovaj kriterijum nema
presudnog uticaja na odziv sajta, svakako je neto o emu treba razmisliti.
koliko je jak server na kome se nalazi shared hosting? (RAM, procesorska snaga, mreni resursi)
koliko korisnika je smeteno na jednom serveru?
da li provajder vodi rauna o tome da na razliite servere stavlja korisnike sa slinim potrebama?
da li je provajder implementirao bar neka ogranienja po pitanju korienja resursa kako bi uticao na
ravnopravno korienje resursa svih korisnika?
da li periodino prati ponaanje klijenata i nekorektne sklanja na druge servere?
da li vodi rauna o tome da korisnike sa zastarelim platformama (programskim kodom) prepunim sigurnosnih
propusta, o tome obavetava ili sklanja na drugi web server i time smanjuje rizik bezbednosti ostalih korisnika na
tom serveru?
Naalost, ovi podaci su, u veini sluajeva, potpuno netransparentni za krajnjeg korisnika i nita od toga se uglavnom na
nalazi u opisu paketa usluga koje provajderi nude. Jedino reenje je temeljno istraivanje razliitih foruma na kojima se
mogu proitati iskustva korisnika. Mada, ovde treba biti izuzetno oprezan jer jedno miljenje ne znai da je provajder
zaista lo (naalost, taj komentar moe biti delo konkurencije ili korisnika koji za
Ipak, nakon to postavite sajt, mogue probleme moete uoiti putem dostupnih alata na Internetu kao to je Reverse IP
lookup. Ovim postupkom okvirno moete saznati koliko se jo korisnika, pored vas, nalazi na web serveru.
Primer. Ako odete na stranu http://www.yougetsignal.com/tools/web-sites-on-web-server/ i
ukucate web adresu vaeg sajta, dobiete broj i spisak sajtova sa kojima delite hosting resurse. Podatak sam za sebe ne
znai puno (jer snaga servera moe biti prilagodjena tom broju) ali e vam svakako ukazati da neto nije u redu ukoliko
na tom serveru zateknete stotine ili hiljade drugih sajtova. Druga korisna informacija koju moete dobiti je prisustvo
nekog od sajtova sa neprikladnom sadrinom. Ova injenica nije zanemarljiva jer e veina pretraivaa kao to su
Google, Bing, Yahoo itd. i va sajt (zbog injenice da ste na istoj IP adresi) rangirati loije i va sajt, tj. skor za pretragu,
umanjiti.
Iz ovog razloga, ak i kada se nalazite na deljenom hostingu, nije loe zakupiti svoju IP adresu kako bi veinu problema
sa SEO rangiranjem ili blacklist-ovanjem spreili.
Druga grupa problematinih sajtova sa kojima delite prostor su sajtovi sa velikom koliinom video sadraja, koji su dosta
poseeni ili oni kojima se pristupa nesrazmerno mnogo u odnosu na va. Njihov uticaj na mreu je prilian i mogu
ugroziti ostale korisnike na serveru po pitanju mrenih resursa ali i procesorske snage.
VPS hosting
VPS hosting je usluga kojom dobijate mnogo veu kontrolu nad resursima, bezbednou i zadovoljenjem vaih
specifinih potreba, u poredjenju sa deljenim hostingom kod koga to nije mogue. Naravno, ono to je mana je via
cena usluge.
U VPS okruenju vi imate garantovane resurse (CPU, RAM, skladini prostor, IP adresu). Da ne bude zabune, vi u ovom
scenariju takodje delite resurse fizikog servera ali su njegovi resursi tako particionisani da garantuju resurse koji stoje u
ponudi. Praktino, probleme koji pravi drugi VPS korisnik na tom serveru ne odraavaju se na rad vaeg. Sigurnosni
propusti na jednom od njih nemaju uticaja na sigurnost vaeg, itd. pa je i bezbednost kod ovog tipa hostinga poveana.
Mogue je da mrea bude deljeni resurs mada se i to u sluaju dobro uredjenih podeavanja, izbegava. Ukratko, u dobro
podeenom VPS okruenju gotovo da nema mogunosti za probleme koji se javljaju u sluaju Deljenog (Shared)
Hostinga.
Dodatne prednosti VPS okruenja su mogunost finog podeavanja potrebnih aplikacija koje su neophodne za rad vaeg
web servisa a kojih u sluaju deljenog hostinga nema. Jo jedna prednost ovog tipa servisa je da pad jednog od servisa
koji se na serveru nalaze, ne prouzrokuje nikakav prekid rada vaeg, i obrnuto.
Mana ovog reenja, ukoliko se tako moe nazvati, je via cena usluge koja je opet u skladu sa poveanim kvalitetom.
Preporuka je da se uvek pone sa najmanjim paketom VPS usluge i po potrebi, kroz vreme, poveava.
Dedicated hosting
Dedicated hosting je najskuplji vid usluge i prilino je malo zastupljen. Ovaj vid usluge podrazumeva da je ceo server
namenjen korienju od strane samo jednog korisnika. Praktino, ceo server je u vaem posedu. Ukoliko imate potrebu
za ovakvim vidom usluge, preporuka je da uvek prvo krenete sa VPS uslugom i vidite da li i u kojoj meri zadovoljava vae
potrebe.
Naslovi
<h1> TEKST </h1>
<h2> TEKST </h2>
<h3> TEKST </h3>
<h4> TEKST </h4>
<h5> TEKST </h5>
<h6> TEKST </h6>
Font
<font face="Arial"> Ovo je vrsta fonta </font>
<font size="6"> Veliina slova moe biti izmeu 1 i 7 </font>
<font size="+2"> Veliina slova </font>
Stilovi
<b> podebljano </b>
<i> ukoeno </i>
<u> podcrtano </u>
<br> novi red ista funkcija kao pritisak na enter u wordu (nema zavretak)
<hr> horizontalna crta (nema zavretak)
<p> novi odlomak</p>
Odlomci
<p align="left">lijevo</p>
<p align="center">sredina</p>
<p align="right">desno</p>
<p align="justify">obostrano</p>
Efekti
<marquee> tekst putuje s desna na lijevo</marquee>
<blink> tekst blinka </blink>
circle - krui
disc ispunjeni krui
square kvadrati
Boje
<body bgcolor="#ff0000"> Boja pozadine je crvena.
<body bgcolor="red"> Boja pozadine je crvena.
<body bgcolor="#ff0000" text="#fffffff ">Boja pozadine je crvena, a tekst je bijeli. <font color="#ff0000">
Ovdje upisujemo tekst </font>
<font color="red"> Ovdje upisujemo tekst </font>
<body link="blue" vlink="#violet" alink="red"> Boja linka je plava, posjeenog linka ljubiasta, a aktivnog
linka crvena. U ovom primjeru link oznaava link, vlink oznaava posjeeni link, a alink aktivni link.
Slike
<img src="slika.jpg">
<img src="slika.jpg" width="150" height="200"> Slika u pixelima
<img src="slika.jpg" width="10%" height="40%"> Slika u postotcima
<img src="slike.jpg" width="100" height="170" border="5"> Broj 5 je debljina obruba.
irinu slike odreuje WIDTH atribut , a visinu HEIGHT.
Za poravnanje slike koristimo isti atribut kao i za tekst (ALIGN) i sljedea poravnanja:
LEFT poravnava sliku lijevo i tekst omata oko slike
RIGHT poravnava sliku desno i tekst omata oko slike
CENTER poravnava sredinu slike sa dnom teksta
TOP poravnava gornji rub slike sa vrhom teksta
MIDDLE poravnava sredinu slike sa sredinom teksta
BOTTOM poravnava donji rub slike sa dnom teksta
VSPACE vertikalni razmak
HSPACE horizontalni razmak
<img src="slika.gif" alt="Moja slika" >
Ako slika.gif ne postoji na serveru tada e se na ekranu pojaviti sljedea poruka: Moja slika.
Tablice
Linkovi
<a href= "povijest.html"> povijest </a>
Boju linka moemo i na ovaj nain promijeniti:
<a href="povijest.html"> <font color="green"> povijest </font> </a>
elimo li link bez podcrtavanja, onda je potrebno napisati sljedee:
< a href="povijest.html" style="text-decoration:none ; " >
elimo li klikom na link otvoriti stranicu u novom prozoru potrebno je koristiti naredbu target.
<a href="povijest.html" target="_blank">
Parametri naredbe target su sljedei:
_blank uitava stranicu u novom prozoru preglednika
_self uitava stranicu u isti prozor ili okvir preglednika
_parent uitava stranicu u okvir prozora koji je vie kategorije od okvira u kojem je link
_top otkazuje sve okvire i uitava stranicu u punom prozoru
Link na e-mail:
<a href="mailto:blabla@bj.t-com.hr "> kontakt </a>
Okviri
<frameset cols=50%,50%> Dimenzije okvira.
<frame src="index.html" name="linkovi"> <frameset rows=20%,80%> Dimenzije okvira.
<frame src="prvi.html" name="prvi"> Ovdje odreujemo koja se stranica otvara u kojem okviru.
<frame src="drugi.html" name="drugi"> Ovdje odreujemo koja se stranica otvara u kojem okviru.
</frameset>
</frameset>
Obrasci
Textbox ovdje upisujemo tekst
Text unos teksta
Checkbox stavljamo kvaicu u kvadrati, mogu je viestruki izbor
Radio dodajemo tokicu u krui, mogu samo jedna izbor
Button gumb (OK, CANCEL)
Submit potvrda unosa ( koristi se u kombinaciji sa textbox)
Dropdown padajui izbornik
Textbox
<textarea rows="10" cols="30"> Ovdje moemo upisivati tekst. </textarea>
Text
<form>
<br>Ime:<input type="text" name="ime">
<br>Prezime:<input type="text" name="prezime">
</form>
Checkbox
<form>
<h1>Volim jesti:<h1>
<br>jabuke<input type="checkbox" name="voce" value="Jabuke">
<br>kruke<input type="checkbox" name="voce" value="Kruke">
<br>marelice<input type="checkbox" name="voce" value="Marelice">
</font>
</form>
Radio
<form>
<br><input type="radio" name="spol" value="muko">Muko
<br><input type="radio" name="spol" value="enko">ensko
</form>
Button
<form action="">
<input type="button" value="OK">
</form>
Submit
<form>
Korisniko ime:<input type="text" name="korisnik">
<input type="submit" value="poalji">
<input type="reset" value="obrii">
</form>
Dropdown
<form action="">
<select name="boje">
<option value="plava">plava</option>
<option value="uta">uta</option>
<option value="zelena">zelena</option>
<option value="crvena">crvena</option>
</select>
</form>
Formulari, forme predstavljaju odlian alat za sakupljanje informacija od posetilaca web sajta.
Formulari dozvoljavaju korisnicima da poalju komentare i pitanja, zatrae neku informaciju, prijave
se za Newsletter, popune Online aplikaciju ili unesu informacije za plaanje kako bi kupili neki
proizvod.
Sami po sebi formulari ne pruaju nikakvu funkcionalnost, ve samo neku vrstu ablona za
prikupljanje informacija. Kada korisnik popuni formular prikazan na sajtu, prikupljeni podaci se
prosleuju skripti na drugoj strani koja e obaviti sav posao.
GET metod - Podaci iz fome se ovom opcijom alju na server kroz URL. Informacije koje se
prosleuju na ovaj nain su transparente i podlone napadima hakera. Poto URL moe da
ima maksimum 8.192 karaktera, ovaj metod nije podesan za due formulare. Takoe, moe
doi do transliteracije ili transkripcije i neki karakteri se mogu promeniti ili izgubiti.
POST metod - Ovaj metod pakuje podatke formulara unutar HTTP zahteva. Podaci nisu
ifrovani i stoga su (iako sigurniji nego u GET metodu) ipak podloni napadima hakera, tako
da, ako sakupljamo personalne informacije kao to su korisnika imena, lozinke ili brojevi
kreditnih kartica, moramo osigurati bezbednu konekciju do sigurnog servera.
U ovom kursu se neemo baviti skriptama koje procesuiraju i obrauju podatke iz formulara, jer je
to posebna oblast i spada u domen programiranja.
Kreiranje formulara
Da bismo kreirali formular u Dreamweaveru, postaviemo kursor na mesto gde elimo da ga
unesemo. Izabraemo Insert > Form > Form iz padajuih menija. Drugi nain je preko Insert
panela, izborom kategorije Form i klikom na Form dugme.
Ukoliko smo formu dodali dok je otvoren Code prikaz, pre samog postavljanja na stranu, pojavie se
sledei dijalog:
U ovom dijalogu moemo uneti razna podeavanja pre postavljanja. Veinu opcija odavde moemo
nai u Properties Inspectoru, kada je forma selektovana u Design prikazu.
Ako ve nismo, otvoriemo Design prikaz i izabrati nau formu klikom unutar nje, unutar crvene
isprekidane linije. Properties Inspector e postati kao na slici:
Podeavanja forme
Form ID - U ovom polju unosimo jedinstveno ime formulara. Preko ID vrednosti moemo
stilizovati formu, ali ID koristimo i kod programiranja skripti.
Action - U ovom polju unosimo ima skripte/stranice koja e procesirati formular. Moemo
runo uneti ili locirati skriptu klikom na folder ikonicu desno od polja.
Target - Omoguava da odredite bude drugi prozor ili frame u odnosu na tekui. U tom
drugom okviru se prikazuje HTML strana koja se dobija nakon obrade podataka.
Method - Ovde biramo kojim metodom aljemo serveru prikupljene podatke iz formulara.
o Default - Ova opcija koristi difoltna podeavanja itaa da bi poslala informacije sa
formulara. Default metod je obino, ali ne i uvek, GET metod. Preporuuje se
postavljanje neke od druge dve vrednosti.
o GET - Podaci iz formulara se alju GET metodom, kako smo pojasnili ranije.
o POST - Podaci iz formulara se alju POST metodom, kako smo pojasnili ranije.
Enctype - Ovo polje je opciono i po default podeavanju je prazno. Kada imamo File upload
polje u formularu, izabraemo Multipart/form-data tip.
Class
Definie
klasu
formulara.
Input podeavanja
Ovaj dijalog koji vidite na slici iznad e biti prikazan uvek kada izaberemo neko input polje u
formularima, bilo da se radi o Text Field, Textarea, Checkbox i tako dalje.
ID unosimo id vrednost polja
Label Postavljamo tekst koji e biti vidljiv van polja i koji e dati korisniku informaciju/uputstva za
polje.
Style Biramo nain postavljanja label opcije.
Attach label tag using for attribute Postavlja labelu u posebnom tagu i povezuje sa poljem
putem for atributa. Preporuen nain jer moemo razdvojiti fiziki delove (labelu i polje) a da
pri tom ostanu povezani.
Wrap with label tag Postavlja label tag oko polja. Tekst labele ide neposredno pre polja.
No label tag - Tekst labele postavlja neposredno pre polja. Ne postavlja tag.
Primetiemo da je u kodu tag naeg polja <input>, a da je type atribut postavljen na text. U
formama razliiti tipovi polja koriste isti tag, ali razliit type atribut, kako emo videti u nastavku.
Kada selektujemo nae input polje, Properties Inspector e prikazati mogua podeavanja:
Hidden polje
Hidden polje je, kao i prethodno, <input> tag. Koristimo ga kad elimo da postavimo neku vrednost,
a ona ne bi trebalo da bude vidljiva. Moemo uneti u startu ili se moe uitati i pomou skripti. Na
primer, moemo uitati iz baze id broj kupca koji je trenutno prijavljen na sajtu, i taj broj proslediti
kroz formular:
<input type="hidden" name="hdnCustId"
value="<?php echo $strCustomerId; ?>"/>
Checkbox
Izborom ove opcije kreiramo takoe <input> tag, samo to je atribut type postavljen na checkbox.
Ne postoji mogunost unosa vrednosti, ve polje moe imati samo dve vrednosti - checked ili
unchecked. Sledi prikaz u kodu i u browseru:
<input type="checkbox" name="obavestenja" id="obavestenja" />
<label for="obavestenja">Da li elite da primate obavetenja emailom?</label>
Name - Unosimo naziv grupe od koga e u nizu biti kreirane ID vrednosti za polja.
Checkboxes U ovom sredinjem delu kreiramo polja unosom Label vrednosti (za labele
koje se prikazuju korisniku) iValue vrednosti (koje korisnik ne vidi, ali se prosleuju kroz
formular). Takoe, opcijama +/- dodajemo/briemo polja, a strelicama gore/dole ureujemo
redosled.
Lay out using Biramo da li e polja u grupi biti rasporeena pomou line break vrednosti ili
pomou tabele.
Ova opcija nam dozvoljava da kreiramo padajui meni ili listu za izbor. Poetni dijalog je isti kao za
input polja, ali kreira <select> tag u koji se smeta po jedan <option> tag za svaku ponuenu
vrednost.
Jump menu
Ova opcija je vrlo slina prethodnoj, sa tom razlikom da nam omoguava da se oizvri akcija posle
selekcije.
Image Field
Ponaa se vrlo slino kao Submit dugme, o emu emo priati uskoro. Razlika je u tome to se moe
postaviti slika umesto standardnog ili stilizovanog dugmeta.
File Field
Opcija koja kreira polje za postavljanje/upload fajlova. Takoe je <input> tag, ali sa atributom type
podeenim na file.
Iako neraskidiva celina (jedan input tag), vizuelno je predstavljeno iz dva dela. Vidimo polje slino
obinom tekst input polju i dugme browse, kojim korisnik poziva dijalog za izbor fajla. Prilino je
teko stilizovati ovo polje, a tekst Browse.. ne moemo promeniti.
Button
Kreira dugme forme. Postoje tri tipa:
Submit Prosleuje sve podatke forme skripti koju smo definisali putem action atributa
forme, na nain koji smo definisali putem method atributa forme (GET/POST). Drugim reima,
korisnik unosi podatke, ali tek kada izabere submit opciju, formular ini ono za ta je
namenjen, tj. prosleuje podatke dalje.
Reset Resetuje sva polja u formi u kojoj se nalazi to ponekad moe prilino iznervirati
korisnika ako je sluajno izabrao ovu opciju umesto submit. Koristiti sa oprezom.
None Postavlja dugme koje samo po sebi nema nikakvu funkcionalnost. Obino se postavlja
JavaScript koji e izriti neku radnju poto se dugme aktivira.
Fieldset
Pomou Fieldset opcije moemo grupisati odreena polja. Na primer, moemo imati u formularu
grupe za opte informacije, informacije o plaanju i tako dalje. Kreira <fieldset> tag u koji
smetamo sva polja koja elimo da grupiemo, i <legend> na samom poetku grupe, a koji sadri
naziv. Sam naziv pluta na liniji koja okruuje grupu. Kod izgleda poput sledeeg:
<fieldset><legend>Opte informacije</legend>
.....
</fieldset>
U browseru, fieldset koji okruuje dva tekstualna polja izgleda poput slike:
Spry opcijama emo se baviti u nekoj od narednih lekcija, za sada je bitno da znamo da je to
JavaScript koji e nam DW sam kreirati po potrebi.
Validacija (u ovom kontekstu) je proces u kome se proverava da li je forma pravilno popunjena od
strane korisnika. Na primer, moemo proveriti da li je korisnik uneo obavezna polja, da li je potvrdio
checkbox u kome se slae sa pravilima korienja, da li je uneo e-mail adresu u pravilnoj formi i
tako dalje. Validacija moe biti client-side ili server-side. Client side znai da se vri u browseru
korisnika I, tek ako je sve ok, prosleuje skripti na dalju obradu. Server side validacija prosleuje
formu, odnosno njene podatke odmah skripti, koja tek onda validira formu.
Ovih poslednjih sedam opcija su ponovljena polja o kojima smo priali, ali uz dodatak validacije. Sve
su client-side. Moemo uneti, na primer, Text Field polje i podesiti da prihvata samo datume u obliku
dd/mm/gggg (dan/mesec/godina).
KAKO
DODATI STIL
XML-U
XML dokumenat sa ova tri stilska fajla linkovana ka njemu izgleda ovako:
<?xml-stylesheet href="common.css" type="text/css"?>
<?xml-stylesheet href="modern.css" title="Modern" media="screen"
type="text/css"?>
<?xml-stylesheet href="classic.css" alternate="yes"
title="Classic" media="screen, print" type="text/css"?>
<ARTICLE>
<HEADLINE>Fredrick the Great meets Bach</HEADLINE>
<AUTHOR>Johan Nikolaus Forkel</AUTHOR>
<PARA>
Jedno vee, ba dok je spreman uzimao svoju
<INSTRUMENT>flautu</INSTRUMENT> i kad su njegovi muziari su bili okupljeni,
oficir mu je doneo listu nepoznatih lica koja su bila stigla.
</PARA>
</ARTICLE>
HTML ima style elemenat koji dozvoljava stilsim fajlovima da budu ugraeni
direktno u HTML fajl, bez potrebe za spoljnim fajlom. U nekim sluajevima to je
lake, naroito kada je stilski fajl veoma specifian datom dokumentu.
Veina formata zasnovanih na XML-u nee imati takav elemenat, ali iste PI
koje linkuju ka spoljnim stilskim fajlovima mogu da se iskoriste da linkuju ka
stilskim fajlovima koji su ugraeni u sam dokumenat. Od Februara 2006, i
dalje postoje tehniki problemi sa ovime, i ne postoji formalna
specifikacija. Na primer:
<?xml-stylesheet href="#style" type="text/css"?>
<ARTICLE>
<EXTRAS id="style">
INSTRUMENT { display: inline }
ARTICLE, HEADLINE, AUTHOR, PARA { display: block }
EXTRAS { display: none }
</EXTRAS>
<HEADLINE>Frederik Veliki susree Baha</HEADLINE>
...
</ARTICLE>
U ovom sluaju type="text/css" atribut mora postojati, inae brauzer (ili neki drugi
program) mora da pogaa stilski jezik. xml-stylesheet PI sada pokazuje ne ka
spoljanjem stilskom fajlu, nego ka elementu unutar samog dokumenta. Taj
elemenat je identifikovan sa id atributom koji slui kao meta linka. (U zavisnosti
od konkretnog XML formata, id atribut se moe zvati drugaije; u nekim
formatima moda i nee postojati odgovarajui atribut.)
Nereeni problemi
W3C Preporuka Prikljuivanje Stilskih Fajlova XML dokumentima ne definie sluaj
ugraenih stilskih fajlova, mada to deluje kao razumno tumaenje da se omogue URL
fragmenti (poevi od #). U ovom momentu, poetkom 2006-te, jo uvek postoje nereeni
problemi i ne postoji objavljena specifikacija. Problemi su sledei:
1.
Zato to ugraen stilski fajl nije uitan posebno sa servera, server ne moe da kae
brauzeru kojeg je formata stilski fajl. Zato, type atribut je neophodan u ovom sluaju. Ne
definisano je ta se dogaa ako je atribut izostavljen: dali je stilski fajl ignorisan? da li se
pretpostavlja da je u pitanju CSS? da li postoji neki algoritam koji odreuje jezik?
2.
3.
Slino, nije definisano ta se deava ako postoji pod elemenat unutar elementa ka
kome se pokazuje. Da li se stilski fajl sadri od svog sadraja u svim elementima koji su
ukljueni? Od sadraja samo prvog elementa? Ili je ovo greka i ceo elemenat se ignorie?
4.
5.
6.
LINIJSKI STILOVI
HTML takoe dozvoljava stilovima da vudu direktno prikaeni individualnim
elementima uz pomo style atributa. Veina dokument formata zanovanih na
XML-u nee imati takav atribut, mada neki dozvoljavaju karakteristike
(modules) iz HTML da se koriste unutar dokumenta.
CLASS ATRIBUTI
probajte u svom brauzeru
class
Ako ne postoji atribut class, ali ima neto drugo to moemo da koristimo,
atribut selektor "[ ]" i dalje vai:
probajte u svom brauzeru
<?xml-stylesheet href="#s1" type="text/css"?>
<doc>
<s id="s1">
s { display: none }
p { display: block }