PRIRUČNICI TEHNIČKOG VELEUČILIŠTA U ZAGREBU
MANUALIA POLYTECHNICI STUDIORUM ZAGRABIENSIS
TOMISLAV STOJANOV
UVOD U (X)HTML I CSS
Nakladnik
Tehničko veleučilište u Zagrebu
Informatičko-računarski odjel
Autor
Tomislav Stojanov, predavač
Recenzenti
prof. dr. sc. Zdravko Dovedan Han
prof. dr. sc. Hrvoje Stančić
Objavljivanje je odobrilo Stručno vijeće Tehničkog veleučilišta u Zagrebu,
odlukom broj: 1407-6/13 od 26. ožujka 2013. godine.
Skripta
CIP zapis dostupan u računalnom katalogu
Nacionalne i sveučilišne knjižnice u Zagrebu pod brojem 839764
ISBN 978-953-7048-27-3
2013 © T. Stojanov: Skripta – UHC stranica 2
Uvod u (X)HTML i CSS skripta
Tomislav Stojanov 16. 12. 2012.
Cilj kolegija: „Upoznati studente s teoretskim i praktičnim radom u HTML-u, XHTML-u i CSS-u, osnovnim jezicima za obilježavanje (markup jezicima) sadržaja i izgleda na webu. Za uspješno praćenje kolegija nije potrebno prethodno znanje o webu kao ni poznavanje rada u suvremenim programima za grafičku izradbu internetskih stranica.” (Iz sinopsisa kolegija) 2013 © T. Stojanov: Skripta – UHC stranica 3
Sadržaj
HTML 4 i XHTML ...... 7 Jezici za obilježavanje ...... 8 Kodiranje, skriptiranje i programiranje ...... 9 Razlika sadržaja i prikaza ...... 9 Nastavak ...... 11 O HTML-u...... 11 Struktura HTML-a ...... 12 Doctype ...... 12 HTML i XHTML ...... 14 Minimalna stranica ...... 14 Zaglavlje ...... 15 Blokni i redčani elementi ...... 15 Okviri (frameovi) ...... 15 Komentari ...... 17 Poveznice ...... 17 Ikona u adresnoj traci (favicon) ...... 19 Rad sa slikama ...... 19
Atributi alt i title ...... 20 Liste ...... 21 Odlomci ...... 22 Prikaz hrvatskih grafema ...... 24 Tablice ...... 26 Obrasci (forme) u HTML-u ...... 29 CSS 2.1 ...... 32 O CSS-u ...... 33 CSS i (X)HTML ...... 34 CSS prioriteti ...... 35 CSS media types ...... 36 Sintaksa...... 37 Klase i identifikatori ...... 38
Elementi div i span ...... 39 Poveznice u CSS-u ...... 40
2013 © T. Stojanov: Skripta – UHC stranica 4
Dizajniran HTML obrazac u CSS-u ...... 40 Pokazivači ...... 42 Jedinice ...... 42 Model kutije ...... 43 Obrubi (borders) ...... 44 Model sata ...... 45 Rubovi (margins) ...... 47 Popuna (paddings) ...... 48 Model kutije Internet Explorera ...... 48 Uređivanje lista ...... 49 Skraćivanje zapisa sintakse fonta ...... 50 Uređivanje tablica ...... 51 Dimenzioniranje ...... 52 Klasificiranje ...... 52 Plutanje...... 54 Pozicioniranje ...... 65 Kombiniranje obilježivača...... 71 Sveopći obilježivač ...... 73 Pseudoklase i pseudoelementi ...... 74 Uvjetovani komentari za IE ...... 75 Naglašavanje autorstva u CSS-u ...... 76 HTML5 ...... 77 O HTML5 ...... 78 HTML5 video ...... 79 HTML5 audio ...... 81 MP3 ...... 82 AAC ...... 82 Vorbis ...... 82
Crtaća površina canvas ...... 83 Lokalna pohrana ...... 83 Web-radnici ...... 84 Ostale značajke HTML5 ...... 84 Google Maps u HTML-u ...... 85 CSS3 ...... 87
2013 © T. Stojanov: Skripta – UHC stranica 5
O CSS3...... 88 Obilježivači u CSS3 ...... 88 Prebirnički prefiksi ...... 89 Zaobljivanje uglova i sjenčanje ...... 90 Prozirnost ...... 90 Prebirnici ...... 93 Testiranje mrežnih stranica ...... 93 Literatura ...... 96
2013 © T. Stojanov: Skripta – UHC stranica 6 prvo poglavlje
HTML 4 i XHTML
2013 © T. Stojanov: Skripta – UHC stranica 7
Jezici za obilježavanje Jezici za obilježavanje ili markup language obilježavaju tekst (primarno, ali ne nužno samo tekst) – strukturno, grafički, kontekstualno, formulativno i funkcionalno. Primjeri:
• SGML – za obilježavanje općenitih dokumenata • HTML – za obilježavanje mrežnoga teksta • XHTML – jedan od jezika koji su se razvili iz HTML-a • RTF – za obilježavanje teksta i njegova oblikovanja • ODF – za obilježavanje teksta i njegova oblikovanja • CSS – za uređivanje izgleda • XML – za razmjenu podataka • LaTeX – za uređivanje tehničke i znanstvene dokumentacije • DocBook – za semantičko kodiranje tehničke dokumentacije • Wikitext – za oblikovanje enciklopedijskoga wiki-teksta • MathML – za matematiku • MusicML – za obilježavanje glazbenoga zapisa • TEI – za obilježavanje teksta • CML (Chemical Markup Language) – za kemiju • RTML (Remote Telescope Markup Language) – za daljinsko upravljanje teleskopa • VoiceXML – za kodiranje glasa • RSS – za razmjenu kratkih obavijesti • XUL (Mozilla XML User Interface Markup Language) – za kodiranje sučelja
Jezike za obilježavanje mogli bismo podijeliti i sadržajno na dokumentne (Document Markup Language), vektorske, na one koje služe za kodiranje aplikativnog sučelja, za razvijanje web-servisa (Web Service Markup Language), za općenitu namjenu itd.
Na primjeru obilježavanja teksta podebljanim slovima (bold) ovako bi izgleda zapis u različitim sintaksama:
• \b – RTF • – HTML • … – XHTML •
Prezentacijski su jezici za obilježavanje, primjerice, RTF, DOCX i CSS s pomoću kojih vizualiziramo svoj sadržaj i on je najčešće skriven od korisnika. Deskriptivni jezici su, primjerice, HTML i XML s pomoću kojih opisujemo podatke. Proceduralni jezici poput LaTeX-a i PostScripta zovu se tako jer uključuju obavijesti o proceduri ili radnji vezano za podatak.
2013 © T. Stojanov: Skripta – UHC stranica 8
Deskriptivni metapodatak opisuje podatak, a proceduralni metapodatak navodi proceduru ili radnju vezanu za neki podatak.
Da je HTML deskriptivni podatak govori i činjenica da definiranjem naslova (npr.
) ne upućujemo kakav on izgled treba poprimiti, nego samo konstatiramo njegovu „naslovnost“. Za tu se svrhu služimo prezentacijskim jezikom – CSS-om. U svojoj ranoj fazi HTML je služio i za jednu i za drugu primjenu, tj. on je bio i prezentacijski i deskriptivni, ali se razvojem tehnologije i shvaćanjem potrebe odvajanja izgleda od sadržaja to dokinulo. I danas u HTML-u postoje oznake koje su upućivale na tu njegovu dimenziju, kao što su
(break ili prelazak u novi redak),
(horizontal rule ili ispisivanje vodoravne crte) itd.
Ono što oznaku
čini „prezentacijskom“ jest prikazna (eng. rendering) jedinica u prebirnicima koja na sebi zadani način pretvara pojmovnost naslova u prikaz u određenome fontu i veličini.
Jezika za obilježavanje ima mnoštvo i njihov se broj povećava. Široko rasprostranjeni jezici za obilježavanje jesu i JMBG, OIB, automobilske registracijske pločice itd. Oni su formativni i strukturirani zapisi o građanima ili vozilima u kojima su sažetom sintaksom navedena važna njihova svojstva. Za jezike za obilježavanje važno je da imaju dogovoreni skup obilježja i definiranu sintaksu.
U primjeru HTML-a kao jezika za obilježavanje sav je tekst okružen oznakama (eng. tags ili tagovima) koje ga strukturno opisuju.
Kodiranje, skriptiranje i programiranje Razlika kodiranja, skriptiranja i programiranja postoji iako se često terminološki ne provodi pa se govori o „programiranju stranica u HTML-u“.
Programiraju se instrukcije u želji da predvidimo moguće ishode i sljedove izvršavanja. Tipični programski jezici su PHP, Java, JavaScript itd.
Skriptiramo kada želimo automatizirati česte radnje ili povezani niz radnji u jednu, npr. shell skriptni jezici, GUI skriptni jezici, tekstni skriptni jezici.
Kodiramo kada želimo jedan jezik oblikovati u nekome drugome jeziku, npr. kodiramo tekst u HTML-u.
Dakle, HTML i CSS su koderski jezici, a rad u njima naziva se kodiranje.
Razlika sadržaja i prikaza Razlika sadržaja (content) i prikaza (layout) u svijetu HTML-a i CSS vrlo je izrađena i treba voditi računa da se ona svlada. Ona uvjetuje gdje završava HTML i počinje CSS. U ranoj fazi razvoja HTML-a on je imao ulogu i opisa strukture stranice i grafičkoga uređenja. Uvidjelo se da to nije dobar put i da se mora odvojiti jedno od drugoga te da mora postojati zasebni jezik za grafičko oblikovanje.
Danas je popularno govoriti o semantičkome webu, tj. o naglasku na ukodiravanju semantičkih podataka o svemu za što je potrebno dati dodatnu obavijest, a što je računalno iskoristivo. To je naglasak na webu koji je okrenut sadržaju i koji „zna“ što će sa značenjem. Semantički web započinje sa semantičkim oznakama i kodiranju značenjskih podataka, počevši od atributa alt pa sve do optimizacije stranice za tražilice.
2013 © T. Stojanov: Skripta – UHC stranica 9
Željeli bismo da treće aplikacije koje rade s našim stranicama što „pravilnije“ obrađuju građu (npr. servisi Readability, InstaPaper itd.), da osobe oštećena vida također mogu pristupati našemu tekstu, da podržavamo izmjenjivost sadržaja među web-servisima i aplikacijama, da tražilice dobro indeksiraju sadržaj itd.
Nasuprot semantičkim oznakama, ekranske oznake pripadaju kodu HTML-a koji se sve više napuštaju. Neke od njih su: (ukošeno), (podebljano), ili (prekriženo), (uvećano), (umanjeno), (podvučeno) i dr. Sve te oznake rade ono što bi trebale – čine da nam riječi imaju izgled kako mi to želimo, međutim to je isključivo ekranska perspektiva bez značenja. Odgovarajući semantički obojeni elementi jesu:
•
… – razne vrste naslova prema kojima tražilice semantički indeksiraju dokument • – ukošena slova • – podebljana slova • – skraćenice • – adrese • – kratice • – definicija • – promjenjivica • ili – navod • – kod Drugim riječima, sve ove oznake značenjski opisuju vrstu teksta koji okružuju (određuju da je riječ o kodu, citatu, kratici itd.).
Događalo se da su se, primjerice, oznake
pogrešno koristile. Budući da je dotični element tekst prikazivao na određeni vizualni način, počelo ga se koristiti i za druge primjere kada nije bilo riječ o navodu. Semantičkim oznakama pripadaju i navodnici koji bi se trebali obilježavati elementom . Oni su semantički jer daju dodatni podatak o navodnicima. Naime, jezici se međusobno razlikuju po tipu navodnika. Kada se učitavaju stranice čiji je tekst obilježen ovim oznakama, korisnik će vidjeti one navodnike čiji je jezik postavljen kao radni u prebirniku. Tako će oznaka navodnika biti različito prikazana ovisno o hrvatskome, francuskome ili engleskome jezičnom sučelju.
Tip navodnika može se i zadati atributom lang gdje kao vrijednost može biti postavljena dvoslovna oznaka jezika.
– umjesto vrijednosti fr, može se staviti us, uk, hr itd.
2013 © T. Stojanov: Skripta – UHC stranica 10
Nastavak Datoteka s kodom u HTML-u ima nastavak .html ili .htm. Ako nismo u mogućnosti stvorenoj datoteci promijeniti nastavak, obratite pozornost da se u operativnome sustavu Windows promijeni zadano svojstvo neprikazivanja nastavaka.
O HTML-u HTML označuje HyperText Markup Language ili „jezik za obilježavanje teksta“. Nije potrebno prevoditi izraz u „hipertekst“. Izraz „hipertekst“ pomodni je izraz koji se u ranoj fazi nastajanja HTML-a kao prefiksoid hiper- nadopisivao i drugim računalnim pojmovima (npr. Hyper Links, Hyper Reference) u želji da se što je moguće više razlikuje od „običnoga“ teksta, poveznice ili referencije.
Nastavak dokumenta u HTML-u je html ili htm. Svaki dokument u HTML-u tekstualna je datoteka i uređuje se u uređivaču teksta. (Na vježbama koristimo se besplatnom aplikacijom Notepad++.)
Prva i osnovna namjena HTML-a jest prikaz teksta na webu, ali to nije i jedina namjena. Jezik HTML koristio se za pisanje datoteka pomoći (eng. help files) u formatu CHM (Microsoft Compiled HTML). Riječ je o sada već napuštenome formatu koji je izmislio Microsoft za potrebe pisanja priručnika o radu s određenom tehnologijom. Naslijedio ga je drugi jezik za obilježavanje koji je bio razvijen baš za potrebe – Microsoft Assistance Markup Language, a sada se primarno koristi web za takve potrebe. Osim teksta kodiranoga u HTML-u, ta je datoteka u sebi imala kompiliran i sadržaj, indeks, tražilicu te druge funkcije. Mogli bismo govoriti o CHM-u kao o ranoj fazi razvoja e-knjige.
2013 © T. Stojanov: Skripta – UHC stranica 11
Struktura HTML-a Svaki se dokument pisan u HTML-u sastoji od dva temeljna dijela – od zaglavlja (eng. head) i od tijela (eng. body). Podatci u zaglavlju odnose se na podatke u tijelu dokumenta na način da ih opisuju pa ih možemo nazvati metapodatcima. U zaglavlju se navode brojni podatci o samoj mrežnoj stranici, autoru, kodnoj prikazbi, ključnim riječima itd. Ono što je navedeno među metapodatcima, to se ne prikazuje u prebirniku.
HTML čine elementi, a elementi se sastoje od oznaka. Oznake se dijele na jednostruke i dvostruke. Jednostruke oznake su one koje se sastoje od samo jednoga člana, dok dvostruke imaju početni i završni član (npr. oznakom
započinje odlomak, a
završava). Jednostruke su oznake, primjerice,
i
koje zbog svoje naravi ne okružuju neki tekst da bi ga opisale (prva oznaka stvara novi redak, a druga iscrtava novi redak). Oznake mogu imati atribute koji dodatno specificiraju element. Atribut se piše uvijek unutar početnoga člana oznake. Atribuirana oznaka
označuje da odlomak p ima klasu s nazivom naslov. Doctype Doctype je podatak o definiciji tipa dokumenta (eng. document type definition) koji stoji na samome vrhu dokumenta pisanoga u HTML-u s pomoću kojega prebirnik zna koji jezik može očekivati. Doctype određuje je li riječ o HTML-u, XHTML-u, XML-u, SGML-u te u kojoj je inačici kod pisan. Doctype je zapravo poseban jezik za obilježavanje s nastavkom .dtd i on po svojemu obliku nije „XML-oidan“ (njegov pandan u svijetu XML-a jest XML Schema).
HTML 4.01 ima tri tipa dokumenta: tranzicijski (transitional), striktni (strict) i skup okvira (frameset). Tranzicijski mod je najkorišteniji i odnosi se na sintaksu koja ne isključuje valjanost starih oznaka i elemenata. Primjerice, tranzicijski mod dopušta i dalje korištenje nepreporučenih elemenata
2013 © T. Stojanov: Skripta – UHC stranica 12
, , itd. Ona se smatra „prijelaznom“ prema striktnoj ili „čistoj“ sintaksi i ponajprije je izmišljen radi razloga kompatibilnosti prema starome kodu.
Striktni mod ne dopušta valjanost oznaka, elemenata ili sintakse koja nije podudarna s njegovim standardom. Ovaj je mod onaj koji se preporučuje za pisanje koda.
Mod skupa okvira (frameset) ne razlikuje se od tranzicijskoga i striktnoga moda po kategoriji odnosa prema starome standardu, nego bitno fundamentalnije – frameset je način gradnje web-stranice s pomoću višestrukih okvira ili dokumenata u HTML-u. Više o tome u zasebnome poglavlju.
XHTML ima identične tipove dokumenta kao i HTML 4, ali se sintaksa ponešto razlikuje.
Kao što se vidi, svaki XHTML dokument započinje s osnovnom deklaracijom koja potječe iz svijeta XML-a, a po čemu se vidi da je XHTML zapravo XML dokument. Prvi redak određuje inačicu XML-a kojom je XTHML pisan i koja mu je znakovna prikazba. Drugi redak određuje tip dokumenta i koja je adresa datoteke prema kojoj se taj jezik usklađuje.
Jezici HTML 4 i XHTML podržavaju različite modove, ali ih HTML5 više nema.
2013 © T. Stojanov: Skripta – UHC stranica 13
HTML i XHTML U trenutku faze standardizacije jezika HTML kada su kulminirali problemi međusobne neusklađenosti prebirnika u prikazu istoga HTML koda i paralelnome razvoju jezika, nastala je ideja o „višoj i striktninijoj“ razini jezika HTML. Jedno od rješenja bilo je strože postaviti sintaktička pravila pa se tako kao uzor striktnosti postavio XML. Pravila iz njega prenesena su u HTML, a prema tome je oznaka X u XHTML-u i dobila ime. Među ostalim, XHTML je definirao da vrijednost atributa mora biti u navodnicima, da se elementi pišu malim slovima, da se oznake moraju zatvarati itd. XML je jezik za prijenos sadržaja, ali je bio zamišljen i kao metajezik za druge jezike. XHTML je trebao biti njegov prvi primjer jezika nastaloga na uzoru XML-a.
XHTML 1.0 zamišljen je da bude isto što i HTML 4.01 samo s dodatkom XML-a. Tada se vjerovalo da će XHTML potpuno zamijeniti HTML i da će započeti s razvojem od inačice 1.0 pa nadalje. Inačica 1.1 tako je bila još striktnija, isključen mu je tranzicijski mod, a u planu je bio i razvoj jezika XHTML 2.0 koji je trebao biti vrlo različit jezik od 1.1. Međutim, njegov je razvoj kasnio, a što je odgovaralo onima kojima su željeli nastaviti razvijati jezik na drugim osnovama (npr. Opera koja je započela sa svojim radom, a kojoj su se pridružile i druge kompanije koje su stvorili konzorcij WHATWG). Iz tih se inicijativa razvio HTML5.
Svaki se HTML 4.01 može automatski pretvoriti u XHTML bilo preko web-sučelja http://www.it.uc3m.es/jaf/html2xhtml/ ili preko softvera kao što je TidyUI (http://tidy.sourceforge.net).
Minimalna stranica Da bismo kod pisan HTML-om mogli nazvati stranicom HTML, moramo imati minimalno sljedeće stvari:
Da bismo stranicu učinili minimalnom stranicom pisanoj u HTML5, moramo dodati deklaraciju i znakovnu prikazbu:
2013 © T. Stojanov: Skripta – UHC stranica 14
Zaglavlje U zaglavlju (
) nalaze se metapodatci stranice ili podatci o podatcima. Oni se upisuju u element . Tih tipova podataka ima dosta i oni se i dalje razvijaju. Neki od najčešćih su: 1. Podatak o ključnim riječima i opisu stranice.
2. Podatak o autoru ili vremenu uređivanja stranice.
3. Podatak o aplikaciji koja je generirala kod.
4. Podatak o kodnome prikazu teksta.
5. Podatak o automatskome osvježivanju stranice. Vrijednost contenta izražena je u sekundama.
6. Podatak o preusmjerivanju stranice i koliko brzo.
Blokni i redčani elementi Svi se elementi u HTML-u dijele na dvije vrste – blokne (block-element) i redčane (inline-element). Blokni se elementi prikazuju u bloku, tj. za svoj prikaz traže vlastiti redak (npr.
,
, - ,
), a redčani se prikazuju u nastavku, tj. linearno (npr. , , ). Okviri (frameovi) Okvir predstavlja strukturu više stranica u HTML-u koji se međusobno slažu na način da se više stranica u HTML-u istovremeno prikazuju unutar jedne stranice. Više okvira čini skup okvira (eng. frameset). Da bismo radili s okvirima, moramo odrediti skup okvira. Odnos među njima postavlja se s pomoću postotaka ili piksela. Stranica koja određuje kako se okviri prikazuje ne sadržava
, nego samo definiciju okvira. 2013 © T. Stojanov: Skripta – UHC stranica 15
Okviri se mogu slagati u redcima (rows) ili u stupcima (cols), a taj se podatak navodi kao atribut frameseta. Vrijednosti atributa frameset govore o međusobnu omjeru okvira koji se definiraju u njemu. U navedenoj sintaksi iskazuje se da se dva okvira nalaze u stupcima u odnosu da prvi zauzima 25 posto, a drugi 75 posto ekrana.
Umjesto jedne od vrijednosti moguće je postaviti zvjezdicu (*) koja govori o tome da dotični okvir zauzima onoliko prostora koliko je preostalo u odnosu na druge okvire i ukupnu trenutačnu razlučivost ekrana.
Želimo li zaključati položaj okvira i onemogućiti ručno pomicanje, koristimo sljedeću sintaksu:
Uvid u kod određenoga okvira postižemo desnim klikom miša iznad njega i odabirom This frame > View frame source.
Iako se izradba mrežnih stranica s pomoću okvira smatra zastarjelim dizajnom, korištenje unutarnjih okvira ili iframeova potpuno je standardno i rabe se kad god ubacujemo elemente sa stranica YouTube ili Google Maps.
Vježba s okvirima: http://www.w3schools.com/html/tryit.asp?filename=tryhtml_frame_cols.
2013 © T. Stojanov: Skripta – UHC stranica 16
Dva su način izgradnje skupa okvira: gniježđenjem (frameset unutar frameseta) ili višestrukim framesetom (dvije ili više stranica određuju frameset).
Unutarnji okvir ili iframe određuje se unutar
, a ne unutar frameseta. Njegov atribut src definira stranicu koja se treba učitati u njemu. Obratite pozornost da element iframe nema sadržaja i da je prazan.
Komentari Komentari u HTML-u služe za istu svrhu kao i u bilo kojem drugom jeziku za kodiranje, programiranje ili skriptiranje – za pisanje bilježaka autora koda. Komentiranjem postižemo veću razumljivost i snalaženje u kodu, osobito pri vraćanju na taj dio koda, ali i za jednu drugu pragmatičnu funkciju: komentiranjem, naime, postižemo da dio koda koji okružimo učinimo da se ne izvršava čime si olakšavamo testiranje i ispravljanje pogrešaka pri kodiranju.
Komentiranje se vrši s pomoći oznaka , a može se komentirati jedan redak ili više njih.
Poveznice Poveznice ili linkovi (eng. links) dijele se na apsolutne i relativne.
Apsolutne poveznice su one koje upućuju na jedinstvenu adresu bez obzira upućuju li na mrežnu ili lokalnu adresu.
Klikni za posjet stranicama TVZ-a Lokalna datoteka
Relativne poveznice su one koje upućuju na sadržaj u odnosu na datoteku odakle se kreće. Druge se povezane („linkane“) datoteke mogu naći u istoj mapi, u mapi iznad ili u mapi ispod one odakle se kreće.
– relativna poveznica za dokument u istoj mapi – relativna poveznica za dokument u nadređenoj mapi – relativna poveznica za dokument u podređenoj mapi 2013
Produkcijska poveznica radi se s pomoću znaka ljestve (#), Tako obilježen tekst ponaša se u našim produkcijskim uvjetima kao prava poveznica iako nas ne vodi nigdje klikom na nju.
Otvaranje stranice u novome prozoru (ili kartici) prebirnika radi se s pomoću atributa target="_blank".
2013 © T. Stojanov: Skripta – UHC stranica 17
Poveznice ne moraju uvijek otvarati novu mrežnu stranicu, mogu otvarati i klijent za rad s e-poštom ako odredimo da klikom na poveznicu želimo da posjetitelji pošalju poruku. To je, primjerice, često u podnožju stranice gdje ostavljamo adresu e-pošte za određenu vrstu kontakta.
Poveznica za preuzimanje također se smatra vrstom poveznice. Ako se umjesto nastavka html stavi nastavak, primjerice, mp3 ili docx, prebirnik će klikom na poveznicu započeti preuzimanje (eng. download).
Sljedeću podvrstu poveznica čine fragmenti ili sidrišta. Nazivaju se i unutarnjim poveznicama jer se odnose na veze unutar dokumenta ili s jednoga dijela teksta na drugi. Osobito su pogodni za stranice s puno teksta i za e-knjige (skokovi na sadržaj, indeks, fusnote itd.). Poveznica se ostvaruje znakom ljestve (#), a mjesto na koje ide obilježeno je atributom name.
Obratite pozornost da atribut name nema znak ljestvi, kao i da je poveznica prazna.
Želimo li raditi fragmente među različitim okvirima, sintaksa jest sljedeća
Ono se čita: „kad klikneš na riječ Poveznica otvori stranicu okvir_1.html u dijelu #a na lokaciji xy. Obratite pozornost da čim radimo s okvirima koji se međusobno „linkaju“ s pomoću atributa target, taj se podatak mora prvo deklarirati u framesetu kao atribut name="xy".
Primjer deklaracije frameseta s atributom name:
2013 © T. Stojanov: Skripta – UHC stranica 18
Primjer pozivanja s atributom target:
Ikona u adresnoj traci (favicon) Ikona u adresnoj traci često se postavlja radi boljega dojma koji stranica ostavlja na korisnika. U adresnu traku stavlja se logotip ili neki drugi prepoznatljivi grafički simbol koji se sprema u oznakama (eng. bookmarks) stranice. Nastavak oznake može biti u ICO, GIF ili PNG u razlučivostima 16x16, 32x32 ili 48x48 u 8-bitnoj, 24 bitnoj ili 32-bitnoj dubini boje. Izradba ikone je jednostavna jer ne uključuje grafičku obradbu nego odlazak na stranicu http://www.chami.com/html-kit/services/favicon/ na kojoj postavljamo svoju izvornu sliku i za koju odabiremo želimo li animacijsku ili neanimacijsku ikonu. Ovisno što smo odabrali, u
se postavlja sintaksa: neanimirana ikona: animirana ikona: Rad sa slikama Nulta ishodišna točka ili toča razlučivosti 0x0 na računalnome ili televizijskome ekranu nalazi se u gornjemu lijevom kutu.
To znači da se prikaz renderira linearno i da moramo planirati njihov prikaz u odnosu na tekst.
Slike se prije postavljanja na web moraju obraditi i optimizirati za ekranski prikaz, a više o tome govori se u području web-dizajna, a ne kodiranja mrežnih stranica.
Najčešći format slika je JPEG, a on može imati više nastavaka: JPG, JPEG, JPE, JIF i drugi. JPEG je standardni akronim lossy image formata Joint Photographic Experts Group. Na operativnim sustavima Windows rabi se JPG, a na Mac OS JPEG.
Sintaksa za ubacivanje fotografija:
2013 © T. Stojanov: Skripta – UHC stranica 19
Obratite pozornost da ako slici veličine 3456x2304 piksela damo da se prikazuje u okviru 20x22 piksela, ta će slika imati male prikazne dimenzije, ali će se učitavati i dalje izvorna slika. Taj je način rada sa slikama nepreporučljiv zbog svoje neoptimiziranosti.
Atributima width, height, align, valign, border i drugima moguće je dodatno urediti sliku, ali se ovaj način rada ne preporučuje. Suvremeni standard propisuje da se sva grafička obradba slika mora uređivati s pomoću CSS-a, a ne starim HTML-ovskim atributima.
Atributi alt i title Atributi alt i title razlikuju se po tome što je alt značenje, a title ekranski prikaz. Ono što navedemo pod titleom prikazat će se na ekranu nakon što neko vrijeme zadržimo pokazivač miša nad nekim sadržajem (slikom, poveznicom itd.), a tekst pod atributom alt predstavlja njegov opis.
Atribut alt obvezatan je za validaciju stranice, pa makar bio naveden bez sadržaja (alt="").
2013 © T. Stojanov: Skripta – UHC stranica 20
Slike se postavljaju kao poveznice na način da ih se okruži elementom .
Liste Liste u HTML-u služe za popisivanje ili nabrajanje nekih članova. Liste mogu biti uređene (kada je među njima uređeni poredak, eng. ordered ili ol), neuređene (kada poredak među članovima liste nije bitan, eng. unordered ili ul) i definicijske (kada stavke liste imaju dodatni opis, definition ili dl). HTML ima samo tri simbola za prikaz neuređenih lista. Preporučuje se izgled lista obraditi CSS-om.
● – disc
○ – circle
■ – square
Uređena lista izgleda ovako:
- Prvo
- Drugo
- Treće
2013 © T. Stojanov: Skripta – UHC stranica 21 Uređenoj listi možemo postaviti atribut type čija vrijednost određuje tip pobrojavanja. Ono može biti arapskim brojkama, malim ili velikim rimskim brojkama, te malim ili velikim slovima abecede.
- Prvo
- Drugo
- Treće
Element
može imati i atribut start čija vrijednost određuje od kojega će člana pobrojavanje započeti. Sljedeći primjer pokazuje da će stavke liste započeti s velikim rimskim brojem VII. Neuređena lista izgleda ovako:
- Prvo
- Drugo
- Treće
Definicijska lista dodatno određuje stavku liste s elementom
- . Ta je lista izvorno zamišljena kao strukturni opis nekoga rječnika ili pojmovnika.
- Enchanting
- Poboljšavanje svojstava
- Tailoring
- Krojenje
- Jewelcrafting
- Draguljarstvo
Liste se mogu gnijezditi (liste unutar lista).
- Prva stavka
- Ubačena stavka 1
- Ubačena stavka 2
- Druga stavka
Odlomci Tekst se u HTML-u upisuje u elementu koji označuje paragraf. Bez obzira što se u tekstu može nalaziti višestrukih bjelina ili praznih redaka, prebirnici će višak praznih mjesta reducirati i prikazati tekst s minimalnim brojem praznoga prostora. To je svojstvo značajno za sve jezike za obilježavanje.
2013 © T. Stojanov: Skripta – UHC stranica 22
Međutim, želimo li doista prikazati prazan prostor, umjesto odlomka
trebamo postaviti
koji određuje da se dotični tekst ne formatira. Ovako to izgleda u prebirniku:
Želimo li izbjeći da nam se neki tekst ne lomi na kraju retka, koristimo HTML-ovu oznaku za neprelamajući razmak (non-breaking space). To se rabi kod titula, novčanih vrijednosti, jediničnih mjera itd. Uočite na donjoj slici da se titule nisu odvajale od imena i prezimena.
2013 © T. Stojanov: Skripta – UHC stranica 23
Prikaz hrvatskih grafema Da bismo dobili prikaz znakova kakav očekujemo, bez obzira odakle netko učitavao naše stranice i s koje tipkovnice ili jezičnoga područja, moramo uskladiti sljedeće stvari:
1. kodni prikaz preglednika
2. kodni prikaz datoteke s kodom u HTML-u
3. kodni prikaz zaglavlja koda u HTML-u
HTML 4.01 zaglavlje:
2013 © T. Stojanov: Skripta – UHC stranica 24
HTML5 zaglavlje:
4. definirani font u prebirniku
5. font instaliran na OS-u
2013 © T. Stojanov: Skripta – UHC stranica 25
6. font definiran u datoteci s kodom u CSS-u
Upravo zbog široke raširenosti nekoliko fontova (npr. Verdana, Arial, Helvetica, Times i dr.), oni se najčešće rabe na prikaz mrežnih tekstova. Vrlo je loš odabir prinuđenje posjetitelja naših stranica da instalira font koji se nama sviđa i u kojem smo kodirali naš izgled.
Zadana znakovna prikazba je unikod i to UTF-8.
Tablice Zbog nedostatka drugih načina pozicioniranja elemenata na stranici, u ranoj fazi razvoja weba tablice su bile korištene posve pogrešno – umjesto da služe isključivo za ono za što su i namijenjene, tj. za prikaz sadržaja u tabličnome obliku (npr. popis studenata i njihove evidencije i ocjena), tablice su se koristile za layout, tj. za raspoređivanje elemenata na ekranu. Drugim riječima, širina se ekrana zamislila kao velika tablica te smo određeno polje definirali na način da se prikazuje u dijelu ekrana i u njega upisali svoj sadržaj.
Iako je ova tehnika pogrešna, brojne stranice još uvijek koriste ovaj način dizajniranja (primjerice, sam W3Schools je ovaj dizajn imao sve do sredine 2011. godine, a sve hrvatske dnevne novine do 2010. godine).
Tablice se grade s pomoći sljedećih elemenata:
, , (table heading), (table row) i (table definition). Element je glavni kontejner koji okuplja sve tablične podelemente. Tablica se, poput televizijske slike na ekranu, definira linearno. Ako želimo odrediti tablicu koja ima dva retka i dva stupca, onda se prvo definira prvi redak, zatim prvo polje prvoga retka, zatim drugo polje prvoga retka, potom se zatvara prvi redak pa se otvara drugi redak. Nakon toga se odredit prvo i drugo polje drugoga retka, a na kraju se zatvara drugi redak. Elementom određuje se redak, a polje u retku. Imamo li potrebe za metapoljima u tablici, npr. za opisom što se u kojem stupcu definira, umjesto rabimo . Ovako to izgleda u praksi: 2013 © T. Stojanov: Skripta – UHC stranica 26
Tablični elementi imaju brojne atribute. Neki od njih koji se odnose na grafičko oblikovanje zamjenjuju se CSS-om. U nastavku navodimo neke od njih. Poput poveznica, slika i drugih strukturnih elemenata, tablice također imaju atribuciju
i . • – određivanje okvira tablici
• – određivanje pozadinske boje tablice
• – određivanje širine tablice
• – određivanje visine tablice
• – određivanje vodoravnoga poravnavanja tablice
• – određivanje okomitoga poravnavanja tablice
• – određivanje pozadinske slike tablice
• – određivanje odmaka teksta od ruba polja
• – određivanje odmaka polja među sobom
2013 © T. Stojanov: Skripta – UHC stranica 27
Uočite da se tablicama ne može definirati visina u postotcima ako se postavi HTML ili XHTML doctype.
Tablice po svojem ustroju nisu uvijek pravilne pa moraju postojati i atributi s pomoću kojih spajamo vodoravna (rowspan) ili okomita (colspan) polja tablice. Brojčana vrijednost koja se upisuje pod tim atributima predstavlja broj polja koji se ukupno spaja. Obratite pozornost da se definicija polja u retku koje je spojeno nekom drugom polju briše.
2013 © T. Stojanov: Skripta – UHC stranica 28
Kod ovih nepravilnih tablica važno je zapamtiti da si uvijek moramo postaviti pitanje „koliko ova tablica ima redaka i stupaca“. To nije uvijek moguće odgovoriti iz prve, ali nam je taj odgovor ključan u pisanju koda. Pomoći će nam iscrtkavanje nevidljivih bridova polja olovkom čime će doći do našega odgovora. Osim toga, tom ćemo tehnikom znati i koje polje trebamo spojiti s kojim drugim poljima.
Obrasci (forme) u HTML-u Obrasci u HTML-u su dijelovi stranice koji predstavljaju sučelje za odgovor našim posjetiteljima. Da bi prebirnik ispravno shvatio da je riječ o obrascu, moramo postaviti glavni kontejner
ili – navod • – kod Drugim riječima, sve ove oznake značenjski opisuju vrstu teksta koji okružuju (određuju da je riječ o kodu, citatu, kratici itd.).
Događalo se da su se, primjerice, oznake
pogrešno koristile. Budući da je dotični element tekst prikazivao na određeni vizualni način, počelo ga se koristiti i za druge primjere kada nije bilo riječ o navodu. Semantičkim oznakama pripadaju i navodnici koji bi se trebali obilježavati elementom . Oni su semantički jer daju dodatni podatak o navodnicima. Naime, jezici se međusobno razlikuju po tipu navodnika. Kada se učitavaju stranice čiji je tekst obilježen ovim oznakama, korisnik će vidjeti one navodnike čiji je jezik postavljen kao radni u prebirniku. Tako će oznaka navodnika biti različito prikazana ovisno o hrvatskome, francuskome ili engleskome jezičnom sučelju.
Tip navodnika može se i zadati atributom lang gdje kao vrijednost može biti postavljena dvoslovna oznaka jezika.
– umjesto vrijednosti fr, može se staviti us, uk, hr itd.
2013 © T. Stojanov: Skripta – UHC stranica 10
Nastavak Datoteka s kodom u HTML-u ima nastavak .html ili .htm. Ako nismo u mogućnosti stvorenoj datoteci promijeniti nastavak, obratite pozornost da se u operativnome sustavu Windows promijeni zadano svojstvo neprikazivanja nastavaka.
O HTML-u HTML označuje HyperText Markup Language ili „jezik za obilježavanje teksta“. Nije potrebno prevoditi izraz u „hipertekst“. Izraz „hipertekst“ pomodni je izraz koji se u ranoj fazi nastajanja HTML-a kao prefiksoid hiper- nadopisivao i drugim računalnim pojmovima (npr. Hyper Links, Hyper Reference) u želji da se što je moguće više razlikuje od „običnoga“ teksta, poveznice ili referencije.
Nastavak dokumenta u HTML-u je html ili htm. Svaki dokument u HTML-u tekstualna je datoteka i uređuje se u uređivaču teksta. (Na vježbama koristimo se besplatnom aplikacijom Notepad++.)
Prva i osnovna namjena HTML-a jest prikaz teksta na webu, ali to nije i jedina namjena. Jezik HTML koristio se za pisanje datoteka pomoći (eng. help files) u formatu CHM (Microsoft Compiled HTML). Riječ je o sada već napuštenome formatu koji je izmislio Microsoft za potrebe pisanja priručnika o radu s određenom tehnologijom. Naslijedio ga je drugi jezik za obilježavanje koji je bio razvijen baš za potrebe – Microsoft Assistance Markup Language, a sada se primarno koristi web za takve potrebe. Osim teksta kodiranoga u HTML-u, ta je datoteka u sebi imala kompiliran i sadržaj, indeks, tražilicu te druge funkcije. Mogli bismo govoriti o CHM-u kao o ranoj fazi razvoja e-knjige.
2013 © T. Stojanov: Skripta – UHC stranica 11
Struktura HTML-a Svaki se dokument pisan u HTML-u sastoji od dva temeljna dijela – od zaglavlja (eng. head) i od tijela (eng. body). Podatci u zaglavlju odnose se na podatke u tijelu dokumenta na način da ih opisuju pa ih možemo nazvati metapodatcima. U zaglavlju se navode brojni podatci o samoj mrežnoj stranici, autoru, kodnoj prikazbi, ključnim riječima itd. Ono što je navedeno među metapodatcima, to se ne prikazuje u prebirniku.
HTML čine elementi, a elementi se sastoje od oznaka. Oznake se dijele na jednostruke i dvostruke. Jednostruke oznake su one koje se sastoje od samo jednoga člana, dok dvostruke imaju početni i završni član (npr. oznakom
započinje odlomak, a
završava). Jednostruke su oznake, primjerice,
i
koje zbog svoje naravi ne okružuju neki tekst da bi ga opisale (prva oznaka stvara novi redak, a druga iscrtava novi redak). Oznake mogu imati atribute koji dodatno specificiraju element. Atribut se piše uvijek unutar početnoga člana oznake. Atribuirana oznaka
označuje da odlomak p ima klasu s nazivom naslov. Doctype Doctype je podatak o definiciji tipa dokumenta (eng. document type definition) koji stoji na samome vrhu dokumenta pisanoga u HTML-u s pomoću kojega prebirnik zna koji jezik može očekivati. Doctype određuje je li riječ o HTML-u, XHTML-u, XML-u, SGML-u te u kojoj je inačici kod pisan. Doctype je zapravo poseban jezik za obilježavanje s nastavkom .dtd i on po svojemu obliku nije „XML-oidan“ (njegov pandan u svijetu XML-a jest XML Schema).
HTML 4.01 ima tri tipa dokumenta: tranzicijski (transitional), striktni (strict) i skup okvira (frameset). Tranzicijski mod je najkorišteniji i odnosi se na sintaksu koja ne isključuje valjanost starih oznaka i elemenata. Primjerice, tranzicijski mod dopušta i dalje korištenje nepreporučenih elemenata
2013 © T. Stojanov: Skripta – UHC stranica 12
, , itd. Ona se smatra „prijelaznom“ prema striktnoj ili „čistoj“ sintaksi i ponajprije je izmišljen radi razloga kompatibilnosti prema starome kodu.
Striktni mod ne dopušta valjanost oznaka, elemenata ili sintakse koja nije podudarna s njegovim standardom. Ovaj je mod onaj koji se preporučuje za pisanje koda.
Mod skupa okvira (frameset) ne razlikuje se od tranzicijskoga i striktnoga moda po kategoriji odnosa prema starome standardu, nego bitno fundamentalnije – frameset je način gradnje web-stranice s pomoću višestrukih okvira ili dokumenata u HTML-u. Više o tome u zasebnome poglavlju.
XHTML ima identične tipove dokumenta kao i HTML 4, ali se sintaksa ponešto razlikuje.
Kao što se vidi, svaki XHTML dokument započinje s osnovnom deklaracijom koja potječe iz svijeta XML-a, a po čemu se vidi da je XHTML zapravo XML dokument. Prvi redak određuje inačicu XML-a kojom je XTHML pisan i koja mu je znakovna prikazba. Drugi redak određuje tip dokumenta i koja je adresa datoteke prema kojoj se taj jezik usklađuje.
Jezici HTML 4 i XHTML podržavaju različite modove, ali ih HTML5 više nema.
2013 © T. Stojanov: Skripta – UHC stranica 13
HTML i XHTML U trenutku faze standardizacije jezika HTML kada su kulminirali problemi međusobne neusklađenosti prebirnika u prikazu istoga HTML koda i paralelnome razvoju jezika, nastala je ideja o „višoj i striktninijoj“ razini jezika HTML. Jedno od rješenja bilo je strože postaviti sintaktička pravila pa se tako kao uzor striktnosti postavio XML. Pravila iz njega prenesena su u HTML, a prema tome je oznaka X u XHTML-u i dobila ime. Među ostalim, XHTML je definirao da vrijednost atributa mora biti u navodnicima, da se elementi pišu malim slovima, da se oznake moraju zatvarati itd. XML je jezik za prijenos sadržaja, ali je bio zamišljen i kao metajezik za druge jezike. XHTML je trebao biti njegov prvi primjer jezika nastaloga na uzoru XML-a.
XHTML 1.0 zamišljen je da bude isto što i HTML 4.01 samo s dodatkom XML-a. Tada se vjerovalo da će XHTML potpuno zamijeniti HTML i da će započeti s razvojem od inačice 1.0 pa nadalje. Inačica 1.1 tako je bila još striktnija, isključen mu je tranzicijski mod, a u planu je bio i razvoj jezika XHTML 2.0 koji je trebao biti vrlo različit jezik od 1.1. Međutim, njegov je razvoj kasnio, a što je odgovaralo onima kojima su željeli nastaviti razvijati jezik na drugim osnovama (npr. Opera koja je započela sa svojim radom, a kojoj su se pridružile i druge kompanije koje su stvorili konzorcij WHATWG). Iz tih se inicijativa razvio HTML5.
Svaki se HTML 4.01 može automatski pretvoriti u XHTML bilo preko web-sučelja http://www.it.uc3m.es/jaf/html2xhtml/ ili preko softvera kao što je TidyUI (http://tidy.sourceforge.net).
Minimalna stranica Da bismo kod pisan HTML-om mogli nazvati stranicom HTML, moramo imati minimalno sljedeće stvari:
Da bismo stranicu učinili minimalnom stranicom pisanoj u HTML5, moramo dodati deklaraciju i znakovnu prikazbu:
2013 © T. Stojanov: Skripta – UHC stranica 14
Zaglavlje U zaglavlju (
) nalaze se metapodatci stranice ili podatci o podatcima. Oni se upisuju u element . Tih tipova podataka ima dosta i oni se i dalje razvijaju. Neki od najčešćih su: 1. Podatak o ključnim riječima i opisu stranice.
2. Podatak o autoru ili vremenu uređivanja stranice.
3. Podatak o aplikaciji koja je generirala kod.
4. Podatak o kodnome prikazu teksta.
5. Podatak o automatskome osvježivanju stranice. Vrijednost contenta izražena je u sekundama.
6. Podatak o preusmjerivanju stranice i koliko brzo.
Blokni i redčani elementi Svi se elementi u HTML-u dijele na dvije vrste – blokne (block-element) i redčane (inline-element). Blokni se elementi prikazuju u bloku, tj. za svoj prikaz traže vlastiti redak (npr.
,
, - ,
), a redčani se prikazuju u nastavku, tj. linearno (npr. , , ). Okviri (frameovi) Okvir predstavlja strukturu više stranica u HTML-u koji se međusobno slažu na način da se više stranica u HTML-u istovremeno prikazuju unutar jedne stranice. Više okvira čini skup okvira (eng. frameset). Da bismo radili s okvirima, moramo odrediti skup okvira. Odnos među njima postavlja se s pomoću postotaka ili piksela. Stranica koja određuje kako se okviri prikazuje ne sadržava
, nego samo definiciju okvira. 2013 © T. Stojanov: Skripta – UHC stranica 15
Okviri se mogu slagati u redcima (rows) ili u stupcima (cols), a taj se podatak navodi kao atribut frameseta. Vrijednosti atributa frameset govore o međusobnu omjeru okvira koji se definiraju u njemu. U navedenoj sintaksi iskazuje se da se dva okvira nalaze u stupcima u odnosu da prvi zauzima 25 posto, a drugi 75 posto ekrana.
Umjesto jedne od vrijednosti moguće je postaviti zvjezdicu (*) koja govori o tome da dotični okvir zauzima onoliko prostora koliko je preostalo u odnosu na druge okvire i ukupnu trenutačnu razlučivost ekrana.
Želimo li zaključati položaj okvira i onemogućiti ručno pomicanje, koristimo sljedeću sintaksu:
Uvid u kod određenoga okvira postižemo desnim klikom miša iznad njega i odabirom This frame > View frame source.
Iako se izradba mrežnih stranica s pomoću okvira smatra zastarjelim dizajnom, korištenje unutarnjih okvira ili iframeova potpuno je standardno i rabe se kad god ubacujemo elemente sa stranica YouTube ili Google Maps.
Vježba s okvirima: http://www.w3schools.com/html/tryit.asp?filename=tryhtml_frame_cols.
2013 © T. Stojanov: Skripta – UHC stranica 16
Dva su način izgradnje skupa okvira: gniježđenjem (frameset unutar frameseta) ili višestrukim framesetom (dvije ili više stranica određuju frameset).
Unutarnji okvir ili iframe određuje se unutar
, a ne unutar frameseta. Njegov atribut src definira stranicu koja se treba učitati u njemu. Obratite pozornost da element iframe nema sadržaja i da je prazan.
Komentari Komentari u HTML-u služe za istu svrhu kao i u bilo kojem drugom jeziku za kodiranje, programiranje ili skriptiranje – za pisanje bilježaka autora koda. Komentiranjem postižemo veću razumljivost i snalaženje u kodu, osobito pri vraćanju na taj dio koda, ali i za jednu drugu pragmatičnu funkciju: komentiranjem, naime, postižemo da dio koda koji okružimo učinimo da se ne izvršava čime si olakšavamo testiranje i ispravljanje pogrešaka pri kodiranju.
Komentiranje se vrši s pomoći oznaka , a može se komentirati jedan redak ili više njih.
Poveznice Poveznice ili linkovi (eng. links) dijele se na apsolutne i relativne.
Apsolutne poveznice su one koje upućuju na jedinstvenu adresu bez obzira upućuju li na mrežnu ili lokalnu adresu.
Klikni za posjet stranicama TVZ-a Lokalna datoteka
Relativne poveznice su one koje upućuju na sadržaj u odnosu na datoteku odakle se kreće. Druge se povezane („linkane“) datoteke mogu naći u istoj mapi, u mapi iznad ili u mapi ispod one odakle se kreće.
– relativna poveznica za dokument u istoj mapi – relativna poveznica za dokument u nadređenoj mapi – relativna poveznica za dokument u podređenoj mapi 2013
Produkcijska poveznica radi se s pomoću znaka ljestve (#), Tako obilježen tekst ponaša se u našim produkcijskim uvjetima kao prava poveznica iako nas ne vodi nigdje klikom na nju.
Otvaranje stranice u novome prozoru (ili kartici) prebirnika radi se s pomoću atributa target="_blank".
2013 © T. Stojanov: Skripta – UHC stranica 17
Poveznice ne moraju uvijek otvarati novu mrežnu stranicu, mogu otvarati i klijent za rad s e-poštom ako odredimo da klikom na poveznicu želimo da posjetitelji pošalju poruku. To je, primjerice, često u podnožju stranice gdje ostavljamo adresu e-pošte za određenu vrstu kontakta.
Poveznica za preuzimanje također se smatra vrstom poveznice. Ako se umjesto nastavka html stavi nastavak, primjerice, mp3 ili docx, prebirnik će klikom na poveznicu započeti preuzimanje (eng. download).
Sljedeću podvrstu poveznica čine fragmenti ili sidrišta. Nazivaju se i unutarnjim poveznicama jer se odnose na veze unutar dokumenta ili s jednoga dijela teksta na drugi. Osobito su pogodni za stranice s puno teksta i za e-knjige (skokovi na sadržaj, indeks, fusnote itd.). Poveznica se ostvaruje znakom ljestve (#), a mjesto na koje ide obilježeno je atributom name.
Obratite pozornost da atribut name nema znak ljestvi, kao i da je poveznica prazna.
Želimo li raditi fragmente među različitim okvirima, sintaksa jest sljedeća
Ono se čita: „kad klikneš na riječ Poveznica otvori stranicu okvir_1.html u dijelu #a na lokaciji xy. Obratite pozornost da čim radimo s okvirima koji se međusobno „linkaju“ s pomoću atributa target, taj se podatak mora prvo deklarirati u framesetu kao atribut name="xy".
Primjer deklaracije frameseta s atributom name:
2013 © T. Stojanov: Skripta – UHC stranica 18
Primjer pozivanja s atributom target:
Ikona u adresnoj traci (favicon) Ikona u adresnoj traci često se postavlja radi boljega dojma koji stranica ostavlja na korisnika. U adresnu traku stavlja se logotip ili neki drugi prepoznatljivi grafički simbol koji se sprema u oznakama (eng. bookmarks) stranice. Nastavak oznake može biti u ICO, GIF ili PNG u razlučivostima 16x16, 32x32 ili 48x48 u 8-bitnoj, 24 bitnoj ili 32-bitnoj dubini boje. Izradba ikone je jednostavna jer ne uključuje grafičku obradbu nego odlazak na stranicu http://www.chami.com/html-kit/services/favicon/ na kojoj postavljamo svoju izvornu sliku i za koju odabiremo želimo li animacijsku ili neanimacijsku ikonu. Ovisno što smo odabrali, u
se postavlja sintaksa: neanimirana ikona: animirana ikona: Rad sa slikama Nulta ishodišna točka ili toča razlučivosti 0x0 na računalnome ili televizijskome ekranu nalazi se u gornjemu lijevom kutu.
To znači da se prikaz renderira linearno i da moramo planirati njihov prikaz u odnosu na tekst.
Slike se prije postavljanja na web moraju obraditi i optimizirati za ekranski prikaz, a više o tome govori se u području web-dizajna, a ne kodiranja mrežnih stranica.
Najčešći format slika je JPEG, a on može imati više nastavaka: JPG, JPEG, JPE, JIF i drugi. JPEG je standardni akronim lossy image formata Joint Photographic Experts Group. Na operativnim sustavima Windows rabi se JPG, a na Mac OS JPEG.
Sintaksa za ubacivanje fotografija:
2013 © T. Stojanov: Skripta – UHC stranica 19
Obratite pozornost da ako slici veličine 3456x2304 piksela damo da se prikazuje u okviru 20x22 piksela, ta će slika imati male prikazne dimenzije, ali će se učitavati i dalje izvorna slika. Taj je način rada sa slikama nepreporučljiv zbog svoje neoptimiziranosti.
Atributima width, height, align, valign, border i drugima moguće je dodatno urediti sliku, ali se ovaj način rada ne preporučuje. Suvremeni standard propisuje da se sva grafička obradba slika mora uređivati s pomoću CSS-a, a ne starim HTML-ovskim atributima.
Atributi alt i title Atributi alt i title razlikuju se po tome što je alt značenje, a title ekranski prikaz. Ono što navedemo pod titleom prikazat će se na ekranu nakon što neko vrijeme zadržimo pokazivač miša nad nekim sadržajem (slikom, poveznicom itd.), a tekst pod atributom alt predstavlja njegov opis.
Atribut alt obvezatan je za validaciju stranice, pa makar bio naveden bez sadržaja (alt="").
2013 © T. Stojanov: Skripta – UHC stranica 20
Slike se postavljaju kao poveznice na način da ih se okruži elementom .
Liste Liste u HTML-u služe za popisivanje ili nabrajanje nekih članova. Liste mogu biti uređene (kada je među njima uređeni poredak, eng. ordered ili ol), neuređene (kada poredak među članovima liste nije bitan, eng. unordered ili ul) i definicijske (kada stavke liste imaju dodatni opis, definition ili dl). HTML ima samo tri simbola za prikaz neuređenih lista. Preporučuje se izgled lista obraditi CSS-om.
● – disc
○ – circle
■ – square
Uređena lista izgleda ovako:
- Prvo
- Drugo
- Treće
2013 © T. Stojanov: Skripta – UHC stranica 21 Uređenoj listi možemo postaviti atribut type čija vrijednost određuje tip pobrojavanja. Ono može biti arapskim brojkama, malim ili velikim rimskim brojkama, te malim ili velikim slovima abecede.
- Prvo
- Drugo
- Treće
Element
može imati i atribut start čija vrijednost određuje od kojega će člana pobrojavanje započeti. Sljedeći primjer pokazuje da će stavke liste započeti s velikim rimskim brojem VII. Neuređena lista izgleda ovako:
- Prvo
- Drugo
- Treće
Definicijska lista dodatno određuje stavku liste s elementom
- . Ta je lista izvorno zamišljena kao strukturni opis nekoga rječnika ili pojmovnika.
- Enchanting
- Poboljšavanje svojstava
- Tailoring
- Krojenje
- Jewelcrafting
- Draguljarstvo
Liste se mogu gnijezditi (liste unutar lista).
- Prva stavka
- Ubačena stavka 1
- Ubačena stavka 2
- Druga stavka
Odlomci Tekst se u HTML-u upisuje u elementu koji označuje paragraf. Bez obzira što se u tekstu može nalaziti višestrukih bjelina ili praznih redaka, prebirnici će višak praznih mjesta reducirati i prikazati tekst s minimalnim brojem praznoga prostora. To je svojstvo značajno za sve jezike za obilježavanje.
2013 © T. Stojanov: Skripta – UHC stranica 22
Međutim, želimo li doista prikazati prazan prostor, umjesto odlomka
trebamo postaviti
koji određuje da se dotični tekst ne formatira. Ovako to izgleda u prebirniku:
Želimo li izbjeći da nam se neki tekst ne lomi na kraju retka, koristimo HTML-ovu oznaku za neprelamajući razmak (non-breaking space). To se rabi kod titula, novčanih vrijednosti, jediničnih mjera itd. Uočite na donjoj slici da se titule nisu odvajale od imena i prezimena.
2013 © T. Stojanov: Skripta – UHC stranica 23
Prikaz hrvatskih grafema Da bismo dobili prikaz znakova kakav očekujemo, bez obzira odakle netko učitavao naše stranice i s koje tipkovnice ili jezičnoga područja, moramo uskladiti sljedeće stvari:
1. kodni prikaz preglednika
2. kodni prikaz datoteke s kodom u HTML-u
3. kodni prikaz zaglavlja koda u HTML-u
HTML 4.01 zaglavlje:
2013 © T. Stojanov: Skripta – UHC stranica 24
HTML5 zaglavlje:
4. definirani font u prebirniku
5. font instaliran na OS-u
2013 © T. Stojanov: Skripta – UHC stranica 25
6. font definiran u datoteci s kodom u CSS-u
Upravo zbog široke raširenosti nekoliko fontova (npr. Verdana, Arial, Helvetica, Times i dr.), oni se najčešće rabe na prikaz mrežnih tekstova. Vrlo je loš odabir prinuđenje posjetitelja naših stranica da instalira font koji se nama sviđa i u kojem smo kodirali naš izgled.
Zadana znakovna prikazba je unikod i to UTF-8.
Tablice Zbog nedostatka drugih načina pozicioniranja elemenata na stranici, u ranoj fazi razvoja weba tablice su bile korištene posve pogrešno – umjesto da služe isključivo za ono za što su i namijenjene, tj. za prikaz sadržaja u tabličnome obliku (npr. popis studenata i njihove evidencije i ocjena), tablice su se koristile za layout, tj. za raspoređivanje elemenata na ekranu. Drugim riječima, širina se ekrana zamislila kao velika tablica te smo određeno polje definirali na način da se prikazuje u dijelu ekrana i u njega upisali svoj sadržaj.
Iako je ova tehnika pogrešna, brojne stranice još uvijek koriste ovaj način dizajniranja (primjerice, sam W3Schools je ovaj dizajn imao sve do sredine 2011. godine, a sve hrvatske dnevne novine do 2010. godine).
Tablice se grade s pomoći sljedećih elemenata:
, , (table heading), (table row) i (table definition). Element je glavni kontejner koji okuplja sve tablične podelemente. Tablica se, poput televizijske slike na ekranu, definira linearno. Ako želimo odrediti tablicu koja ima dva retka i dva stupca, onda se prvo definira prvi redak, zatim prvo polje prvoga retka, zatim drugo polje prvoga retka, potom se zatvara prvi redak pa se otvara drugi redak. Nakon toga se odredit prvo i drugo polje drugoga retka, a na kraju se zatvara drugi redak. Elementom određuje se redak, a polje u retku. Imamo li potrebe za metapoljima u tablici, npr. za opisom što se u kojem stupcu definira, umjesto rabimo . Ovako to izgleda u praksi: 2013 © T. Stojanov: Skripta – UHC stranica 26
Tablični elementi imaju brojne atribute. Neki od njih koji se odnose na grafičko oblikovanje zamjenjuju se CSS-om. U nastavku navodimo neke od njih. Poput poveznica, slika i drugih strukturnih elemenata, tablice također imaju atribuciju
i . • – određivanje okvira tablici
• – određivanje pozadinske boje tablice
• – određivanje širine tablice
• – određivanje visine tablice
• – određivanje vodoravnoga poravnavanja tablice
• – određivanje okomitoga poravnavanja tablice
• – određivanje pozadinske slike tablice
• – određivanje odmaka teksta od ruba polja
• – određivanje odmaka polja među sobom
2013 © T. Stojanov: Skripta – UHC stranica 27
Uočite da se tablicama ne može definirati visina u postotcima ako se postavi HTML ili XHTML doctype.
Tablice po svojem ustroju nisu uvijek pravilne pa moraju postojati i atributi s pomoću kojih spajamo vodoravna (rowspan) ili okomita (colspan) polja tablice. Brojčana vrijednost koja se upisuje pod tim atributima predstavlja broj polja koji se ukupno spaja. Obratite pozornost da se definicija polja u retku koje je spojeno nekom drugom polju briše.
2013 © T. Stojanov: Skripta – UHC stranica 28
Kod ovih nepravilnih tablica važno je zapamtiti da si uvijek moramo postaviti pitanje „koliko ova tablica ima redaka i stupaca“. To nije uvijek moguće odgovoriti iz prve, ali nam je taj odgovor ključan u pisanju koda. Pomoći će nam iscrtkavanje nevidljivih bridova polja olovkom čime će doći do našega odgovora. Osim toga, tom ćemo tehnikom znati i koje polje trebamo spojiti s kojim drugim poljima.
Obrasci (forme) u HTML-u Obrasci u HTML-u su dijelovi stranice koji predstavljaju sučelje za odgovor našim posjetiteljima. Da bi prebirnik ispravno shvatio da je riječ o obrascu, moramo postaviti glavni kontejner