Professional Documents
Culture Documents
Fizičkom
Prvi i najniži OSI model je
Fizički sloj
Ukoliko ne želimo da se neki tekst prelomi u više linija, treba ga napisati između
<nobr> i </nobr>
Ukoliko u HTML dokumentu napišemo više razmaka
Svi oni će se svesti na samo jedan
Dat je deo HTML koda:
<i>Glavni meni<i>
Postoji greška
Označiti tačnu CSS sintaksu
body{color:black;}
OSI referentni model se sastoji od koliko slojeva
7
<tag> t e ks t</tag>
pre
Šta od navedenog jeste atribut taga <body>
H2
Označiti sve autribute koje može imati <font> tag.
face
size
color
Koji atribut definiše tekst koji će biti prikazan umesto slike ukoliko ona ne može
biti
prikazana?
alt
Dimenzije slike se zadaju pomoću atributa widh i height i one se zadaju
u pikselima ili procentima
CSS je skraćenica od
Cascading Style Sheets
Koja boja će se primeniti na paragrafu?
<style type="text/css">
p {color: purple; }
p {color: green; }
p {color: gray; }
Gray
Označiti tačan HTML za postavljanje pozadinske slike
<body background="bakground.gif">
Tag <frameset> zamenjuje koji tah u HTML
<body>
Za multimedjalne aplikacije za prenos galsa ili slike koja se oslanjaju na rad u
realnom
vremenu korisi se TCP protokol
Ne
Spojiti odgovarajuće delove CSS pravila
blockquote ( lin-height: 1.5; )
vrednos : 1.5
Selektor blockquote
svojstvo line-heihht
deklaracija line-heiht: 1.5
Označiti pravilan način povezivanja HTML stranice sa spoljnim CSS fajlom
<link rel="stylesheet" type="text/css" href="/path/mystyle.css"
Koji HTML tag se koristi za definisanje internog CSS Stila
<style>
Ukoliko želimo da se link otvori u posebnom tablu, vrednost atributa___treba da
bude___.
target,_blank
Koji selektor se koristi za označavanje stila za jedan specifičan, jedinstven
element?
id
Pricnip da protokol nižeg nivoa pri preuzimanju podataka dobijenih od protokola
višeg nivoa dodaje sopstvene kontrole
parametre i takav skup podataka prosleđuje protokolu nižeg nivoa (koji primenjuje
isti princip) naziva se
Enkapsulacija
Za šta od navedenog je zadužen sloj prezentacije?
Kompresiju dekompresiju podataka
Koje se svojstvo u CSS-u koristi za menjanje boje pozadine
background-color
Kako se unosi komentar u CSS Fajl
/*komentar*/
Označiti tačan naziv za kreiranje linkova u HTML-u.
<a href="http://viser.edu.rs">VISER</a>
Dat je deo HTML koda
<a>Tekst linka</a href="file.html"?
Da
Po tehnologiji prenosa računarske mreže dele na difuyijske (brodcast) mreže i mreže
od tačke do tačke (point to point).
Da
Gde u HTML kodu treba uključiti spoljni CSS fajl
unutar <head> taga
Tekstualno polje se unutar forme postavlja upotrebom taga
<input>
Koji HTML tag služi za unošenje novog reda
<br>
HTML je skraćenica za
Hyper Text Markup Language
Uz pomoć kog HTML taga se moze napraviti nenumerisana lista?
<ul>
IP (internet protokol) je protokol kojeg OSI referentnog modela?
Mrežnog sloja
Koji HTML atribut se koristi za definisanje linijskih CSS stilova
Style
Označiti tačan tag za dodavanje tekstualne oblasti unutar stranice.
<textarea>
Fajlovi koji prestavljaju HTML stranice imaju ekstenziju
.html
.htm
Kako se link može otvoriti u novom tabu
<a href="url" target="_blank"
Koristeći relativne putanje, napisati šta treba da stoji umesto tri tačke da bi se
unutar
stranice friends ubacila slika bullet.gif
../../../images/bullet.gif
Koristeci relativne putanje, napisati sta treba da stoji umesto tri tačkice tako da
se
napravi link unatar stranice money.html
<a hre="...">Link ka stranici index.html</a>
Koje CSS svojstvo kotrolise velicinu teksta?
font-size
Koji je od navedenih ispravan zapis za dodavanje pozadinske boje?
<body bgcolor="yellow">
Selektor koristi ID elementa, na primer id="podnaslov", na sledeci nacin
#podnaslov
Označiti tačan naziv za dodavanje slike unutar stranice
<img src="image.gif">
Pri kreiranju radio dugmeta, vrednost atributa type <input> taga je "radio".
Da
Koji od navedenih slojeva NE postoji u TCP/IP modelu
Sloj prezentacije
Celija tabele moze obuhvatiti i vise redova kolona, i to se postize atributima
colspan i rowspan
Kako se postavlja pozadina unutar svih <h1> elemenata?
h1 {background-color:#FFFF;}
Da bismo dbili maskirani tekst koristi se tag <password>
Da
Koji protokol pruza usluge aplikacija koje ne zahtevaju pouzdan prenos?
UDP
Oznaciti tacnu CSS sintaktsu
body{color:black;}
Port je ceo broj koji se sastoji od koliko bitova?
8
Poddokumenta <frameset> taga navode se u okviru taga
<frame>
Oblast pokrivanja kod LAN mreze je do nekoliko kilometara
Ne
Za umetanje linka koristi se tag
A
OSI model
2. Sloj veze – upravlja prenosom putem fizickog sloja i štiti više slojeve od
grešaka pri prenosu; Sloj veze upravlja i formatom poruka, podaci se konvertuju i
formatiraju u oblik pogodan za mrežni sloj; Definiše i podsloj MAC za pristup
zajednickom kanalu
3.Mrežni – omogucava prenos podataka izmedu mreža, bez obzira na njihove medusobne
razlike. Odreduje prenosne puteve, obavlja funkcije komutiranja; Na ovom sloju vrši
se rutiranje podataka, pa se za rutere kaže da su layer 3 uredaji. Najpoznatiji
protokol ovog sloja je IP protokol
TCP/IP Model
IP ADRESIRANJE I UREÐAJI
Fizicka adresa – MAC adresa, ima 48 bita i jedinstvena za svaki uredaj (prva 24
bita proizvodac, ostatak mrežna kartica)
Repetitori i habovi – rade na OSI fizickom sloju i regenerišu mrežni signal, tj.
ponovo ga šalju ka drugom segmentu. Ogranicenja – Ne može da poveže razlicite
segmente, segmente sa razlicitim pristupnim metodama, ne može da izoluje ni
filtrira pakete; Može da poveže razlicite tipove medijuma za prenos
Repetitori Mostovi
OSI sloj Fizicki Veze
Regeneracija Na nivou signala Na nivou paketa
Smanjuje saobracaj Ne Da
MIME tipovi – identifikator formata dokumenta. Bez MIME tipova, email klijent ne bi
mogao da razlikuje formate priloga
URL – sastoji se iz 3 dela – protokol preko koga se pristupa stranici; DNS ime
racunara na kome je stranica locirana; Lokalno ime fajla u kome je stranica
sacuvana
HTML
Atributi
COOKIES
Server dostavlja klijentu zajedno sa traženom stranicom, koji klijent može, a i ne
mora da sacuva. Sadrži 5 polja – Domen servera; putanja; Podaci (ime=vrednost);
Expires (do kad važi cookie); Secure (ako je yes, cookie je šifrovan)
HTTP PROTOKOL – za komunikaciju izmedu citaca i servera, koristi TCP port 80. Vrste
konekcije: Neperzistentna (konekcija se zatvara kad server pošalje podatke citacu);
Perzistentna
SERVERI POSEBNE NAMENE – Proxy (posrednik izmedu LAN korisnika i weba, smanjuje
cekanje na isporuku web stranica; Lokalni (na racunaru), LAN proxy (korporacijski),
ISP) i Firewall
SLIKE U HTML
<img src=“URL slike“> gif – više kontinuiranih delova iste boje; jpg – kod slika sa
vecom paletom boja
ALIGN – top, middle, bottom, left, right
ALT – tekst koji se prikazuje umesto slike
HEIGHT i WIDTH – u pikselima ili %
VSPACE i HSPACE – razmak izmedu teksta i slike (u px)
MAPIRANJE - <USEMAP>gornji levi ugao je koordinatni pocetak; primer: <IMG
SRC="slika1.gif" USEMAP="#mapaA">
Mapa se opisuje pomocu <MAP>, ciji je podelement <AREA> sa atributima: SHAPE, HREF,
COORDS
HIPERVEZA
<A> href – URL adresa stranice na koju se može preci; ID – identifikator sidra;
Target – gde se otvara referencirani dokument (_blank, _parent, _self
(podrazumevano), _top)
TABELE
<TABLE> <CAPTION> (opcioni, za naslov tabele), <TR> <TH> <TD> (colspan, rowspan)
Atributi: ALIGN, VALIGN, BORDER, CELLSPACING (u px, izmedu celija), CELLPADDING,
WIDTH
FONT
FREJMOVI
FORM
ACTION – definiše URL skripte koja obraduje podatke koji se pošalju putem forme.
METHOD – GET; POST (podaci sa posebnom zaštitom, bez ogranicenja velicine)
CSS
@import cita pravila pre nego što budu primenjena, tako da naknadno definisana
pravila preklapaju ova.
Box model
Selektor koji oznacava primenu stila na grupi (klasi) elemenata piše se npr:
.podNaslovi {color:red;} - tacka je obavezna!
Ime klase se može koristiti zajedno sa tipom elementa, a u tom slucaju se pravilo
primenjuje na elemente tog tipa iz oznacene klase. Na primer: H2.podNaslovi
{ color:red; }
Pseudoklase
Za znakove koji nisu opipljivi i koji ne mogu „rucno“ da se oznace: npr. first-
child; first-line; first-letter...
Za linkove: link (nije kliknuto, niti je miš nad njima); visited; focus; hover;
active (kada se na njih pritisne)
Vežba 1
? Sedam slojeva OSI modela su, pocev od najvišeg ka najnižem: aplikativni sloj,
sloj prezentacije, sloj sesije, transportni sloj, mrežni sloj, sloj veze podataka i
fizicki sloj.
Sloj aplikacije
Sloj aplikacije
Mrežne aplikacije
? za elektronsku poštu,
? prenos datoteka,
? za elektronsku prodaju,
Sloj aplikacije
? Najvažniji deo razvoja neke mrežne aplikacije jeste pisanje programa koji ce
se izvršavati na razlicitim krajnjim sistemima.
? program za veb server koji se izvršava na racunaru koji ima ulogu veb
servera.
Sloj aplikacije
? klijentsko-serverska arhitektura, i
? P2P arhitektura.
Sloj aplikacije
Klijentsko-serverska arhitektura
? Server ima stalnu, dobro poznatu adresu i uvek je dostupan. Klijent može uvek
da ga kontaktira, šaljuci odgovarajuci paket na IP adresu servera.
Sloj aplikacije
P2P arhitektura
Sloj aplikacije
? Za svaki par procesa koji medusobno komunicira, jedan od ova dva procesa
nazivamo klijent, a drugi server.
Sloj aplikacije
? Navedeni procesi medusobno komuniciraju, tj. šalju poruke jedan drugom. Sve
poruke poslate od jednog procesa do drugog moraju da produ kroz mrežu izmedu njih.
Procesi šalju poruke u mrežu i primaju poruke iz mreže preko softverskog interfejsa
koji se naziva soket.
Sloj aplikacije
Adresiranje procesa
? Na primer: 192.168.1.1:80.
Sloj aplikacije
? propusna moc,
? vremenska ogranicenja, i
? bezbednost.
Sloj aplikacije
? Kako su poruke koje šalju procesi struktuirane? Šta znace pojedina polja u
tim porukama? Kada procesi šalju poruke?
Sloj aplikacije
Veb i HTTP
Sloj aplikacije
Veb i HTTP
? putanje do objekta.
Sloj aplikacije
Veb i HTTP
? HTTP je protokol za komunikaciju izmedu servera i klijenta, koji funkcioniše
po principu zahtev/odgovor.
Sloj aplikacije
Veb i HTTP
Sloj aplikacije
FTP protokol
Sloj prezentacije
? enkripcija/dekripcija podataka.
Sloj sesije
? Sloj sesije (engl. Session Layer) je peti sloj OSI referentnog modela. Kao
što i sam naziv sloja kaže, ovaj sloj je zadužen za uspostavljanje i održavanje
sesije izmedu pokrenutih programa na predajnoj i prijemnoj strani.
Transportni sloj
Transportni sloj
Transportni sloj
? Uspostavljanje veze: Dakle, pre nego što pocne protok poruka na aplikativnom
nivou, TCP protokol razmenjuje kontrolne informacije transportnog sloja izmedu
klijenta i servera. Po završetku ove razmene informacija, kaže se da je
uspostavljena TCP veza izmedu soketa dva procesa. Oba procesa mogu istovremeno da
šalju svoje poruke. Kada završi sa slanjem podataka, aplikacija mora da raskine
vezu.
Transportni sloj
Transportni sloj
? Znate da transportni sloj leži neposredno iznad mrežnog sloja. Dok protokol
transportnog sloja obezbeduje logicku komunikaciju izmedu procesa koji se
izvršavaju na razlicitim racunarima, protokol mrežnog sloja obezbeduje logicku
komunikaciju izmedu racunara. Ovo se može objasniti korišcenjem analogije sa
obicnim domacinstvima.
Transportni sloj
? procesi = rodaci,
Transportni sloj
Transportni sloj
? TCP nudi aplikacijama još nekoliko dodatnih usluga. Prvo i najvažnije, nudi
pouzdan prenos podataka. Koristeci kontrolu toka, redne brojeve, potvrdu prijema i
tajmere, protokol TCP obezbeduje da se podaci od predajnog procesa do prijemnog
procesa isporuce tacno i u ispravnom redosledu. Na ovaj nacin, TCP pretvara
nepouzdanu uslugu protokola IP izmedu krajnjih sistema, u pouzdanu uslugu za prenos
podataka izmedu procesa. Protokol TCP takode obezbeduje kontrolu zagušenja. Ovo
sprecava da neka TCP veza pretrpa podacima linkove i rutere, koji se nalaze izmedu
racunara koji komuniciraju. Protokol TCP nastoji da svim TCP vezama, koje prolaze
preko zagušenog mrežnog linka, dodeli jednak deo propusnog opsega. Ovo se postiže
regulisanjem brzine kojom TCP veza na strani pošiljaoca šalje podatke u mrežu.
Nasuprot tome, UDP ne reguliše brzinu slanja podataka - aplikacija koja koristi UDP
može da šalje podatke proizvoljnom brzinom, dokle god hoce.
Transportni sloj
Portovi
? Na primer: 192.168.1.1:80
Transportni sloj
? 80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web
Transportni sloj
Aktivnost
Transportni sloj
Aktivnost
Mrežni sloj
? Neka su u mreži neka dva racunara. Mrežni sloj racunara koji šalje
informacije ka drugom racunaru preuzima segmente od transportnog sloja, enkapsulira
svaki segment u datagram i zatim šalje te datagrame na najbliži ruter. U prijemnom
racunaru, mrežni sloj prima datagrame od najbližeg rutera, izdvaja segmente
transportnog sloja i isporucuje ih naviše - transportnom sloju prijemnog racunara.
Dakle, uloga mrežnog sloja je prenošenje paketa od predajnog do prijemnog racunara.
Da bi to obavio, mrežni sloj mora da obavi dva važna zadatka:
? Rutiranje: Mrežni sloj mora da utvrdi rutu ili putanju kojom paketi proticu
od pošiljaoca do primaoca. Algoritme koji izracunavaju te putanje nazivamo
algoritmima rutiranja.
Mrežni sloj
Mrežni sloj
Internet protokol
IPv4.
Mrežni sloj
IPv4
? Adresa verzije 4 dugacka je 32 bita. Piše se kao niz cetiri trocifrena broja
(od 0 do 255) razdvojenih tackama.
? Primer: 193.32.216.9.
Mrežni sloj
IPv6
Mrežni sloj
Aktivnost
Mrežni sloj
Aktivnost
Sloj veze
? Sloj veze (engl. Data Link Layer) je drugi nivo OSI referentnog modela,
zadužen za postavljanje, prijem i prenos paketa putem lokalnog medijuma (veze dvaju
cvorova).
Sloj veze
MAC adresa
? MAC adresa (engl. Media Access Control Address) je jedinstven broj, kojim se
vrši identifikacija uredaja/interfejsa na lokalnoj LAN mreži. Ovo je adresa sloja
veze OSI referentnog modela, predstavljena sa 6 bajtova najcešce
u heksadecimalnoj notaciji.
? FF-FF-FF-FF-FF-FF
? FF:FF:FF:FF:FF:FF
Sloj veze
Aktivnost
Sloj veze
Aktivnost
Fizicki sloj
Prenos signala
? Fizicki sloj (engl. Physical Layer) je prvi i najniži od sedam slojeva OSI
Fizicki sloj
UTP kablovi
? Maksimalna dužina jednog segmenta ovog kabla na kojoj racunari mogu biti
povezani bez dodatnih pojacanja je 100 metara.
Fizicki sloj
UTP kablovi
? Ako je rapored žica na oba kabla isti, u pitanju je ravan (engl. Straight-
Through) kabl. Promenom rasporeda na drugom kraju kabla, dobijamo ukršten (engl.
Cross-Over) kabl.
Fizicki sloj
UTP kablovi
? RJ-45 konektor.
Vežba 4
Frejmovi
? Osnovni tag je složeni tag <frameset> koji zamenjuje tag <body> u HTML
dokumentu.
u pikselima
? bordercolor – definiše boju granice izmedu frejmova
? frameborder – vrednosti "1" ili "yes" prikazuje granicu izmedu dva frejma,
dok vrednosti "0" ili "no" ne prikazuje
Tag <frame>
? name – specificira ime frejma koje se može koristiti unutar drugih programski
modula
Primer 1
Forme
? Forme mogu sadržati razne elemente za unos podataka: tekstualno polje, radio
dugme, polje za potvrdu, dugme za slanje i poništavanje, opadajucu listu,
tekstualne oblasti...
? action
Tekstualno polje
? Definiše se korišcenjem taga <input> i njegovog atributa type koji ce u ovom
slucaju imati vrednost text:
? name – pomocu imena elementa drugi delovi aplikacije mogu citati ili menjati
njegovu vrednost
Tekstualno polje
Primer
<html>
<head>
<title>Tekstualno polje</title>
</head>
<form>
<br>
</form>
</html>
Radio dugme
Radio dugme
Primer
<html>
<head>
<title>Radio dugme</title>
</head>
<form>
Pol:
</form>
</html>
Polje za potvrdu
Polje za potvrdu
Primer
<html>
<head>
<title>Polje za potvrdu</title>
</head>
<form>
</form>
</html>
Dugme
? submit
? reset
Opadajuca lista
? Definiše se pomocu taga <select> i opcija <option>.
Opadajuca lista
Primer
<html>
<head>
<title>Opadajuca lista</title>
</head>
<form>
<select name="boja">
<option>crvena</option>
<option>plava</option>
<option selected>zelena</option>
<option>zuta</option>
</select>
</form>
</html>
Tekstualne oblasti
? Dimenzije prozora se zadaju atributima rows (broj redova teksta) i cols (broj
kolona teksta).
Tekstualne oblasti
Primer
<html>
<head>
<title>Tekstualna oblast</title>
</head>
<form>
Komentar:<br>
</form>
</html>
Primer 2
? Kod datuma rodenja ograniciti unos na 2+2+4 karaktera, a kod telefona na 3+7
karaktera.
Primer 2
nastavak
Uvod u Internet tehnologije
Vežba 2
Šta je HTML?
? https://thimble.webmaker.org
Tagovi
<imetaga>sadržaj</imetaga>
? Tagovi mogu biti i prosti, odnosno bez završnog taga.
? U okviru pocetnog taga mogu se pisati i odredeni atributi koji imaju svoje
ime i vrednost.
<head>
</head>
<body>
</body>
</html>
Opis tagova
? <html> i </html>
? <head> i </head>
? <body> i </body>
? Oznacava pocetak i kraj tela dokumenta. Ono definiše sam izgled stranice.
<title>
? Pozadina stranice:
Primer 1
Naslovi (headers)
Primer 1
nastavak
Paragrafi
? left
? center
? right
Komentari
Formatiranje
? <b>Ovaj tekst je podebljan.</b>
? H<sub>2</sub>O
? 2<sup>4</sup>=8
Primer 1
nastavak
<nobr>
<pre>
<pre>
Primer 1
nastavak
<blockquote>
Primer 1
nastavak
<font>
Nenumerisane liste
</ul>
? Ove liste služe za nabrajanje stavki bez navodenja rednog broja.
Numerisane liste
</ol>
? Stavke ove liste imaju redne brojeve.
<dt> nenumerisane <dd> stavke nemaju redni broj <dt> numerisane <dd> stavke imaju
redni broj
</dl>
? Stavka ove liste se sastoji od:
? njegove definicije.
Primer 1
nastavak
Primer 2
Vežba 4
Slike
<img src="URLslike">
Slike
atributi
? Definicija teksta koji menja sliku ukoliko ona ne može biti prikazana – alt.
? Iskljucuje se vrednošcu 0.
Primer 1
slike
Linkovi
atributi
? Uvode se u HTML stranicu pomocu taga <a>: <a> tekst koji je ujedno i link </a>
? Osnovni atributi:
URL adresa
Linkovi
target
Primer 2
linkovi
Mapiranje slike
? Slika može biti podeljena na delove tako da svaki deo predstavlja jedan link
do nekog odredišta.
? Gornji levi ugao predstavlja koordinatni pocetak mape.
Mapiranje slike
Mapa
? <map name="imemape">
? href
? coords
Mapa
shape
? poly – mnogougaonik:
? default – podrazumevano:
Primer 3
mapiranje slike
Tabele
Tabele
atributi
? align - za poravnanje
? bgcolor
? Vrednosti atributa se zadaje brojem kolona ili redova tabele duž kojih treba
da se prostire data celija.
Primer 4
tabele
3/13/2014
1
Cookie - 1
? Web ne koristi koncept stanja (stateless) ili bez
memorije. Kod Web-a ne postoji sesija:
? Pretraživac šalje zahtev, a server vraca nazad fajl. Nakon
obavljene transakcije, server ne vodi racuna niti na bilo koji
nacin pamti šta je kome slao.
? Medutim novi servis zahtevaju suprotno.
? Kako Web server zna da li zahtev potice od registrovanog ili
neregistrovanog korisnika ?
? Neki veb sajtovi nude opciju da svaki korisnik može da
konfiguriše sadržaj pocetne stranice birajuci informacije koje
ce biti prikazane uvek kada ucita stranicu.
2:43
Cookie - 2
? Da li bi bilo dovoljno da server sacuva podatak o IP adresi sa koje
je upucen zahtev?
? Korisnici koriste dinamicke IP adrese
? IP adresa identifikuje racunar, ali ne i korisnika koji trenutno radi na
racunaru.
? Rešenje je upotreba kolacica - cookie
? Mali string ili fajl koji server dostavlja klijentu zajedno sa traženom
stranicom.
? Klijent može a ne mora da sacuva taj podatak.
? Kada se neredni put obraca serveru, kijent zajedno sa zahtevom šalje i cookie,
ako postoji.
? Princip rada
? Pretraživac, pre nego što pošalje zahtev za nekom stranicom, proverava da li u
svom direktorijumu, predvidenom za cookie-je postoji cookie ranije poslat iz
domena kome ce zahtev biti upucen.
? Server preuzima cookie i interpretira njegov sadržaj.
2:43
3/13/2014
2
Cookie - 3
? Sadrži najviše pet polja:
? (Domain, Path, Content, Expires, Secure)
? Domain - domen porekla cookie (domen servera)
? Path - sadrži putanju u strukturi direktorijuma servera koja
ukazuje na stablo direktorijuma unutar kog stranice mogu koristiti
cookie.
? Content – podaci. Oblika su: ime = vrednost. Ime i vrednost mogu
biti bilo koja informacija koju server želi da uvrsti u cookie.
? Expires - datum i vreme kada prestaje važnost cookie-ja. Ako ovo
polje ne postoji, pretraživac uništava cookie prilikom svog
zatvaranja (neperzistentni cookie).
? Secure - ako ima vrednost Yes, nalaže pretraživacu da cookie mora
biti u šifrovanom obliku
2:43
Primer pristupa sajtu za registrovane
korisnike
? Prilikom prve posete sajtu za on-line kupovinu, od korisnika se zahteva da se
registruje, tj unese potrebne podatke i kreira korisnicko ime i lozinku.
? Server kreira cookie sa sadržajem
? korIme=amin
? lozinka=admin
? Server šalje cookie klijentu.
? Pretraživac izdvaja cookie iz odgovora i smešta ga u odgovarajuci
direktorijum.
? Kad god kasnije korisnik pristupi ovom sajtu, pretraživac zajedno sa zahtevom
šalje serveru i odgovarajuci cookie
? Na osnovu sadržaja cookie-a, Web server vrši proveru dobijenih podataka i
prijavu korisnika na sajt.
2:43
3/13/2014
3
Staticki Web
? Web stranice su staticke kada su odgovarajuce datoteke
smeštene na nekom serveru u istom obliku u kome ce
biti isporucene klijentu na zahteve.
? Takve stranice su napisane HTML jezikom.
? Dakle, HTML je jezik za kreiranje statickih Web stranica
2:43
Dinamicki Web
? Sadržaj koji se isporucuje klijentu nije unapred
formiran vec se kreira na zahtev. Sadržaj koji se
isporucuje se formira na osnovu podataka koji se
dobijaju od klijenta i podataka koji se na serveru
ažuriraju (obicno u nekoj bazi).
? Treba razlikovati:
? Dinamicki web- Web server, po prijemu zahteva, pokrece
odgovarajuci aplikacioni servis koji kreira dokument, a
klijentu vraca izlaz programa.
? Aktivni web - Web stranica osim statickog sadržaja (HTML,
slike i sl.) sadrži i program koji se nakon ucitavanja
stranice izvršava u pretraživacu.
2:43
3/13/2014
4
2:43
Dinamicki web
Staticki web
Dinamicki dokumenti
? PHP
? Poseduje promenljive, stringove, polja i vecinu
upravljackih struktura koje srecemo u C-u
? Open source i dostupan je za slobodno korišcenje.
? Posebno je projektovan za rad sa Apache web serverom
(koji je takode open source).
? Alternative:
? JSP (JavaServer Pages).
? Dinamicki deo stranice se piše u programskom jeziku Java.
Stranice koje koriste ovu tehniku obicno imaju nastavak .jsp.
? ASP (Active Server Pages) je Microsoft-ova verzija za
kreiranje dinamickog web-a.
? Za generisane dinamickog sadržaja se koristi skript jezik C#
(ili VB skript). Stranice koje koriste ASP, obicno imaju nastavak
.asp
2:43
3/13/2014
5
HTTP protokol
? HTTP (HyperText Transfer Protokol - protokol za prenos
hiperteksta)
? Zasnovan na tekstualnom formatu.
? Koristi se za komunikaciju izmedu citaca i Web servera.
? Protokol aplikacionog sloja, koji, za prenos podataka
koristi TCP (Web server na portu 80).
2:43
Vrste konekcije - 1
A. Konekcija nije trajna, tj. neperzistentna
? Preko uspostavljene konekcije citac šalje zahtev,
server vraca HTML stranicu i konekcija se zatvara.
? Ako ucitana Web stranica sadrži slike ili neki
drugi dodatni sadržaj, neophodno je da
pretraživac radi prenosa svakog takvog
entiteta uspostavi posebnu TCP konekciju sa
serverom.
? Neefikasan ako se prenose Web stranice koje
osim HTML-a sadrže i veci broj slika, ikona ili
drugih pratecih sadržaja.
2:43
3/13/2014
6
Vrste konekcije - 2
B. Konekcija je neprekidna, tzv perzistentna
? Citac uspostavlja konekciju, šalje zahtev i dobija odgovor.
? Nakon slanja odgovora, Web server ne zatvara konekciju, vec
je ostavlja otvorenom tako da citac može da uputi sledeci
zahtev.
? Server zatvara konekciju po isteku nekog vremena a nakon
poslednjeg zahteva.
? Prednosti:
? Efikasniji prenos – izbegava se dodatno usporavanje usled
stalnih uspostavljanja i raskidanja konekcije
? Pretraživac može dodatno da optimizuje prenos u ovakvom
prenosu 2:43
Serveri posebne namene
? Web klijent i Web server direktno komuniciraju
razmenom HTTP poruka preko Interneta.
? Medutim, komunikacija klijent-server se, po
pravilu, ostvaruje posredstvom jednog ili više
medu-servera. Spomenucemo:
? Firewall
? Proxy server
2:43
3/13/2014
7
Proksi server u razlicitim
ulogama
? Forward
? Open
? reverse
2:43
Tipicna konfiguracija
2:43
3/13/2014
8
Proksi server - 1
? Proxy - posrednik izmedu LAN korisnika i Web-a.
? Omogucava optimizaciju tj smanjuje cekanje na isporuku
Web stranica.
? Web pretraživaci u mreži koja koristi proxy server su
konfigurisani tako da svoje HTTP zahteve ne upucuju
direktno udaljenim Web serverima vec ih šalju lokalnom
proxy serveru koji u njihovo ime obavlja zahtevanu
transakciju (gateway).
2:43
Proksi server - 2
? Pošto jedan LAN korisnik pristupi odredenoj Web stranici, proxy
sacuva kopiju te stranice.
? Kada sledeci put neki LAN korisnik pristupi istoj stranici, proxy
uzima podatke iz svog keša i ne šalje zahtev preko Interneta.
? Koji je moguci problem zbog ovog nacina rada?
? Efektivno skracuju vreme pribavljanja Web stranica, znacajno
redukuju saobracaj na Internetu i smanjuju opterecenje Web
servera.
2:43
3/13/2014
9
Tipovi proksi servisa
? Tri tipa povezani hijerarhijski
? Lokalni proxy – aplikativni proces na klijentskom racunaru
? LAN (korporacijski) proxy
? ISP proxy
? 1. Zahtev se šalje lokalnom proksiju,
? 2. Ako nije u stanju da opsluži zahtev, zahtev se prosleduje LAN proksiju.
? 3. Ako LAN proksi nije u stanju da opsluži zahtev isti se prosleduje serveru
provajdera internet usluga, sve dok se u nekom kešu ne pronade tražena
stranica.
? Ako stranica ne postoji u kešu proxy servera na vrhu hijerarhije, ona se
direktno traži od Web servera, a onda prosleduje nazad do pretraživaca koji
je uputio zahtev i pri tome pamti u keševima svih posrednih proxy servera.
? U HTTP postoji nekoliko namenskih zaglavlja
? Web server može da kontroliše kako proksiji obraduju svaku Web stranicu
koristeci u zaglavlju Max_Forewards koji oznacava maksimalan broj poxy
servera izmedu Web servera i klijenta.
2:43
Do kada cuvati sadržaj u kešu?
? Ako se predugo cuva može da zastari, tj original
može da bude u meduvremenu promenjen.
? Ako se kopija cuva kratko - smanjuje se efikasnost.
? Neke stranice se brže menjaju od drugih. Npr.
stranica sa vremenskom prognozom se menja svaki
dan a stranica za prikaz standardnih jedinica mere
ne.
? Sklonost stranice promenama može da varira u
vremenu
? Dinamicke Web stranice se ni u kom slucaju ne mogu
keširati.
2:43
3/13/2014
10
Firewall server
? ... Ili sigurnosi gateway
? Ovaj server je lociran na granici izmedu LAN
mreže i Interneta.
? Osnovna uloga je zaštitna.
? Spoljnim korisnicima se obicno zabranjuje
direktan pristup racunarima LAN mreže. Server
sav saobracaj ka LAN mreži odnosno Internetu
nadgleda i filtrira.
2:43
Uloga firewall servera
? Firewall kontroliše saobracaj u oba smera
? Presrece i filtrira pakete koji su sa Interneta upuceni
lokalnim serverima, kao i sve zahteve koji se iz intraneta
šalju prema Internetu.
? Filtriranje se vrši na osnovu izvornih i odredišnih IP adresa i
brojeva portova sadržanim u TCP/UDP paketima ili na bazi
nekih drugih kriterijuma
2:43
3/13/2014
11
Konfigurisanje
2:43
3/13/2014
1
HTML
Uvod
? HTML dokument je fajl tekstualnog formata.
? Pri formiranju HTML dokumenta se može koristiti
bilo koji tekst-editor.
? HTML fajlovi obicno imaju ekstenziju (sufiks u
svom imenu) .html ili .htm.
? Elementi u HTML fajlu se nazivaju tagovi.
Smešteni su izmedu znakova manje/vece (npr.
<BODY>).
? Element može biti složen tj. sastavljen iz 2
dela, pocetnog i završnog. Završni tag tj.
oznaka ima isti naziv ali sa dodatnom kosom
crtom, (npr. </BODY>).
3/13/2014
2
Uvod
? Neki elementi nemaju završni tag </...>
(npr.<BR>). Takvi elementi se obicno
nazivaju prostim elementima.
? Osim svojim nazivom, jedan HTML element
je odreden i svojim atributima.
? Atributi se pišu u okviru pocetnog taga
elementa.
? Atribut ima svoj naziv i vrednost.
? Npr. <BODY bgcolor="yellow">
Struktura HTML dokumenta
? <HTML>
<HEAD>
Zadati opis osnovnih podataka o dokumentu
</HEAD>
<BODY>
Zadati sadržaj dokumenta
</BODY>
</HTML>
? U <HEAD> elementu se obicno navodi naziv
dokumenta (vidljiv u naslovnoj liniji), tip dokumenta,
kodni raspored, jezik, kljucne reci,..
? U <BODY> sekciji su elementi kojima se definiše
izgled stranice.
3/13/2014
3
Neka pravila prisanja
? Programi za prikaz sadržaja HTML
dokumenta (npr. Chrome, Opera, Mozilla,
IE,...) ignoriše razliku malih i velikih slova u
nazivima elemenata.
? Elementi se mogu pisati malim ili velikim
slovima ili kombinovano. Npr.
? <BOdY>sadržaj dokumenta</bOdy>
? Nije od znacaja eventualno postojanje
praznih redova, tabulatora ili praznina. Da bi
se prikazao novi red, tabulator ili praznina
koriste se odgovarajuci HTML elementi.
Primer 1
? Formirajte tekstualnu datoteku primer1.html i unesite sadržaj.
• <HTML>
• <HEAD>
• <TITLE> Prvi HtmL Primer </title>
• </HEAD>
• <body>
• <H1> Naslov br1: Uvod </H1>
• <p> Prvi paragraph: Pre ove recenice je
ubaceno vise praznina </p>
• <p>Drugi paragraf.
• Pre ove recenice postoji novi red u dokumentu. </p>
• </body>
• </html>
? Pomocu nekog browser-a progledajte kako izgleda vizuelna
interpretacija.
3/13/2014
4
<HEAD>
<TITLE>
? Oznacava naslov dokumenta u prikazu
?
Naslov HTML dokumenta se prikazuje u vrhu
ekrana (u naslovnoj liniji odgovarajuceg
programa za pregled HTML dokumenta).
? Naslov dokumenta se navodi u HEAD
elementu i predstavlja njegov podelement.
? Nije isto što i ime datoteke u kojoj se nalazi
dokument. Ako se naslov ne navde,
dokument dobija naziv datoteke.
3/13/2014
5
<META>
? U ovom elementu se definišu tzv. meta informacije
o dokumentu koje ga bolje opisuju.
? Meta informacije koriste serveri ili WWW klijenti,
na primer da bi rangirali stranicu u rezultatima
pretrage.
? Neke meta informacije su:
• tip dokumenta, kodni raspored, jezik, kljucne
reci,..
? WWW serveri citaju sadržaj HEAD sekcije tzv.
zaglavlja dokumenta da bi generisali zaglavljeodgovor
na osnovu vrednosti atributa HTTP-EQUIV.
HTTP-EQUIV
atribut koji povezuje element sa HTTP serverom
(zapravo zaglavljem njegovog odgovora)
?< META HTTP-EQUIV="Expires" CONTENT="09 Mart 2013
22:08:08 GMT">
NAME
atribut koji imenuje meta informaciju,
na primer: name="Keywords" za pružanje kljucnih
reci mašinama za pretragu kao dodatak terminima
pronadenim unutar dokumenta
CONTENT sadržaj meta informacije
3/13/2014
6
? Tip sadržaja i kodni raspored
? Tip sadržaja i kodni raspored se definišu koristeci atribut
http-equiv koji se postavlja na vrednost "ContentType".
? Tip sadržaja se definiše vrednošcu atributa content a
kodni raspored vrednošcu atributa charset.
? <META http-equiv="Content-Type" content="text/html;
charset=iso-8859-5">
? <META http-equiv="Content-Type" content="text/html;
charset=iso-8859-2">
? Kljucne reci
? Definišu se atributom name kome se pridružuje
vrednost "Keywords".
? Kljucne reci se navode kao sadržaj atributa
content. One se koriste od strane servera i
pretraživaca.
? <META name="Keywords" content="internet,
web, html">
? <META name="Keywords" content=„sport,
kosarka, pravila">
3/13/2014
7
Srpska slova
? U odeljku zaglavlja (<HEAD>) se definiše kodna
strana koja se koristi za prikaz grafickih karaktera
(npr. ISO-8859-1 za zapadno-evropsku latinicu,
ISO-8859-2 za istocno-evropske latinice, ISO
8859-5 za cirilicu). Zadavanje kodne strane se vrši
pomocu meta-zaglavlja META oblika:
? <META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=iso-8859-2">
Slovo kod 8859-2 Slovo kod 8859-2
C 262 c 263
C 268 c 269
Ð 272 d 273
Š 352 š 353
Ž 381 ž 382
Kodovi srpskih slova prema ISO-8859-2:
3/13/2014
8
Primer 2
• <html>
• <head> <title>Simbolisti </title>
• <META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=iso-8859-2">
• </head>
• <body>
• Aleksa Šantić <BR>
• Milan Rakić<BR>
• Jovan Dučić
• </body>
• </html>
UTF-8
? Ukoliko HTML document sacuvate kao tip UTF-8 ili
Unicode, mogu se koristiti svi karakteri bez eksplicitnog
navodenja svakog posebno!
3/13/2014
9
<BODY>
Atributi
? Definišu osnovna svojstva prikaza HTML sadržaja.
? Pozadina stranice se definiše na 2 nacina. Kao:
• slika (npr. <body background="URL slike">)
• boja (npr. <body bgcolor="#rrggbb">, gde rrggbb predstavlja heksadekadni
triplet kôda boje: cifre rr (r=0..9a..f) odreduju kolicinu crvene boje, cifre
gg (g=0..9a..f) odreduju kolicinu zelene boje, cifre bb (b=0..9a..f)
odreduju kolicinu plave boje)
? boja teksta se definiše atributom text (npr. <body text="#rrggbb">)
? boja linkova se postavlja atributima link, alink, vlink
(npr. <body link="#rrggbb" alink="#rrggbb" vlink="#rrggbb">) gde je
? alink boja aktivnih linkova
? vlink boja posecenih linkova
? link boja ostalih linkova (neposecenih i neaktivnih)
3/13/2014
10
Primer 3, zadavanje boja
• <HTML>
• <HEAD>
• <TITLE>Atributi elementa BODY </TITLE>
• </HEAD>
• <BODY BGCOLOR="#a0a0a0" TEXT="#00ffFF">
• <H2 ALIGN="CENTER"> Narodne poslovice </H2>
• Ko se dima ne nadimi....<BR>
• Ko rano rani....<BR>
• <FONT COLOR="#AA00">Ova recenica je u elementu font koji ima
sopstveni atribut color</FONT> <BR>
• </BODY>
• </HTML>
NASLOVI
? Postoji šest vrsta naslova/podnaslova.
? Navode se unutar <BODY> sekcije.
? U odnosu na tekst dokumenta naslov se prikazuje vecim
i/ili naglašenim fontom uz pojavu praznih linija pre i/ili
posle naslova.
? Tag za prikaz najveceg naslova je <H1>...</H1>.
? Ostali idu redom:
<H2>...</H2> <H3>...</H3> <H4>...</H4> <H5>...</
H5> <H6>...</H6>
? Veci broj je manji naslov.
3/13/2014
11
Komentari
? Komentarisani HTML kôd se ne prikazuje od strane
browser-a, ali je vidljiv u izvornom HTML kodu.
? Cemu služi?
? Komentarom se smatra ma koji tekst izmedu
oznaka
? <!-- komentar -->
?
Primer 4
• <HTML>
• <HEAD><TITLE>Testiranje naslova</TITLE>
• </HEAD>
• <BODY>
• <H1>Naslov prvog nivoa</H1> <!-- najkrupniji -->
• <H2>Naslov drugog nivoa</H2><BR>
• <H3>Naslov treceng nivoa</H3><BR>
• <H4>Naslov cetvrtog nivoa</H4><BR>
• <H5>Naslov petog nivoa</H5><BR>
• <H6>Naslov sestog nivoa</H6><BR> <!-- najsitniji -->
• <H7>Naslov sedmog nivoa</H7> <BR> <!-- sta ce biti sa ovim? -->
• Ostali tekst koji nije naslov.
• </Body>
• </HTML>
3/13/2014
12
Formatiranje teksta
? Pasusi / paragrafi
? Element za pasus koji se prikazuje sa
odgovarajucim proredom:
? <P> . . . Neki tekst . . . </P>
? Dodaje se atribut ALIGN sa vrednostima left, right,
center radi poravnanja sadržaja pasusa.
? Ukoliko sledi pasus za pasusom, završni tag </P>
se može izostaviti.
? Odeljak
? <DIV> . . . Neki tekst . . . </DIV>
? Dodaje se atribut ALIGN sa vrednostima left, right,
center radi poravnanja sadržaja pasusa.
3/13/2014
13
? Blok za tekst
? <BLOCKQUOTE> . . . Neki tekst . . . </BLOCKQUOTE>
? oznacava poseban blok unutar teksta. Obicno
predstavlja citirani pasus iz nekog izvora.
Tipican prikaz je uvucen ulevo i/ili iskošenim slovima.
<p>Renowned type designer, Matthew Carter, has this to say about his
profession:</p>
<blockquote>
<p>Our alphabet hasn't changed in eons; there isn't much latitude in
what a designer can do with the individual letters.</p>
<p>Much like a piece of classical music, the score is written
down – it's not something that is tampered with – and yet, each
conductor interprets that score differently. There is tension in
the interpretation.</p>
</blockquote>
3/13/2014
14
? Novi red
? Tekst se u browser-u prikazuje jednu po jednu
liniju u zavisnosti od šifirne prozora. Pri tome se
višestruke belike svode na jednu, a novi red ili
tabulator se ignorišu.
? Za novi red u prikazu koristi se prost element
<BR> (eventualno <BR/>).
? Ako odredeni teksta ne sme da bude prelomljen
koristi se element:
? <NOBR>.neki tekst koji se ne sme prelomiti,
recimo da je jako dug</NOBR>
? PREFORMATIRAN TEKST
? Tekst koji se nalazi izmedu oznaka
? <PRE> . . .</PRE>
? prikazuje se kao tekst sa neproporcionalnim
fontom, sacuvanim podacima o višestrukim
belinama, tabulatorima i novim redovima. Dakle,
tekst ce biti prikazan na ekranu bez izmena u
pogledu praznina.
3/13/2014
15
Primer 5
• <HTML>
• <HEAD><TITLE>Primer 5</TITLE>
• </HEAD>
• <BODY>
• <P align="center">Prvi pasus teksta <BR>koji se prikazuje<BR> kao
centriran.<BR>Neka druga recenica istog pasusa.</P>
• <P align="right">Drugi pasus <BR> poravnat <BR>na desno</P>
• <PRE>
• I
• B
• M
• - primer upotrebe elementa pre
• </PRE>
• <DIV align="left">Prvi odeljak, div, poravnat <BR>u levo, odnosno <P
align="center">
• novi pasus u istom odeljku <BR> koji je <BR> centriran</P>
• <P align="right">Drugi pasus u<BR>prvom odeljku, a pasus <BR>je
• <BR>poravnat u desno.</P>Tekst u odeljku van pasusa.
• </DIV>
• </HTML>
? Naglašavanje teksta
? Element <EM>...</EM> se koristi da istakne deo
neke recenice (engl. Emphasized).
? <p><em>Matt</em> is very smart.</p>
? <p>Matt is <em>very</em> smart.</p>
? Naglašeni tekst se skoro uvek prikazuje ukošeno.
? Citaci mogu imati razlicit nacin i toniranje
naglašenog teksta.
3/13/2014
16
Liste
? <UL> NENUMERISANE
? Koriste se za predstavljanje nenumerisane (engl.
Unorderd List) liste clanova odvojenih praznih
redom i oznacenih specijalnim vodecim znakom
(eng. bullet: kružic, disk, kvadrat).
? Lista se navodi izmedu elemenata <UL> odnosno
</UL>.
? Stavka liste (engl. List Item) se navodi elementom
<LI> koje ne mora da ima zavšni tag </LI>
Primer 6
• <HTML>
• <head>
• <title>Unorderd List</title>
• </head>
• <body>
• <UL> Studijski programi VSER-a
• <li>NRT <li>RT <li>....
• </UL>
• <UL>Izborni predmeti
• <li>Programiranje 1
• <li><em>Uvod u internet programiranje </em>
• <li>....
• </UL>
• </BODY>
• </HTML>
3/13/2014
17
? NUMERISANE LISTE
? Koriste se za predstavljanje listi cije su stavke
numerisane.
? Lista se navodi elementom <OL>stavke</OL>,
(engl. Oredered List).
? Svaka stavka liste pocinje obeležjem <LI> koja ne
mora da ima završni tag. </LI>
Primer 7
? <HTML>
? <HEAD>
? <TITLE> Ordered List</TITLE>
? </HEAD>
? <BODY>
? Tekst pre liste
? <OL> Tekst pre stavki u listi <LI>stavka<LI>stavka
? <LI>....
? </OL>
?
? </BODY>
? </HTML>
3/13/2014
18
? OPISNE LISTE
? Koriste se za predstavljanje listi cije stavke ne
treba oznaciti brojevima, slovima ili buletima, vec
iza stavki sledi opis.
? Lista se navodi elementom <DL>...</DL>.
? Svaka stavka liste sadrži termin koji se definiše i
odgovarajuci opis. Termin pocinje obeležjem
<DT>, a opis pocinje obeležjem <DD>.
Primer 8
• <HTML>
• <HEAD>
• <title>Primer DL liste </TITLE>
• </HEAD>
• <BODY>
• <DL> serveri posebne namene:
• <DT>proksi <DD>server za kesiranje stranica
• <DT>firewall <DD>server za zastitu od upada
• <DT>... <DD>...
• </DL>
• </BODY>
• </HTML>
21.3.2014.
1
Zadatak
? Napisati HTML stranicu
ciji prikaz je dat na
slici.
22:19 1
Rešenje
1. <html>
2. <head>
3. <title>zadatak za prisecanje uradjenog</title>
4. </head>
5. <body text="white" bgcolor="#000000">
6. <h1> Tekst na crnoj pozadini sa belim slovima </h1> <br>
7. <ul>
8. Lista 1
9. <li>
10. <ol>Lista2
11. <li>stavka21
12. <li>stavka22
13. </ol>
14. <li>stavka12
15. <li>stavka13
16. </ul>
17. </body>
18. </html>
22:19 2
21.3.2014.
2
Slike
22:19 3
Slike
? Slika se u HTML stranicu uvodi elementom:
? <img src="URLslike">
? pri tome se navodi obavezni atribut SRC cija je
vrednost putanja, URL, do slike.
? Citaci podržavaju upotrebu GIF i JPEG formata.
Format GIF se preporucuje za slike koje su crteži
odnosno imaju više kontinuiranih delova iste boje,
dok JPEG se preporucuje za slike kod kojih je
prisutna veca paleta boja.
22:19 4
21.3.2014.
3
? Slike se mogu umetnuti bilo gde u BODY sekciji.
? Poravnanje slike u odnosu na tekst odreduje se
atributom ALIGN sa vrednostima top, middle, bottom,
left, right.
? Ako je poravnavanje left ili right, slika se prikazuje sa
leve ili desne strane paragrafa u kome je i tekst, dok
je tekst rasporeden oko nje.
? Ako se koriste vrednosti middle, bottom ili top onda
se linija teksta poravnava sa sredinom, dnom ili
vrhom slike.
22:19 5
Primer 9
. . .
<BODY>
Tri slike u tekstu, sve tri poravnate na levo.
<img src="slika.gif" align="left">xxxxx…<img src="slika.gif" align="left">
xxxxx ….<img src="slika.gif" align="left">
<br><br><br><br>
<p align="right">
Tri slike u tekstu koji je poravnat na desno, a sve tri poravnate na levo.
<img src="slika.gif" align="left">xxxxx….<img src="slika.gif" align="left">….
<img src="slika.gif" align="left">
</p>
<br><br><br><br>
<p align="right">
Tri slike u tekstu koji je poravnat na desno, a sve tri bottom
<img src="slika.gif" align="bottom">…xxxxxxx<img src="slika.gif"
align="bottom"><img src="slika.gif" align="bottom"></p>
<br><br><br><br>
. . .
22:19 6
21.3.2014.
4
? Atribut ALT definiše tekst koji ce biti prikazan umesto
slike ukoliko slika ne može biti prikazana. Teks se
pojavljuje kao komentar ili objašnjenje.
? Slika se ne može prikazati ako citac nema mogucnost
grafickog prikaza ili je prikaz slika namerno iskljucen
ili fajl za sliku nije naden.
? Atributom BORDER definiše velicina okvira u
pikselima koji se prikazuje oko slike. Okvir se
iskljucuje ako se vrednost postavi na 0.
22:19 7
? Dimenzije slike se zadaju atributima WIDTH (za širinu slike)
i HEIGHT (za visinu slike). Osim što se može promeniti
velicina slike, može se ubrzati ucitavanje slike.
? Dimenzije slike se zadaju u pikselima ili procentima.
? Na primer <img src="slika.jpg" width="102" height="10%">
Ako se stvarne dimenzije slike razlikuju od navedenih, onda
ce slika biti izoblicena.
22:19 8
21.3.2014.
5
? Za obezbedenje dodatnog prostora izmedu slike i teksta
mogu se koristiti atributi VSPACE i HSPACE. Vrednosti se
zadaju u pikselima. VSPACE se odnosi na marginu ispod i
iznad, a HSPACE se odnosi na marginu levo i desno od
slike.
22:19 9
Primer 10
. . .
<img src="slika.gif" width="130" height="140">
Dimenzije se zadaju u pikselima.
<br><br>
<img src="slika.gif" width="12%" height="10%" border="1">
Dimenzije se zadaju u procentima, slika ima okvir.
<br><br>
<p>. . . <img src="slika.gif" width="12%" height="10%" border="1" hspace = "10"
vspace="10"> . .
Dimenzije se zadaju u procentima, slika ima okvir, hspace=10, vspace=10.
</p>
<br><br>
. . .
22:19 10
21.3.2014.
6
Hiperveza
? <A> tekst koji je ujedno link </A>
? Element A se koristi za umetanje linkova.
? Osnovni atributi su:
? HREF – URL adresa stranice na koju se može preci
? ID – identifikator sidra koji se koristi pri referenciranju
? NAME – isto kao ID, ID je globalni identifikator
? TARGET – gde ce se otvoriti referencirani dokument
22:19 11
URL
? Upotreba URLa (uniformnih lokatora resursa) omogucava
da se referencira tekst, HTML dokument, slika,...
? URL adrese je oblika
? protokol://host.domen:port/stablo_dir/fajl
? Znacenje navedenih oznaka:protokol - oznacava
protokol odnosno uslugu koja se koristi pri
referenciranju fajla:
? file, ftp, http gopher, news…
? host - ime racunara (ili ip adresa) na kome se nalazi fajl
? domen - Internet domen racunara
? port - u vecini slucajeva 80, tako da se može izostaviti.
? stablo_dir – putanja do fajla kroz stablo dir.
? fajl - Naziv fajla zajedno sa ekstenzijom
22:19 12
21.3.2014.
7
? Web prezentacija se obicno sastoji od više dokumenata,
slika i drugih fajlova koji se nalaze u jednom
direktorijumu (sa poddirektorijumima)
? Pravilno je da se fajlovi u aplikaciji referenciraju
navodenjem relativne putanje.
• Na primer:
• Ako se prvi.html i drugi.html nalaze u folderu /www, a
treci.hmtl u /www/detalji onda se ovi važi sledece
referencijranje:
• prvi.html
• <a href="drugi.html">veza do drugog.html</a>
<a href="detalji/treci.html">veza do treci.html</a>
22:19 13
• treci.html
• <a href="../prvi.html">veza do prvi.html</a>
<a href="/www/prvi.html">veza do prvi.html</a>
? Kada se napravi sajt u jednom folderu, prebacivanje
istog na servera se obavlja kopiranjem.
? Isto važi i pri formiranju dokumenata.
22:19 14
21.3.2014.
8
? Hiperveza može da vodi i do odredenog mesta u
dokumentu. To mesto mora biti oznaceno da bi se moglo
referencirati i obicno se naziva sidro.
? Dakle, URL, koji je vrednost atributa href, u ovom
slucaju sadrži dodatak, ime sidra.
? Na primer:
? Prvi.html
• ….
• <a href= "drugi.html#xyz">veza do?</a>
• ….
• <a href= "#abc">veza do?</a>
• ….
• <a id= "abc">deo koji pocinje se referise…</a>
22:19 15
? Veza može biti stavka u listi.
? Primer:
<ul>
<li><a href="http://www.foodnetwork.com/">The Food Network</a>
</li>
<li>Epicurious</li>
</ul>
22:19 16
21.3.2014.
9
? Atribut target specificira gde ce se otvoriti
referencirani dokument. Može imati vrednosti
? _blank – u novom prozoru ili tabu
_parent – u roditeljskom okviru (frejmu)
_self – u istom frejmu. Podrazumevano.
_top – u istom prozoru ali u kompletnom, ne u frejmu
framename – u imenovanom prozoru
22:19 17
Hiperveza za sliku
? Da bi slika imala funkciju hiperveze potrbno je sliku
postaviti kao sadrzaj hiperveze.
? U tom slucaju element veze dobija oblik:
? <A HREF="URLcilja"> <IMG SRC="URLslike" tekst> </A>
? Ako slika predstavlja hipervezu, okvir oko slike ce biti
u bojama veze koje su postavljene kao vrednosti
atributa link, alink, vlink.
? Podsecamo da okvir može biti nevidljiv ako se postavi
vrednost atributa border na 0.
22:19 18
21.3.2014.
10
Primer 11
<HTML>
<HEAD> <TITLE>Veze </title> </HEAD>
<BODY>
<H3>Kontakti</H3>
<UL>
<LI><a href="www.viser.edu.rs"><img alt="VSER" src="viser.jpg" width="30"
height="30" border="0"/>naj visa</a>
<LI><a href="https://www.viser.edu.rs/sservis/" target="_blank">studentski
servis</a>
<LI><a href="mailto:sgolubovic@viser.edu.rs"><img alt="mail"
src="email.jpg" width="30" height="30"/>kontakt</a>
</UL>
Zasto link ka skoli ne radi? <br>
Ako email klijent ne radi, pokusajte da objasnite zasto?
</BODY>
</HTML>
22:19 19
Mapiranje slika
? Slika može biti podeljena na delove tako da a svakom
delu može biti dodeljena adresa nekog odredišta tako
da kada se "klikne" na odredeni deo prebacuje se na
na razlicite URLove.
? Ovo deljenje nazivamo mapiranje slika.
? Koordinatni pocetak mape je gornji levi ugao slike.
? Mapiranje se izvodi pomocu atributa USEMAP
22:19 20
21.3.2014.
11
? Atribut USEMAP taga IMG ukazuje da se radi o mapiranju na
strani klijenta.
? Vrednost atributa USEMAP odreduje koja ce se mapa koristiti
za mapiranje slike u formatu slicnom atributu HREF kod
hipertekstualnih veza.
? Ako pocinje sa #, podrazumeva se da se mapa nalazi u istom
HTML dokumentu kao i tag IMG.
? Na primer:
? <IMG SRC="URLslike" USEMAP="URLmape#sidro">
? Na primer:
<IMG SRC="slika1.gif" USEMAP="#mapaA">
<IMG SRC="../slike/slika2.gif" USEMAP="mapa.html#mapa2">
22:19 21
? Mapa se opisuje pomocu elementa:
? <MAP> . . . </MAP>
Opis može biti istom HTML fajlu gde se koristi ili u zasebnom
fajlu.
? Naziv mape (tj. vrednost atributa NAME) mora odgovarati nazivu
za upotrebu mape unutar taga IMG.
? Mapa se sastoji od podrucja. Zato u elementu MAP postoje
podelementi AREA ciji su atributi:
• SHAPE
• HREF
• COORDS
? Ako se dve oblasti preklapaju, prednost ima ona koja je prvo
definisana.
? Atribut NOHREF znaci da izbor te oblasti ne prouzrokuje akciju.
22:19 22
21.3.2014.
12
? SHAPE vrednost definiše oblik oblasti u slici:
? RECT- pravougaona oblast.
• COORDS vrednosti su gornji levi i donji desni ugao
pravougaonika u pikselima
? CIRCLE - kružna oblast.
• COORDS vrednosti su kordinate centra kruga i poluprecnik
kruga u pikselima
? POLY – oblast mnogougaonik.
• COORDS vrednosti su koordinate tacaka zatvorene
izlomljene linije u pikselima.
? DEFAULT- podrazumevano.
• Nema koordinate i koristi se samo jednom za oblast koja
obuhvata koordinate koje ne pripadaju nijednom od vec
definisanih oblasti.
22:19 23
Primer 12
<img src="geoimag2.jpg" usemap="#geoshapes2">
<map name="geoshapes2">
<area shape="CIRC" coords="150,100,28" href="primer2.html">
<area shape="POLY" coords="35,9,121,9,95,60,9,60" href="primer3.html">
<area shape="RECT" coords="182,10,293,61" href="primer4.html">
<area shape="RECT" coords="34,141,85,192" href="primer5.html">
<area shape="POLY" coords="263,142,293,193,182,193" href="primer6.html">
</map>
22:19 24
21.3.2014.
13
Tabele
22:19 25
26
Tabele
Elementi za rad sa tabelama.
<TABLE> osnovni element za tabelu
<CAPTION> opcioni element za naslov tabele
<TR> red tabele
<TH> element podatka u zaglavlju tabele
<TD> element podatka u tabeli
22:19
21.3.2014.
14
<table>
<tr>
<th>Menu item</th>
<th>Kalorije</th>
<th>Masti (gr.)</th>
</tr>
<tr>
<td>Pileca supa</td>
<td>100</td>
<td>2</td>
</tr>
<tr>
<td>Cezar salata</td>
<td>300</td>
<td>20</td>
</tr>
</table>
Primer
• Obratite pažnju na
• detalje u prikazu.
• Šta bi mogli da uradimo
• da bi izgled bio bolji?
22:19 27
28
<TABLE> Atributi
? ALIGN = left, center, right
? BORDER=broj, širina ivice u pikselima (podrazumevano je 0)
? CELLSPACING=broj, prostor u pikselima izmedu celija,
podrazumevano 3, ukljucuje border
? CELLPADDING=broj, prostor u pikselima izmedu ivice celije i
elementa tabele, podrazumevano 1
? WIDTH=broj[%], širina u pikselima ili procentima stranice ili
frejma
22:19
21.3.2014.
15
cellpadding=0
cellspacing=0
CELLPADDING
CELLSPACING
22:19 29
30
BGCOLOR=boja – pozadinska boja tabele, takode važi
za <TR>, <TH>, odnosno <TD>
Atribut BGCOLOR
22:19
21.3.2014.
16
31
<TR> atributi
Važeci atributi za red tabele:
ALIGN -- left, center, right
VALIGN -- top, middle, bottom
BGCOLOR -- color
<table align="center" width="300" height="200">
<tr align="left" valign="top" bgcolor="red"><td>Jedan</td><td>Dva</td>
<tr align="center" valign="middle" bgcolor="lightblue"><td>Tri</td><td>Cetiri</td>
<tr align="right" valign="bottom" bgcolor="yellow"><td>Pet</td><td>Šest</td>
</table>
22:19
32
<TD> Atributi
colspan = broj -– oznacava koliko kolona obuhvata celija
rowspan = broj -– oznacava broj redova obuhvacenih tom celijom
Zadatak:
Napisati tabelu koja treba da
ima izgled kao na slici
<table align="center" width="300" height="200" border="1">
<tr>
<td colspan="1" rowspan="2">a</td>
<td colspan="1" rowspan="1">b</td>
</tr>
<tr>
<td colspan="1" rowspan="1">c</td>
</tr>
</table>
22:19
21.3.2014.
17
Primer
? Napisati html kod za prikaz tabele
22:19 33
<Font>
? Za promenu vrste karaktera (fonta) koristi se
element font. Atributi ovog elementa su:
color #xxxxxx
colorname boja teksta
face font_family naziv fonta
size Number Velicina fonta
22:19 34
21.3.2014.
18
Primer
<font size="4" color="red">Crveni tekst velicine 4!</font> <br>
<font size="3" color="blue">Plavi tekst velicine 3!</font> <br>
<font face="verdana" color="green" size="2">Verdana, zelen, velicine
2!</font> <br><br>
22:19 35
? Osim toga mogu se pisati i slova u indeksu ili
eksponentu.
? Indeks se dodaje pomocu taga <SUB> a eksponent
pomocu taga <SUP>.
22:19 36
21.3.2014.
19
NOBR
? Tekst se u citacu prelama na kraju reda. Da bi se
garantovalo da neki deo teksta tj linije bude u celosti u
jednom redu (znaci da prelamanja ne bude na tom
tekstu) vrši se oznacavanje tog dela teksta posebno.
? <NOBR> tekst koji se svakako nece prelomiti </NOBR>
? Ukoliko je tekst prevelik da stane u jedan red u okviru
ekrana, na dnu prozora ce se pojaviti horizontalni
"scrollbar".
? Ukoliko se želi da se red prelomi, ako treba, baš na
odredenom mestu, ubacuje se tag <WBR> taga. Za
? razliku od <br> taga koji ce obavezno prelomiti red,
ovaj tag ce prelomiti red samo ako je to neophodno. Na
primer omogucava da se prelomi neka dugacka rec na
kraju reda.
22:19 37
HR
? Nova celina se naglšava novim redom. Ako se želi jace
naglašavanje koristi se horizontalna linija.
? <HR SIZE=3 WIDTH="55%">
? Dobija se linija debljine 3 piksela i širine 55% od širine
prozora.
?
?
? Ako se ne želi da linija bude zasencena, vec
potpuno crna, koristiti atribut NOSHADE.
? Dimenzije linije se zadaju sa sledeca dva atributa: SIZE
(debljina u pikselima) i WIDTH (širina u pikselima ili %)
? Ovaj element može sadržati ALIGN atribut.
? Boja linije se može regulisati pomocu COLOR
atributa. 22:19 38
21.3.2014.
20
Praznine i specijalni karakteri
? Prazno mesto, kada je više od jednog, se oznacava
&NBSP;
? Ako se želi tri prazna mesta jednostavno se ponovi tri
puta, odvojeni tackom-zarezom:
22:19 39
28.3.2014.
1
Zadatak
? Napisati HTML stranicu koja ce prikazivati sadržaj kao na slici:
08:45 1
Frejmovi
08:45 2
28.3.2014.
2
Frejmovi
? Koncept okvira, tzv frejmova, omogucava formiranje
složenih dokumenata od dva i više razlicitih dokumenta.
? Citac, ukoliko može da radi sa frejmovima,
interpretira frejmove tako što deli prozor prikaza na
više nezavisnih celina, od kojih svaki sadrži adresirani
? Osnovni tag <FRAMESET>.
? Ovaj element zamenjuje BODY element u HTMLdokumentu.
08:45 3
Atributi
Osnovni atributi su cols i rows koji odreduju broj kolona i
redova u tabelarnom izgledu podele glavnog prozora.
Dakle:
? COLS = [broj][%] [*] – širina u pikselima ili % frejmova
? ROWS = [broj][%] [*] – visina u pikselima ili % frejmova
? Poddokumenta se navode u okviru elementa FRAME ciji
su atributi:
? SRC - adresa dokumenta koji ce biti prikazan
? MARGINWIDTH – leva i desna margina u pikselima
? MARGINHEIGHT – gornja i donja margina u pikselima
08:45 4
28.3.2014.
3
Zadatak
? Kakav izgled ce formirati HTML kod u citacu?
• <frameset rows="25%,*,25%">
• <frame src="primer2.html">
• <frame src="primer3.html">
• <frame src="primer4.html">
• </frameset>
08:45 5
08:45 6
28.3.2014.
4
<frameset rows="25%,*,25%" cols="*,*,50%">
<frame src="primer2.html">
<frame src="primer3.html">
<frame src="primer4.html">
<frame src="primer5.html">
<frame src="primer6.html">
<frame src="primer7.html">
<frame src="primer8.html">
<frame src="primer9.html">
<frame src="primer10.html">
</frameset>
08:45 7
IFRAME
? Koristi se da prikaže web stranicu unutar druge web
stranice.
? Sintaksa je:
? <IFRAME SRC="URL"></IFRAME>
? Atributi HEIGHT i WIDTH definišu visinu i širinu IFRAME u
pikselima ili u procentima.
? Atribut FRAMEBORDER specificira debljinu ivice oko
IFRAME. Ako se postavi na "0" ivica postaje nevidljiva.
08:45 8
28.3.2014.
5
Primer 13
............
<iframe src="primer6.html" width="80%" height="200" align="right"></iframe>
.............
08:45 9
Form
? HTML forme se koriste da bi se podaci od citaca
prosledili do servera.
? HTML forme sadrže elemente za unos podataka, kao što
je tekstualno polje, polje za potvrdu, radio dugme,
dugme za slanje...
? Takode može da sadrži listu za izbor, tekstualnu oblast
(više linija u odnosu na tekstualno polje), labele..
? <form>
.
input elements
.
</form> 08:45 10
28.3.2014.
6
? Forma može da sadrži i druge elemente osim formi.
? Forma može da sadrži i blok elemente, kao što su <p>,
<H1>,liste...
? Atribut ACTION definiše URL aplikacije, tacnije skripte koja
obraduje podatke koji se pošalju od forme.
? Na primer, slanje podataka skripti mailinglist.php.
? <form action="/mailinglist.php" method="post">...</form>
08:45 11
GET-POST
? Postoje samo dve metode za slanje podataka serveru.
• POST
• GET
? I one se definišu kao vrednost atributa METHOD
? POST metodom se podaci šalju praceni posebnim
zaštitom i bez ogranicenja u velicini podataka koji se
šalju.
? Koristi se za manju kolicinu podataka i pri tome su
podaci koji se šalju dostupni.
08:45 12
28.3.2014.
7
Elementi u formi
? Tekstualno polje
? <form>
username: <input type="text" name="username"><br>
password: <input type="password" name="password">
</form>
? Predstavlja jednolinijsko polje za unos teksta.
? Polje tipa password je identicno tekstualnom ali se tekst ne prikazuje
korisniku, tacnije maskiran je.
08:45 13
Radio dugme
<form>
<input type="radio" name="sex" value="male">Male<br>
<input type="radio" name="sex" value="female">Female
</form>
Check box
<form>
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car
</form>
08:45 14
Zadatak
? Koristežci frejmove
napisati html
stranicu po uzoru
sa slike.
13:40 1
CSS
13:40 2
Uvod
? CSS je skracenica od engleskog naziva Cascading Style
Sheets.
? Stil (engl. Style) definiše prikaz HTML elemenata.
? CSS se može na jedinstven nacin primeniti da više
elemenata ili grupa elemenata pa tako na dosledan nacin
definisati izgled i funkcionalnost stranica.
? Stil se piše u elementu <head>, u eksternim stilskim
stranicama ili u samom elementu.
? Cešce korišcena varijanta je pisanje CSS-a u eksternim
stranicama.
? Napomena: Zbog lakšeg ucenja u našim primerima bice
cešce korišcen interni stil pisanje stilova.
13:40 3
Struktura zapisa
? Izmedu tagova <head> i </head> dodaje se:
• <style type="text/css">
• . . . . . . . .
</style>
? Na primer, da bi promenili boju teksta na stranici u plavo:
• <style type="text/css">
• body{color: blue;}
• </style>
13:40 4
Struktura zapisa stila
? U terminologiji CSSa dve glavne sekcije pravila su:
selektor koji definiše element ili elementa na koje ce
menjati i deklaracije koje se ondnose na formiranje
izgleda.
? Deklaracija zapravo odreduje svojstva izgleda i sastoji
se iz naziva svojstva (npr. color) i vrednosti svojstva
(npr. green).
? Jedna ili više deklaracia se smeštaju u viticaste
zagrade, odvojene medusobno tacka zarezom.
13:40 5
#cssPodloga {
background-color:#003366;
padding: 20px;
border: 1px;
color: #FFFFFF;
height: 100%;
width: 50px;
}
...
<body id="cssPodloga">
13:40 6
Selektori
? Na primer:
? h1 { color: green; }
? p { font-size: small; font-family: sans-serif; }
? U primerima, h1 odnosno p su HTML elementi koji su
korišceni kao selektori, pa se ovi selektori nazivaju
selektorima tipa elementa (eng. element type selector)
i predstavljaju osnovi tip selektora.
? Svojstva koja su definisana za svako od pravilo bice
primenjena na svaki h1 odnosno p element dokumenta.
? Postoje mnogo napredniji selektori koje cemo upoznati
kasnije.
13:40 7
Deklaracije
? Sastoje se od parova svojstvo/vrednost.
? Može da postoji više od jedne deklaracije za jedno pravilo,
npr. pravilo za element p koje je navedeno u prethodnom
primeru, ukljucuje velicinu fonta i naziv fonta.
? Svako pravilo se mora završiti sa tacka-zapetom, kako bi se
odvojilo od ostalih. Ako se izostavi tacka-zapeta,
deklaracija se ignoriše.
? CSS ignoriše praznine i nove redove. Zato se cesto
deklaracije pišu u zasebnim redovima i sa belinama.
• p {
• font-size: small;
• font-family: sans-serif;
• }
13:40 8
Primer 1
? U folderu cssPrimer1 otvorite kod.
? Prikažite navedenu stranicu.
? Ukljucite stilove koji su bili pod komentarom.
? Prikažine novu stranicu.
? Pogledajte kod i razmislite kako utice na prikaz.
13:40 9
Nacini povezivanje stilova i
dokumenata
? U prethodnom primeru smo povezali stil sa nazivom
elementa i to u tekucem dokumentu. To je jedan od 3
nacina povezivanja.
? Spoljni – zaseban fajl koji mora imati ekstenziju .css.
Stilovi se naknadno povezuju ili importuju u jedan ili
više HTML dokumenata. Na ovaj nacin ceo web sajt deli
iste stilove, što je dobar nacin za održavanje.
? Unutrašnji – Ovaj stil cesto koristimo u našim primerima
i na vežbama. Ubacen je u HTML dokument i deluje
samo na taj dokument. Element style je smešten u
zaglavlju dokumenta
13:40 10
<head>
<title>Required document title here</title>
<style>
/* ovako se pisu komentari, npr <style type="text/css">
se pise za XHTML i HTML 4.01 verzije*/
</style>
</head>
Linijski (engl. inline) – Moguce je da se stil primeni na
samo 1 element koristeci sopstvene atribute tog elementa.
Na primer:
13:40 11
? <h1 style="color: red"></h1>
? Da bi koristili višestruka svojstva, samo je potrebno da
ih razdvojimo tacka-zapetom, na primer:
? <h1 style="color: red; margin-top:
2em">Introduction</h1>
? Linijske stilove treba izbegavati, osim ako je apsolutno
neophodno kako bi se promenilo delovanje spoljašnjih
stilova.
? Eventualna izmena sajta zahteva pretraživanje
pojedinacnih elemenata, što je izuzetno neprakticno.
13:40 12
Povezivanje HTML stranice sa
CSS fajlom
? link
? @import
13:40 13
<link>
? Link element se najcešce koristi za povezivanje spoljnih fajlova
sa HTML dokumentom.
? Navodi se u head elementu.
? Atributi su:
? rel="stylesheet" – definiše relaciju sa tekucim dokumento. Kada je
css fajl onda je uvek vrednost stylesheet.
? href="url" – lokacija .css fajla.
? Na primer:
• <head>
• <title>Titles are required.</title>
• <link rel="stylesheet" href="/path/stylesheet.css">
• </head>
13:40 14
@import
? Drugi nacin da se neki .css fajl ukljuci u oblikovanje nekog HTML
dokumenta je koristeci pravilo @import.
? Može se primeniti takode i u spoljnom .css fajlu kao i u html
dokumentu.
• <head>
• <style>
• @import url("/path/stylesheet.css"); /*moze i bez url-a tj
navodeci samo vrednost*/
• p { font-face: Tahoma;}
• </style>
• <title>Naslov dokumenta</title>
• </head>
• @import cita pravila pre nego što budu primenjivana. Na taj nacin,
pravila koja su naknadno definisana preklapaju ova pravila.
13:40 15
? Mala je razlika izmedu @import i link nacina
ukljucivanja spoljnih css fajlova. Import dozvoljava da
se spoljni css fajl ukljuci u definiciju stila, na primer:
? <style type="text/css">@import url("styles.css");</style>
? Stariji citaci ne prepoznaju import što takode može biti
iskorišceno. Na primer
? @import url(../style.css);
? Nece biti primenjeno u slucaju IE3,4 ili Netscape 4....
13:40 16
Kaskadni koncept stilova
? Nasledivanje
? HTML elementi se koriste za prikaz elemenata u nekoj
web stranici za sadržaj koji povezuje te elemente. Na
primer, ako se koristi em element u nekom paragrafu u
kom je definisana velicina i oblik karaktera, ocekivano
je da velicina ostane ista i za naglašeni tekst.
Bez primene stila
Sa primenom stila:
p {
font-size: small;
font-family: sans-serif;
13:40 } 17
? Zbog ovog koncepta, struktura HTML dokumenta je
bitna za CSS.
? HTML dokumenti imaju hijerarhijsku strukturu.
13:40 18
? Na primer, kada se napiše stil za definisanje fonta za p
element (pasus) kao selector, pravilo se primenjuje na
sve paragrafe u dokumentu kao i na sve elemente koje
ti paragrafi sadrže. Prethodni primer to pokazuje. Na
slici se vidi na koje elemente važi primena pomenutog
stila. Zapazite da je img element iskljucen iz stabla
primene jer se font ne može primeniti na slike.
13:40 19
Konflikti više stilova
? Ukoliko se stil definiše u body elementu primenjuje se
na sve elemente HTML stranice.
? Medutim, nastaje konflikt sa stilovima koji su posebno
definisani ili se primenjuju na unutrašnje elemente, kao
što je bio slucaj sa stilom koji se primenjuje na paragraf
p.
13:40 20
Kaskadno rešavanje
konflikata
? CSS dozvoljava da se primenjuje nekoliko stilova na istom
dokumentu. Medutim, višestruka primena znaci i konflikte.
Na primer, ako se na h1 element primeni jedan spoljni stil
koji nalaže da naslov bude crven, a takode postoji i
ugradeni stil koji za naslove nalaže da budu zeleni, koje
boje ce naslov biti prikazan?
? Razrešavanje ovog slucaja je toliko važno da je nacin
važenja ugraden u sam naziv "kaskadnih" stilova. Dakle,
pravilo se se primenjuje "odozgo na dole" sve dok ne bude
preklopljeno stilom koji ima vecu težinu.
? Na primer, ako se ne primeni ni jedan stil, važeci stil je
interni stil citaca, koji nazivamo podrazumevani stil za
renderovanje tj formiranje prikaza.
13:40 21
? Posebno korisnici mogu imati sopstvene stilove (engl.
user style sheet) koji preklapaju podrazumevane
stilove citaca.
? Stilovi koji se definišu u web stranici, dakle, stilovi koje
definiše autor web stranice i važe za istu, preklapaju i
korisnicke i podrazumevane stilove.
? Jedini izuzetak su stilovi koje korisnik identifikuje kao
„important“.
13:40 22
? Dakle, css stilovi su hijerarhijski i na taj nacin se
odreduje koji ce biti važeci. Kao što je vec
napomenuto, postoje 3 nacina da se stil „prikaci“ za
dokument.
? Uopšteno, stil koji je „bliže“ definisan za neki element
ima vecu težinu. Na primer, unutrašnji stil ima vecu
težinu od spoljnog stila.
? Na primer, h1 element iz našeg primera primenice
zelenu boju, kako je navedeno u unutrašnjem stilu.
? Stilovi u elementu imaju najvecu težinu pošto se ne
može naci bliži stil za taj element.
13:40 23
!important
? Da bi se promenio podrazumevani nacin primene kaskadnih
stilova, moguce je spreciti preklapanje primenom važnosti
na neki stil.
? Ovo se postiže ubacivanje indikatora !important.
? Na primer, da bi tekst u paragrafu bio plav uvek, koristi se
pravilo:
? p {color: blue !important;}
? Cak i u slucaju da se naknadno ukljuci drugi „inline“ stil, na
primer:
? <p style="color: red">
? Paragraf ce i dalje da ima plav tekst jer se stil sa
indikatorom !important ne može preklapati sa drugim
stilovima.
13:40 24
? Kako smo rekli, da bi promenili boju paragrafa, ne
uticuci na ostatak web sajta, postavili smo indikator
!important.
? p {color: blue !important;}
? Ipak, da li je moguce promeniti ovaj stil?
? Jedini nacin da se neki !important stil preklopi jeste da
drugi stil koristi takode indikator !important, ali da
bude sa vecim prioritetom.
13:40 25
Redosled primene stilova
? Informacija o stilu može da potice od razlicitih izvora.
Izvori su navedeni u listi, od opštijih ka specificnijim.
Tako ce stavke u listi na nižoj poziciji preklopiti stavke
iznad.
1. Podrazumevani stilovi browser-a
2. Korisnicki definisani stilovi u browser-u
3. Spoljni stilovi
4. Importovani stilovi (dodati pomocu @import funkcije)
5. Ugradeni stilovi (added with the style element)
6. Linijski (Inline) stilovi (dodaju se u pocetnom tagu)
7. Stilovi oznaceni sa !important
8. Korisnicki definisani stilovi sa !important
13:40 26
? Šta se dogada ako imamo konflikt izmedu stilova
jednake težine?
? Na primer:
? Ili
? U ovom scenariju, važeci stil ce biti onaj koji je
poslednji definisan!
13:40
<style>
p { color: red; }
p { color: blue; }
p { color: green; }
</style>
<style>
p { color: red;
color: blue;
color: green; }
</style>
27
Box model
13:40
Svi HTML elementi su u sopstvenim “kutijama”. Ovaj termin se
koristi kada se govori o prikazu odnosno dizajnu..
Box model je model koji predstavlja oiviceni HTML element jednim
pravougaonikom koji se sastoji od: margina, ivica, padding, i od
sadržaja.
Ovaj model nam dozvoljava da pomocu CSS umecemo ivice,
praznine i sl. U odnosu na druge elemente.
28
Primer 2
? <html>
? <head>
? <style>
? div {
? width: 200px;
? padding: 10px;
? border: 5px solid gray;
? margin: 0px;
? }
? </style>
? </head>
? <body>
? <div class="ex">Ovo je ne. . . .
? . . . .
? </div>
? </body>
? </html>
? Kolika je ukupna širina / visina
„div“ oblasti?
13:40 29
Box model kroz pomocne
razvojne alate
13:40 30
Blok elementi
? Neki elementi se uvek prikazuju od same leve ivice
prozora citaca tj. od novog reda.
? Ovi elementi se nazivaju blok elementima.
? Primeri:
? <h1>
? <p>
? <ul>
? <li>
13:40 31
Linijski elementi
? Neki elementi se uvek prikazuju tako što se nadovezuju
kroz linijski prikaz u susednih elemenata.
? Ovi elementi su poznati kao linijski (engl. inline)
elementi.
? Na primer:
? <a>
? <b>
? <em>
? <img>
13:40 32
Primer
13:40 33
Formiranje selektora
13:40 34
Kriterijumi za definisanje
selektora
? Selektor definiše elemente na koje se stil primenjuje.
Definisanje tih elemenata se vrši koristeci:
? Univerzalni selektor
? * { }
? Tip elementa
? H2 { color:blue; }
? Kontekst
? H2 EM { color:gray; }
? ID elementa, tj odnosi se na tacno odredeni element
? H2#glavni { color:red; }
? Klasa elemenata, odnosi se na elemente odredene klase
? EM.myClass { color:green; }
13:40 35
? Koristeci pseudo klasu elementa
? H2:naslovi { color:red; }
? Koristeci atribute sa ili bez vrednosti elemenata
? H2[name] { color:red; }
13:40 36
Selektor po ID odnosno klasi -
1
? Da bi se koristio ovaj selektor potrebno je da elementi u
HTML dokumentu budu oznaceni sa ID odnosno klasom.
? Upotreba atributa ID uz element, na primer
ID=“glavniNaslov“ znaci da element ima jedninstvenu
vrednost ID, i na ovaj nacin se stil primenjuje na
odredeni elemenat.
? Svrstavanje više elemenata u grupe vrši se koristeci
atribut CLASS=“podNaslovi“.
13:40 37
Selektor po ID odnosno klasi -
2
? Podsecanje. Da bi se stil mogao primeniti na iskljucivo
jedan odredeni element, taj element mora imati
definisan atribut ID.
? Zapazite. Slicno nacinu kako element <a> referiše sidro,
tako selektor koristi ID elementa tako da se prvo stavi #
pa vrednost ID atributa elementa na koji se stil odnosi.
Na primer:
? h1#glavniNaslov { color: red; }
? div#zakljucak p{ color:blue; }
? Prvi selektor se odnosi na h1 naslov ciji je id
“glavniNaslov, dok drugi oznacava primenu na paragrafe
odeljka ciji je ID=“zakljucak“
13:40 38
Selektor po ID odnosno klasi -
3
? Selektor koji treba da oznaci primenu stila na grupi (klasi)
elemenata piše se na primer:
? .podNaslovi{ color:red; }
? Obratiti pažnju da se ispred naziva klase stavlja tacka.
Tacka je obavezna.
? Selektori mogu koristiti kombinaciju nekoliko vrsta
oznacavanja. Na primer, može se kombinovati tip elementa
sa nekim od ova dva tipa.
? Na primer: Ime klase se može koristiti zajedno sa tipom
elementa. U tom slucaju se pravilo primenjuje na elemente
tog tipa iz oznacene klase.
? H2.podNaslovi{ color:red; }
13:40 39
Selektor za elemente u
kontekstu
? Koristeci CSS selektore moguce je odabrati elemente
koji su u odredenoj relaciji sa drugim elementima.
? Neke relacije su: roditelj, dete, preci, potomci ili su na
istom nivou u hijerarhijskoj strukturi (blizanci).
? Izbor na osnovu roditelja:
? Sintaksa je: selektorRoditelj > selektorDete. Na primer
? div#zakljucak > p { color:blue; }
? Selektor se odnosi na paragrafe koji su dete elementi u
odnosu na div sa id= “zakljucak“
13:40 40
Selektori za potomke elementa
? Elementi u HTML stranici su hijerarhijski uredeni poštujuci na taj
nacin strukturu teksta u dokumentu. Primena selektora takode je
hijerarhijska.
? Na primer, ako crvenom bojom želimo da naglasim tekst uokviren
sa elementom em, u naslovu h1, da li je dobar stil?
? h1 { color: red }
em { color: red }
? Ne! Promena ce se odraziti i na sve em elemente, a ne samo na
em element unutar h1 elementa.
<H1>This headline is <EM>very</EM> important</H1>
? Dakle, potrebno to pravilo napisati drugacije. Ukljucivanje drugog
pravila u prvo pravilo bi bilo:
? h1 em { color: blue }, a važilo bi i na slucaj (ne samo na
dete element vec na sve potomke):
? <H1>This <SPAN class="myclass">headline is
<EM>very</EM> important</SPAN></H1>
13:40 41
Selektori na osnovu atributa
? [atribut]
? Izbor elemenata se može izvršiti na osnovu atributa u
tim elementima odnosno na osnovu vrednosti tih
atributa. Na primer:
• a[href] {
• text-decoration: none;
• }
? Rezultat je da, gde god se pojavio href atribut u nekom
elementu, link nece biti podvucen.
13:40 42
? [atribut=val]
? Drugi nacin je da se selektuje ne samo atribut, nego i
vrednost tog atributa. Na primer:
• a[href=“http://www.viser.edu.rs"] {
• text-decoration: none;
• }
• Rezultat je da, gde god se pojavio href atribut u nekom
elementu, a ukazuje na školu, link nece biti podvucen.
13:40 43
? [atribut~=val]
? Izbor elemenata se vrši na osnovu vrednosti atributa.
Samo oni elementi ciji atributi koji sadrže navedenu
vrednost kao jednu rec odvojenu razmaknicom u stringu
odgovaraju selektoru. Na primer:
• a[naziv~="upis"] {
• text-decoration: none;
• }
• Rezultat primene su elementi sa atributom naziv koji
imaju vrednost "upis", "junski upis"
13:40 44
? [atribut |= val]
? Izbor elemenata se vrši na osnovu vrednosti atributa i to
tako da atribut ima navedenu vrednost ili sa crticom iza
nje. Praznina znaci da se nece selektovani ni jedan. Na
primer:
• a[naziv|="main"] {
• color: red;
• }
• Rezultat primene su elementi sa atributom naziv a
deluje samo ukoliko a element ima atribu naziv sa
vrednostima "main", "main-1".
13:40 45
? [atribut ^= val]
? Izbor elemenata se vrši na osnovu vrednosti atributa i to
tako da atribut ima navedenu vrednost ili pocinje sa
tom vrednošcu. Na primer:
• a[naziv|="nsl3"] {
• color: red;
• }
• Rezultat primene su elementi sa atributom naziv a
deluje samo ukoliko a element ima atribu naziv sa
vrednostima "nsl3", "nsl33".
13:40 46
? [atribut $= val]
? Izbor elemenata se vrši na osnovu vrednosti atributa i to
tako da atribut ima navedenu vrednost ili se završava sa
tom vrednošcu. Na primer:
• a[naziv|=".png"] {
• color: red;
• }
• Rezultat primene su elementi sa atributom naziv a
deluje samo ukoliko a element ima atribu naziv sa
vrednostima "slika1.png", "slika2.png".
13:40 47
? [atribut *= val]
? Izbor elemenata se vrši na osnovu vrednosti atributa i to
tako da atribut ima navedenu vrednost ili sadrži
navedeni podstring. Na primer:
• a[naziv|="viser"] {
• color: red;
• }
• Rezultat primene su elementi sa atributom naziv a
deluje samo ukoliko a element ima atribu naziv sa
vrednostima "www.viser.edu.rs".
13:40 48
Primena na više atributa
? Primenjuju se kada je potrebno da se stil primeni na
nekoliko atributa jednog elementa ili nekoliko puta na
istom atributu. Na primer:
? span[hello="Cleveland"][goodbye="Columbus"] {
color: blue; }
13:40 49
Primena grupe selektora
? Grupe selektora se pišu tako što se pre narednog stavi
zapeta i tako dalje. Na primer:
? h1,h2 { color:red; }
? Boja ce biti primenjena na naslove h1 i h2.
? Osim primene grupe selektora, možete koristiti i bilo
koje kombinacije navedenih nacina oznacavanja
selektora.
13:40 50
Pseudoselektori
pseudoelementi i pseudoklase
? Na osnovu strukture dokumenta nije bilo moguce
primeniti stilove u nekim slucajevima, a koji nisu retki.
? Na primer, ni jedan element ne referiše prvu liniju
paragrafa i zato ne postoji jednostavan CSS selektor koji
bi tu liniju izdvojio. Za takve slucajeve je uveden
koncept pseudoelemenata i pseudoklasa.
? Kreiraju apstrakcije koje nisu obuhvacene stablom
dokumenta. Dakle, omogucavaju dizajnerima primenu
stila na sadržaj koji ne postoji u izvornom dokumentu
(na primer :before daje pristup u kontekstu)Mogu biti i
dinamicke, tj nemaju uvek isti ishod.
13:40 51
Pseudoklase
? Za izbor dela elementa koriste se pseudo elementi. Radi
se o vrstama selektora za znakove koji nisu opipljivi i
koje ne možete da „rucno“ oznacite. Na primer:
? div > p:first-child { text-indent: 0 }
? Važi za: Ne važi za:
? p:first-line { color:red; }
? oznacava prvi red u nekom pasusu, dok
? p:first-letter{ color:blue; }
? oznacava prvo slovo u pasusu. 13:40
<DIV class="note">
<P> Prvi paragraf.
</DIV>
<DIV class="note">
<H2>Note</H2>
<P> Prvi paragraf.
</DIV>
52
Pseudoklase za stanja linkova
? Poseban slucaj je da se selektor odnosi ne na element
vec na stanje elementa. Tako se za definisanje stanja
linkova koristi se sledeci stil:
? A : naziv { color:red; }
? naziv ima moguce vrednosti:
? link – odnosi se na veze na koje nije kliknuto niti je miš
iznad njih
? visited – odnosi se na veze koje su korišcene
? focus – ako je veza u fokusu
? hover – kada se na vezu pokaže
? acitve – kada se na njih pritisne
13:40 53
Pregled
13:40 54
Selektor Opis
:first-child Prvo dete element
::first-line Prva linija u prikazu
::first-letter Prvo slovo
::before Ubacivanje sadržaja i stila ispred selektora
::after Ubacivanje sadržaja posle selektora
:focus Selektuje se stanje fokusa kontrole za unos
:link
:visited
:active
:hover
Selektuje stanje veza, dakle ne element vec
stanje!
Primer 3
<head>
<style>
div p:first-line {
color:red;
}
p:first-letter {
color: blue;
font-size: 3em;
font-weight: normal;
}
p#naslov {
text-transform: uppercase;
}
</style>
</head>
<body>
<div>
<p id="naslov">
Primeri:
</p>
</div>
<div>
<p>
Studijski programi <nobr>Visoke škole . . .</nobr> izradeni .
. .
<p>
Sadržaj kvalifikaci . . .
<p>
Da bi koncept . . .
</div>
</body>
</html>
13:40 55
Primer 4
<html>
<head>
<style>
input:focus {
background-color: yellow;
}
</style>
</head>
<body>
<p>Pozadina postaje žuta kada se element
nadje u fokusu:</p>
<form>
First name: <input type="text"
name="firstname" /><br>
Last name: <input type="text"
name="lastname" />
</form>
<p>Fokus radi na vecini novih citaca, ne
i na starijim.</p>
</body>
</html>
13:40 56
Primer 5
? <html>
? <head>
? <style>
? form:before {
? content: "<hr>";
? }
? p:before {
? content: ">>";
? }
? blockquote:before {
? content: "##";
? font-size: 24px;
? color: purple;
? }
? blockquote:after {
? content: "#";
? font-size: 24px;
? color: purple;
? }
? </style>
? </head>
? <body>
? <p>Pozadina postaje žuta kada se element nadje u fokusu:</p>
? <form>
? First name: <input type="text" name="firstname" /><br>
? Last name: <input type="text" name="lastname" />
? </form>
? <p>Fokus radi na vecini <blockquote>xxxx xxx xxxxxx xxxx xxxx xxx xxxxxx
xxxx xxxx xxx xxxxxx xxxx xxxx xxx xxxxxx xxxx</blockquote> novih citaca,
ne i na starijim.</p>
? </body>
? </html>
13:40 57
Rezime
? Univerzalni selector *, odgovara svim elementima
? * { font-family:serif; }
? Selektor tipa, odgovara svim elementima cije je ime u
selektoru
? div { font-style: italic; }
? A B , selektuje sve potomke od elementa A koji su B
? p em { color: blue; }
13:40 58
? A > B , selektor za dete element. Selektuje sve B
elemente koji su dete elementa A.
? div.glavniOdeljak > p {color: red; }
? A+B, selektuje B element koji sledi element A, na istom
nivou.
? li + li {color: red; }
? .classname, klasni selektor koji odgovara vrednosti class
atributa u svim elementima koji pripadaju toj klasi.
? P.novosti { font-size: 8em; }
13:40 59
? ID selektor, odgovara tacno jednom elementu sa def ID
? #glavnaVest {font-weight: bold; }
? Atribut selektor A[attr] , odgovara svim elementima koji
imaju odredeni atribut, ili ako je definisana vrednost u
selektoru, onda se odosi na elemente sa atributom sa
tom vrednosti.
? table [border] {background-color; white; }
? U ovu grupu spadaju i selektori posebnih atributa:
? table[class~=“primer“] {background-color: orange; }
? a[hreflang|=“es“] {. . . . .}
13:40 60
5/5/2015
1
Zadatak
? Na fajlu ulazniZadatak start.html uraditi sledece:
? 1. Kreirati spoljni css fajl u folderu css koji ce sve glavne naslove
h1 obojiti u purple, a zatim promeniti font na stranici u Arial ili
sans serif. Ispitati promenu u prikazu u zavisnosti od odabranog
fonta.
? Pomoc:
? {
font-weight:bold;
color: purple;
}
? {
font-family:Arial,sans-serif;
}
? 2. Koristeci ugradeni stil u html stranici uvecati font za 10% u
svakom pasusu u odeljcima:
? Pomoc:
? {
font-size: 110%;
}
12:13 1
? Sav tekst treba da bude plave boje (navy) osim vec
podešenog naslova.
? Posebno paragraf sa id=„poziv“ treba iskositi koristeci
font-style.
? Pomoc:
? {
font-style:italic;
}
12:13 2
5/5/2015
2
? Gde god postoji referenca na b92.net treba boldovati.
? Pomoc:
? {
font-weight:bold;
}
12:13 3
? Sadržaj svih em elemenata boldovati naknadno koristeci
important oznaku:
12:13 4
5/5/2015
3
CSS
tipografija
12:13 5
Svojstva fontova
? font-size
? font-style
? font-weight
? font-family
? font-variant
? font (shorthand property)
12:13 6
5/5/2015
4
font-family
? Dizajner ili programer definišu nacin prikaza teksta
koristeci font. Medutim, prikaz stranice se vrši na strani
klijenta gde definisani font može ali ne mora da postoji.
Zato se pri definisanju fonta vrši izbor porodice fontova
ili više fontova kako bi se dobio željeni prikaz.
? Porodica fontova se definiše pomocu stila.
? font-family:name1,name2
? Gde je name1 prvi izbor fonta, a name2 drugi.
? Za izbor se može dodati proizvoljan broj fontova.
12:13 7
? Omogucava specificiranje fonta koristeci familije fonta
(npr. sans-serif) ili specificni font (npr. Arial).
? p {font-family: sans-serif;}
? p {font-family: arial;}
12:13 8
5/5/2015
5
CSS porodice fontova
Genericka familija Font familija Opis
Serif Times New Roman
Georgia
Serif fontovi imaju male
linije na krajevima karaktera
Sans-serif Arial
Verdana
"Sans" znaci „bez“- ovi
fontovi nemaju male linije na
krajevima karaktera
Monospace Courier New
Lucida Console
Svi karakteri imaju istu
širinu
12:13 9
Primeri porodica fontova
12:13 10
5/5/2015
6
Primeri porodica fontova
? Osim 3 navedena koriste se još dve vrste:
? Cursive – simulira skript ili rukopis.
? Fantasy – u potpunosti dekorativan i podesan za naslove
i posebne namene. Retko se koristi za web zbog toga što
ovi fontovi nisu zajednicki podržani od svih platformi.
12:13 11
Najcešci fontovi
12:13 12
5/5/2015
7
Web fontovi
? Da bi font bio vidljiv na korisnickoj strani, isti font mora
biti prisutan na korisnickom racunaru.
? Ukoliko ne postoji font koji je naveden, font se može
ugraditi ili referisati na nacin pogodan za korišcenje.
? Datoteka koja se koristi kao izvor za ugradivanje fonta
ne može biti bilo kog formata vec je standardizovana.
Odgovarajuci format je moguce dobiti iz vec postojecih
fontova racunara primenom odgovarajucih programa za
izvoz u željeni format.
12:13 13
Web fontovi - formati
? Za ukljucivanje fontova u web stranice neophodno je
razumevanje da razliciti brauzeri podržavaju razlicite
formate fontova.
? Vecina fontova su u OpenType (OTF) ili TrueType (TTF)
formatu. Internet Explorer prihvata Embedded Open
Type (EOT) format.
? Osim pomenutih postoji novi standard za upakivanje
fontova koji su prihvatljivi svim citacima. Novi format
je WOFF (Web Open Font Format).
12:13 14
5/5/2015
8
Web fontovi
licenciranje,
hostovanje
? Fontovi se placaju.
? Veliki broj fontova je zašticen autorskim pravima. Neki su
licencirani tako da se mogu koristiti na ogranicenom broju
mašina i obicno „download“ i upotreba nisu moguci bez
ogranicenja!
? Postoje dva pristupa koja obezbeduju korišcenje fontova:
samostalno hostovanje ili korišcenje font servisa.
? Hostovanje fontova. Pošto nadete font potrebno je da ga
postavite na server u svim zahtevanim formatima a zatim
da ga linkujete i ukljucite u stranicu koristeci @font-face
rule.
? Za izbor fontova za ovaj nacin korišcenja možete koristiti
pomoc sajtova: fontspring.com, fontsquirrel.com.
12:13 15
Web fontovi
hostovanje
? Font treba da sacuvajte u više formata.
? Postoje alati koji konvertuju izvorni font u druge
formate, ali takode postoji i jedan servis koji vam može
obezbediti sve potrebno:
www.fontsquirrel.com/fontface/generator
? Nakon upload-a vašeg fonta, dobija se font u formatima
TTF, EOT, WOFF, odnosno SVG, kao i CSS kod potreban
da font bude ugraden.
? Vodite racuna da servis koristite samo za fontove koji su
dozvoljeni za web upotrebu. Takode, bolji kvalitet fonta
se dobija ukoliko se može skinuti sa sajta samog
kreatora fonta, a ne koristeci generator.
12:13 16
5/5/2015
9
@font-face
? Nakon preuzimanja fajlova i smeštanja istih u
odgovarajuci direktorijum na serveru, potrebno je
ukljuciti font u css kod.
? Na primer:
• @font-face {
• font-family: 'Font_name'; src: url('myfont-webfont.eot?#iefix')
format('embedded-opentype'), url('myfont-webfont.woff')
format('woff'), url('myfont-webfont.ttf') format('truetype'),
url('myfont-webfont.svg#svgFontName') format('svg');
• }
? A zatim se ukljuceni font može koristiti pri definisanju
stilova:
• p {font-family: Font_name; }
12:13 17
Povezivanje sa font servisima
? Drugi nacin za ukljucivanje posebnih fontova je
korišcenje specijalizovanih servisa.
? Neki od servisa su besplatni i nude fontove visokog
kvaliteta, a takodje nude i opciju licenciranja i zaštite
autorskih prava.
? Servisi pružaju interfejs i alate koji omogucavaju
ugradnju fontova kao i kopiranje.
? Vodite racuna o licenci odnosno ceni.
12:13 18
5/5/2015
10
Google Web Fonts
? Google Web Fonts je servis na lokaciji
www.google.com/fonts
? Google Web Fonts je besplatan servis koji nudi pristup
velikom broju besplatnih fontova cak i za komercijalnu
upotrebu.
? Sve što morate da uradite je da odaberete neki font,
onda kopirate i nalepite kod koji je generisan.
12:13 19
Zadatak, font family - 1
? Zadatak: Datu stranicu menu.html izmeniti po sledecim zahtevima:
? Dodati ugradeni style element za ovaj zadatak.
? Rešenje:
? <head><title>... ... ....</title>
<style>
</style>
</head>
? Zadatak: Glavni tekst treba da se prikazuje u fontu Verdana ili
nekom drugom sans-serif fontu.
? Rešenje: Umesto da se piše stil za svaki element dovoljno je
primeniti stil samo na body element. Potrebno je dodati sledece
pravilo:
? <style>
body {font-family: Verdana, sans-serif;}
</style>
12:13 20
5/5/2015
11
Zadatak, font family - 2
? Zadatak: Potrebno je posebno formatirati naslov na
stranici “Black Goose Bistro, Summer Menu” koristeci
font „ Marko One“ iz Google kolekcije
www.google.com/fonts.
? Zadatak: Pronaci deo koji opisuje nacin povezivanja
fonta:
? Rešenje:
? <link
href='http://fonts.googleapis.com/css?family=Marko+
One' rel='stylesheet' type='text/css'>
12:13 21
Zadatak, font family - 3
? Zadatak: Zatim dodajte pravilo za primenu linkovanog
fonta na naslov.
Zapazite da je specificiran i font Georgia ili drugi serif
font:
? Rešenje:
? <style>
body {font-family: Verdana, sans-serif;}
h1 {font-family: "Marko One", Georgia, serif;}
</style>
12:13 22
5/5/2015
12
Font-size
Definisanje velicina
? Da bi se definisala velicina fonta ili margine ili
nekog drugog objekta, neophodno je najpre da
definišemo mere koje se koriste za definisanje
velicine.
? U dizajnu web stranica koriste se 2 vrste mere:
? apsolutne
? relativne
12:13 23
Apsolutne mere
? Apsolutne jedinice mere koje se koriste za velicine su:
? Inci (engl. Inches [in])
? Centimetri (cm)
? Milimetri (mm)
? Points (pt)
? Picas (pc)
? Jedna tacka 1pt je velicine 1/72in
? 1pc = 12pt
? Negativne vrednosti nisu dozvoljene.
12:13 24
5/5/2015
13
Apsolutne mere
? Specificiraju fiksne velicine. Na primer:
P {margin: 1.25in;}
? VAŽNO Apsolutne mere se ne mogu skalirati na
klijentsom prikazu.
? Treba da budu korišcene samo kada je poznata tacna
velicina klijentskog medijuma.
12:13 25
Relativne mere
? Relativne jedinice mere
? Zadaju se u odnosu na neke druge jedinice mere. Tu
spadaju:
? Em
? X-height (ex)
? Pixels (px)
? Omogucavaju projektovanje skalabilnih Web stranica
koje se prilagodavaju razlicitim velicinama i tipovima.
? Po W3C preporukama ove mere treba uvek koristiti pri
dizajnu.
12:13 26
5/5/2015
14
em
? Em jedinica je podrazumevana velicina fonta koja je
podešena na citacu.
? Tradicionalno predstavlja širinu velikog slova M. (Nema
nikakve veze sa elementom em)
? Odnosi se i na horizontalnu i vertikalnu meru.
12:13 27
? Kada se postavi font-size u em jedinicama, zadata
vrednost predstavlja faktor skaliranja podrazumevane
velicine, slicno procentu.
? Na primer, ako je podrazumevana velicina u body
elementu 16px, pdešavanjem elementa h1 na 1.5 em
postavlja se velicina fonta u h1 elementu na 24 px.
? body { font-size: 100%; }
? h1 { font-size: 1.5em; } /* 1.5 x 16 = 24 */
12:13 28
5/5/2015
15
ex
? X-height (ex) predstavlja velicinu malog slova x u fontu.
? Visina malog slova x može da prilicno zavisi od vrste
fonta.
12:13 29
px
? Pixel-najmanja tacka koja može da se prikaže.
? Predstavlja osnovni element slike na displeju.
? Velicina piksela je odredena rezolucijom displeja.
? Mera je dobra za racunarski prikaz, ali nije dobra za
druge medije kao na primer za štampanje.
12:13 30
5/5/2015
16
%
? Procenti se uvek koriste za relativno definisanje
velicine, u odnosu na neku drugu velicinu.
? Na primer, sledece pravilo
? body {font-size: 150%;}
? postavlja velicinu fonta za <body> element na1.5 puta
velicine fonta koja je podrazumevana u citacu.
Deca elementi nasleduju vrednosti od roditeljskih
elemenata, pa i vrednosti o velicini.
? Na primer, <b> tekst u sledecem primeru je 125% veci
od teksta u <p> koji ga sadrži:
p {font-size: 12pt;}
p b {font-size: 125%;}
12:13 31
em, %
? em i % su relativne jedinice mere.
? Razlika je u tome u odnosu na koju velicinu su relativne
velicine koje su iskazane ovim jedinicama.
? em je uvek relativan u odnosu na velicinu fonta.
? % je relativan u odnosu na roditeljski blok, obicno
body, div, table, osim kada se primenjuje na font-size u
tom slucaju se primenjuju u odnosu na roditeljski font.
12:13 32
5/5/2015
17
Zadavanje velicine kljucnim
recima
? Velicina fonta se može definisati pomocu kljucnih reci:
xx-small, x-small, small, medium, large, x-large i xxlarge.
? Sintaksa je:
? background-image: url | none
? Default: none
? Na primer:
? body {
? background-image:url(html5.png);
? }
? blockquote {
? background-image: url(viser.png);
? padding: 2em;
? border: 4px dashed;
? }
12:14 13
? Zapazite da kada se koristi svojstvo background-color
zajedno sa svojstvom background-image, slika ce doci
preko boje tj prekrice pozadinsku boju stranice.
? Medutim, kada se koristi format slike koji podržava
transparentost, kao na primer png format, tada ce
pozadinska boja biti vidljiva ispod transparentnih delova
slike.
12:14 14
5/5/2015
8
background-repeat
? Zapazite i to da se slika ponavlja ukoliko je
manja od podloge na koju se primenjuje.
? Ovo svojstvo ponavljanja se može dodatno
opisati pravcom po kom se slika ponavlja.
Sintaksa je:
? background-repeat: repeat | repeat-x |
repeat-y | no-repeat
? Podrazumevana vrednost: repeat
? Na primer:
12:14 15
body {
background-image: url(html5.png);
background-repeat:no-repeat;
}
blockquote {
background-image: url(viser.png);
background-repeat:repeat-y;
padding: 2em;
border: 4px dashed;
}
Zadatak 1c
? U nastavku zadatka uraditi sledece:
? 1. Dodati u pozadini cele stranice logo beogradskog sajma.
? 2. Na vrhu blockquote prvog odeljka dodati slicice zvezdica.
? Rešenje:
• body {
• background-image: url(Beogradski-sajam-logo-300x75.jpg);
• }
• blockquote {
• background-image: url(zvezdica.gif);
• background-repeat:repeat-x;
• border: 4px dashed;
• }
12:14 16
5/5/2015
9
Background position
? Svojsvo background-position odreduje poziciju slike na
pozadini. Ukoliko se slika multiplicira u prikazu, ovo
svojstvo odreduje prvu sliku u prikazu. Sintaksa je:
? background-position: vrednost | percentage | left |
center | right | top | bottom
? Podrazumevano: 0% 0% (tj. left top). Medutim, ako je
definisano samo jedna vrednost, druga dobija vrednost
center.
? Ako su koordinate u pikselima onda se prva velicina
odnosi na horizontalno rastojanje od leve ivice, a druga
koordinata na vertikalno rastojanje od vrha.
12:14 17
12:14 18
5/5/2015
10
? Medutim, ako se koordinate zadaju u procentima, onda
je prvi % pozicija gornjeg-levog ugla slike u odnosu na
širinu prozora, a drugi % je pozicija donjeg-desnog ugla
slike u odnosu na visinu prozora. Važno je da se uoci da
ove koordinate se ticu ne samo prozora vec i slike koja
se postavlja. Dakle, ako je 0% 100%, gornji levi ugao
slike je u gornjem levom uglu prozora, a donji desni
ugao slike je u donjem desnom uglu prozoru, tj slika je
skroz levo i skroz dole. Ako je 0% 0% slika je skroz levo i
skroz gore u prozoru.
? Ako nedostaje jedna velicna onda je podrazumevana
vrednost 50% (center)
12:14 19
Background attachment
? Kada se sadržaj neke stranice skroluje tada se zajedno
sa sadržajem pomera i pozadinska slika.
? Moguce je da pozadinska slika bude nezavisna tj da stoji
fiksna u pozadini i u slucaju skrolovanja. Ovo se postiže
svostvom background-attachment. Sintaksa je:
? background-attachment: scroll | fixed | local (CSS3)
? Podrazumevano: scroll
12:14 20
5/5/2015
11
Skraceni opis pozadinske slike
? Umesto pojedinacnih svojstava, za kompletan opis pozadinske
slike, može se koristiti jedno svojstvo:
? background: background-color background-image backgroundrepeat
background-attachment background-position
? Na primer, ovako bi glasilo jedno pravilo:
? body {
background: white url(viser.png) no-repeat right top fixed;
}
? Sve vrednosti su opcione i mogu se pisati u bilo kom redosledu.
? Jedino ogranicenje je da se pri navodenju koordinata
horizontalna vrednost se navodi prva.
12:14 21
Višestruke pozadinske slike: CSS3
? Noviji citaci podržavaju istovremeni prikaz nekoliko
slika kao pozadinske.
? U ovom slucaju se podaci svojstava za svaku sliku
posebno navode razdvojeni zapetom.
12:14 22
body {
background-image: url(image1.png),
url(image2.png), url(image3.png);
background-position: left top, center center, right
bottom;
background-repeat: no-repeat; no-repeat; no-repeat;
…
} body {
background:
url(image1.png) left top no-repeat,
url(image2.png) center center no-repeat,
url(image3.png) right bottom no-repeat;
…
}
5/5/2015
12
Padding, Borders, Margins
12:14 23
? Ranije smo objasnili box-model kao jedan od osnovnih
koncepata CSSa. Na osnovu tog modela svaki element u
dokumentu je smešten u pravougaonik koji je opisan
svojstvima:
širine, visine, pedinga, ivice i margina
12:14 24
5/5/2015
13
? Oblast sadržaja (eng. Content area)
? U jezgru svakog elementa je njegov sadržaj koji je
prikazan u ovoj oblasti (oznacen belom bojom na slici)
? Unutrašnja ivica (eng. Inner edges)
? Ivica koja odvaja oblast sadržaja od ostatka predstavlja
unutrašnju ivicu elementa. Mada se ova ivica prikazuje
u box modelu, ona nije vidljiva u prikazu.
? Oblast za odvajanje sadržaja (eng. Padding)
? Ova oblast stoji izmedu sadržaja i opcione ivice. Na
slici, ova oblast je prikazana žuto-narandžastom bojom.
Ova oblast je opciona.
12:14 25
? Ivica (eng. Border)
? Ivica je linija (nekada stilizovana linija) koja oivicava
element i njegov padding. Ivica je opciona.
? Margin
? Margina je opciona. Predstavlja prostor koji se dodaje
spolja u odnosu na ivicu. U dijagramu margina je oznacena
sa svetlo-plavom bojom, ali u realnoj primeni, margina je
uvek transparentna tako da se podloga vidi u ovom
prostoru.
? Spoljna ivica (eng. Outer edge)
? Spoljna ivica je ujedno i spoljna ivica margine i predstavlja
ivicu celog elementa. Ona oivicava je ukupnu površ koju
zauzima element na stranici ukljucujuci sadržaj, peding,
border i margine. Na slici je oznacena tackastom linijom,
ali u stvarnosti ova linija nije vidljiva.
12:14 26
5/5/2015
14
Dimenzije
? Podrazumevano, širina i visina jednog blok elementa se
racuna automatski od strane citaca. Širina je obicno
širina klijentske oblasti prozora citaca ili drugog
elementa koji ga sadrži, a visina je ona koja je potrebna
da se podesi sadržaj.
? Medutim, može se definisati širina i visina da bi sadržaj
elementa bio odredene velicine. Ove velicine se ne
nasleduju.
? width: vrednost | percentage | auto
? podrazumevano: auto
? height: vrednost | percentage | auto
? podrazumevano: auto
12:14 27
Primer
? p {
background: #c2f670;
width: 500px;
height: 150px;
padding: 20px;
border: 2px solid gray;
margin: 20px;
}
12:14 28
20px + 2px + 20px + 500px width + 20px + 2px + 20px = 584 pixels
5/5/2015
15
overflow
? Kada se podešava velicina nekog elementa treba voditi
racuna o velicini sadržaja koji treba smestiti u taj
element. Ukoliko je velicina elementa previše mala da
bi prihvatila sadržaj, moguce je specificirati nacin kako
ce se sadržaj prilagoditi koristeci svojstvo overflow.
? overflow: visible | hidden | scroll| auto
podrazumevano: visible
12:14 29
padding
? Svojstvom padding se definiše prostor izmedu sadržaja
elementa i ostalog sadržaja. Moguce je posebno definisati
velicinu pedinga u odnosu na svaku ivicu elementa. Takode
postoji i skracenica koja omogucava kompaktno zapisivanje
ovih zasebnih svojstava u jednom. Posebno se svojstva
definišu kao:
? padding-top, padding-right, padding-bottom, padding-left:
vrednost | procenat
? Ili skraceno
? padding: vrednost | procenat
? Podrazumevano je uvek: 0
12:14 30
5/5/2015
16
Primer
? blockquote {
padding-top: 1em;
padding-right: 3em;
padding-bottom: 1em;
padding-left: 3em;
background-color: #D098D4;
}
12:14 31
? Skraceno zapisivanje se izvodi sa svojstvom
? padding: top right bottom left;
? Ako se navedu 3 vrednosti one su u redosledu:
? padding: top rightleft bottom;
? Ako se navedu 2 vrednosti:
? padding: topbottom rightleft;
? Na kraju ako se navede 1 vrednost ona se odnosi na sve
4 ivice.
? Cesto se ovaj redosled pamti kao “TRouBLe”.
12:14 32
5/5/2015
17
Stilovi za ivice
? Ako ne postoji definisan stil za ivice, ivica ne postoji.
? Drugim recima, mora se uvek navesti stil ivice koja se
prikazuje. Stilovi ivica se primenju na svaku ivicu
posebno ili koristeci skraceni opis za sve ivice.
? border-top-style, border-right-style,
border-bottom-style, border-left-style
? vradnosti: none | dotted | dashed | solid | double |
groove | ridge | inset | outset
? podrazumevano: none
12:14 33
Zadatak
? Napisati stranicu kao na
slici.
12:14 34
5/5/2015
18
Rešenje zadatka: borderS.html
• <html>
• <head>
• <style>
• p.one {
• border-style: solid;
• border-width: 5px;
• }
• p.two {
• border-style: solid;
• border-width: medium;
• }
• p.three {
• border-style: solid;
• border-width: 1px;
• }
• </style>
• </head>
• <body>
• <p class="one">border-style:solid;border-width:5px;</p>
• <p class="two">border-style:solid;border-width:medium;.</p>
• <p class="three">border-style:solid;border-width:1px;.</p>
• <p><b>Note:</b> "border-width" ne radi ocekivano ako se
koristi samo. Koristiti zajedno sa "border-style" kojim se
definiše stil ivice prethodno.</p>
• </body>
• </html>
12:14 35
float
? U podrazumevanom prikazu HTML stranice, CSS definiše
prikaz elemenata od vrha ka dnu, odnosno s leva na
desno (ako se u jeziku cita s leva na desno), u redosledu
u kom se navode u kodu.
? Blok elementi grade jedan stek od vrha i popunjavaju
raspoloživu širinu prozora sa elementima. Unutrašnji
elementi i karakteri teksta popunjavaju linije svakog
bloka posebno.
12:14 36
Blokovi se pojavljuju u redosledu kao u kodu. Svaki blok
ispunjava raspoloživi prostor.
5/5/2015
19
? Na ovaj nacin je obezbedeno da se elementi ne preklapaju,
ne nagovilavaju i popunjavaju prostor prozora citaca.
Medutim, moguce je promeniti ovaj standardni nacin
rasporeda elemenata.
? Svojstvo float prebacuje elemente iz vertikalnog u
horizontalni redosled, dozvoljavajuci da se ostali sadržaj,
istog kontejner elementa, postavlja oko tog elemenata.
? Svojstvo plutajuceg toka (float) predstavlja važno svojstvo
modernog CSS dizajna i jedno od osnovih alata pri kreiranju
prikaza sa više kolona, navigacionih toolbar kontrola...
Sintaksa je:
? float : left | right | none
? Podrazumevano: none
? Ne nasleduje se
12:14 37
Na primer
12:14 38
5/5/2015
20
? Naziv potice od ponašanja tj. elementi dobijaju svojstvo
nalik ostrvu u nekom toku.
? Zapazite da slika menja poziciju u odnosu na normalni
tok uticuci na okolne elemente. Zato se koristi analogija
sa tokom u kome je element koji je oznacen sa float
zapravo ostrvo u toku koji ga okružuje.
? Plutajuci element ostaje deo sadržaja roditeljskog
elementa.
? Važno je zapaziti i da plutajuci element predstavlja deo
roditeljskog elementa tj smešten je u oblast tog
elementa.
12:14 39
Primer
? Za razliku od cistog html-a, u kom smo mogli postavljati
samo sliku unutar paragrafa, uz pomoc CSS-a to se može
izvesti i sa bilo kojim drugim elementom ukljucujuci i
elemente koji sadrže tekst.
12:14 40
em {
float: right;
margin: 10px;
width: 200px;
color: #FFF;
background-color: #9D080D;
padding: 4px;
}
p {
padding: 15px;
background-color: #FFF799;
border: 2px solid #6C4788;
}
5/5/2015
21
Primeri
12:14 41
12:14 42
5/5/2015
22
Iskljucivanje plutanja-clear
? Svojstvo float se može pridružiti elementu kako bi
element bio plutajuci u odnosu na okolni sadržaj.
Medutim, potrebno je nekada ovo svojstvo i iskljuciti
kako bi se dobila podrazumevana tj. prethodna svojstva
prikaza. Ovo se postiže pomocu svojstva clear. Sintaksa
je:
? clear: left | right | both | none
? Podrazumevano: none
? Primenjuje se na block elemente, a ne nasleduje se.
12:14 43
Primer
? Ukoliko je slika sa
svojstvom float, onda bi
oko slike bio sav sadržaj
koji sledi. U primeru koji se
navodi, float se iskljucuje
od primene pocev od
elementa h2 i to primenom
svojstva clear.
<style type="text/css">
img {
float: left;
margin-right: 10px;}
h2 {
clear:none;
margin-top: 2em;}
</style> 12:14 44
5/5/2015
23
Više plutajucih elemenata
? Primena float svojstva ima znacajnu primenu u dizajnu
modernih UI, recimo pri implementaciji horizontalnih
menija.
? Kada je više elemenata sa svojstvom float, u pozadini,
vrši se kompleksno racunanje izgleda stranice. U osnovi
se postiže takav prikaz da se u definisanoj visini bloka
postavljaju float elementi s leva na desno.
12:14 45
12:14 46
5/5/2015
24
Primer horizontalog menija
12:14 47
<ul>
<li><a href="#">File</a></li>
<li><a href="#">Edit</a></li>
<li><a href="#">Format</a></li>
<li><a href="#">View</a></li>
<li><a href="#">Help</a></li>
</ul>
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
ul li {
float: left;
margin: 1;
padding: 5 10;
background-color:gray;
}
a:link {
text-decoration: none;
color:white;}
a:visited {
text-decoration: none;
color: white;}
Primeniti clear na sve elemente koji slede
iza menija!
Zadatak
? Napisati meni koji ce izgledati kao na slici:
12:14 48
5/5/2015
25
Kreiranje kolona
? Svojstvo float se može koristiti i kod dizajna stranica u
kojima se sadržaj prikazuje u više kolona.
? Za dve kolone moguce je primeniti 3 scenarija:
1. Jedan div element uciniti plivajucim, a dodati širu
marginu sa strane tekst elementa koji okružuje div.
2. Postaviti float svojstvo na oba div elementa uz levu ili
desnu stranu.
3. Postaviti float svojstvo na jedan div levo odnosno na
drugi div desno.
12:14 49
#kol1 {
width: 55%;
float: left;
padding 1em;
margin: 1em;
border: dotted 1px
lightblue;
color: blue;
}
12:14 50
5/5/2015
26
Primer
? 1. Na testKolona start.html uvesti dve kolone: prvu na #product a
drugu na #testimonials.
? Resenje:
? #products {
? background-color: #FFF;
? line-height: 1.5em;
? padding: 1em 2%;
? border: double #FFBC53;
? margin: 0 2% 1em;
? clear: both;
? width: 55%;
? float: left;
? }
12:14 51
****Vrste pozicioniranja
? Sintaksa:
? position: static | relative | absolute | fixed
podrazumevano: static
? Bez nasledivanja
? static - normalna šema pozicioniranja u kom su
elementi pozicionirani u normalnom toku dokumenta.
? relative - relativno pozicioniranje pomera okvir
elementa relativno u odnosu na njegovu originalnu
poziciju.
12:14 52
5/5/2015
27
? absolute - ovako pozicionirani elementi se ne obraduju
u okviru toka dokumenta, a pozicioniraju se u odnosu na
element koji ih sadrži. Ovako pozicionirani elementi ne
uticu na vizuelni raspored okolnih elemenata, tj.
zasebni su u odnosu na druge.
? fixed - ostaju na istoj poziciji i tokom skrolovanja.
Fiksni su u odnosu na prozor citaca.
12:14 53
Definisanje pozcije
? Pošto se definiše nacin pozicioniranja, postavljaju se
vrednosti za pozcije koristeci sledeca vrednosti za
sledeca svojstva:
? top, right, bottom, left
? vrednost: broj | procenat | auto
? Podrazumevana vrednost: auto
? Nema nasledivanja.
12:14 54
5/5/2015
28
Relativno pozicioniranje
? Relativno pozicioniranje vrši pozicioniranje u odnosu na poziciju
koja bi inace bila tj. u odnosu na podrazumevanu poziciju.
? CSS:
? position: relative;
top: -0.2em;
left: 0.2em;
color: blue;
background-color:lightgray;
12:14 55
Apsolutno pozicioniranje
? Apsolutno pozicioniranje se obavlja u odnosu na poziciju
roditeljskog elementa.
? CSS:
? position: absolute;
top: -0.2em;
left: 0.2em;
color: blue;
background-color:lightgray;
12:14 56
5/5/2015
29
Kontekst pozicioniranja
? Po specifikaciji, pozicija nekog elementa se odreduje u
odnosu na element koji ga sadrži.
a) Ako element nije sadržan unutar drugog pozicioniranog
elementa, tada ce biti relativno pozicioniran u odnosu na
inicijalni HTML blok.
b) Ali, ako element ima pozicionirane pretke elemente, koji
imaju relativnu, apsolutnu ili fiksnu poziciju, element se
pozicionira relativno u odnosu na ivice tog elementa.
? Na primer, ako p element sadrži em element koji je
apslolutno pozicioniran, a pri tome p element nije
pozicioniran i nema drugih pozicioniranih elemenata
predaka, tada ce em element biti relativno pozicioniran u
odnosu na blok u kom je sadržan.
12:14 57
Pozicioniranje u
zavisnosti od pozicije
roditeljskog elementa
#a{
position: absolute;
top: 10%;
left: 10%;
}
#b{
position: absolute;
bottom: 10%;
right: 10%;
}
12:14 58
Pasus nije pozicioniran, pa su pozicije slika u pasusu
definisane u odnosu na prozor citaca.
Pasus je pozicioniran, pa su pozicije slika u pasusu u
odnosu na sam pasus.
5/5/2015
30
Primer sa dva elementa
? HTML:
<div id="zeleniKvadrat">
van paragrafa
<p
id="oznaceniParagraf">Neki
tekst</p>
van paragrafa
</div>
? Pozicioniranje 1.
#zeleniKvadrat{
width:150px;
height:150px;
border:solid green 3px;
position: absolute;
top:5%;
left: 5%;
}
#oznaceniParagraf{
border:solid red 1px;
/*static je podrazumevano:
position: static;
top:50px;
left: 50px;*/
color:red;
}
12:14 59
12:14 60
#oznaceniParagraf{
border:solid red 1px;
position: fixed;
top:5px;
left:5px;
color:red;
}
#oznaceniParagraf{
border:solid red 1px;
position: absolute;
top:5px;
left:5px;
color:red;
}
#oznaceniParagraf{
border:solid red 1px;
position: relative;
top:5px;
left:5px;
color:red;
}
5/5/2015
31
? Ako se izbaci definicija pozicije za zeleni kvadrat, tj ostane samo CSS kod:
#zeleniKvadrat{ width:150px; height:150px; border:solid green 3px;}
Menja se izgled za apsolutno pozicioniranje paragrafa u odnosu na zeleni kvadrat.
Fiksno i relativno pizicioniranje ostaje isto tj u odnosu na prozor citaca i u
odnosu na
„normalnu“ poziciju. Zapravo, u ovom slucaju apsolutno pozicioniranje postaje isto
što i fiksno.
12:14 61
#zeleniKvadrat{
width:150px;
height:150px;
border:solid green 3px;
}
#oznaceniParagraf{
border:solid red 1px;
position: absolute;
top:5px;
left:5px;
color:red;
}
Z-index
? Elementi koji koriste apsolutno pozicioniranje mogu
doci u koliziju medusobno tj do preklapanja. Postoji
definisani redosled koji u prikazu definiše redosled
iscrtavanja tj. koji ce element iznad odnosno ispod.
? Na primer:
? <img id="a" src="a.png"/>
<img id="b" src="b.png"/>
<img id="c" src="c.png"/>
12:14 62
Preklapanje dobijeno apsolutnim pozicioniranjem, bez uticaja
na z-indeks
5/5/2015
32
? Redosled koji je podrazumevan se može promeniti
postavljanjem svojstva z-index.
? Brojevi sa vecim indeksom ce biti iscrtavani posle onih
sa manjim brojem i prirodno ce biti pozicionirani iznad
njih.
? Ukoliko u prethodnom primeru želimo da obrnemo
redosled potrebno je uvesti sledece stilove:
12:14 63
#a{ z-index: 2; }
#b{ z-index: 3; }
#c{ z-index: 1; }
5/5/2015
1
Primeri prakticnih šablona
web stranica
12:14 1
Uvod
? Web stranice se prikazuju na razlicitim uredajima i
rezolucijama, od malih na mobilnim uredajima do onih
ogromnih na bioskopskim platnima.
? Osim zahteva da prikaz bude adekvatan za tako razlicite
„uredaje“, neophodno je i da korisnik može da
podešava velicinu prikazanog teksta koji takode utice na
prikaz stranice.
? Vremenom se izdvojilo nekkoliko standardnih prikaza
stranica koji se koriste u razlicitim slucajevima:
12:14 2
5/5/2015
2
Vrste prikaza (dizajna)
stranica
? Fiksni prikaz – fiksna širina stranice u pikselima
bez obzira na velicinu citaca ili velicinu teksta.
? Fluidni prikaz – prikaz se menja istovremeno tj.
proporcionalno sa promenom velicine prozora
citaca.
? Elasticni prikaz – promena prikaza je
proporcionalna, a zasnovana na velicini teksta.
? Hibridni prikaz – kombinuje fiksne i skalabilne
oblasti.
12:14 3
Dizajn fiksnim
pozicioniranjem
12:14 4
5/5/2015
3
? Fiksni dizaj, baš kako ime govori, kreira se tako da bude
fiksna širina stanice u pikselima. Ovako dizajnirana stranica
dozvoljava laku kontrolu medusobnih odnosa velicina
elemenata na stranici, poravnavanja i dužine linije. Ovaj
prikaz je postao popularan u praksi usled cinjenice da su
korisnici do sada uglavnom imali tradicionalni pogled na
Web sa racunarskih monitora, a dizajneri nastoje da
reprodukovani dizajn tacno odgovara dizajniranom na
svakom ekranu tj. prikazu. Naravno, ovakav dizan ne može
da odgovori sve vecim potrebama korisnika.
? Kada se definiše prikaz fiksne širine treba definisati
nekoliko stvari. Prvo treba odrediti širinu stranice. Vecina
monitora ima rezoluciju 1024x768 I vecu, pa se u vecini
sajtova širina postavlja 960px širine. Osim ove širine, cesto
se koriste i stranice sa manje piskela, recimo 800px, širine
što je dizajnerska odluka prvenstveno.
12:14 5
? Druga stvar koja se mora definisati je pozicija stranice u
odnosu na širinu prozora. Podrazumevano ta pozicija je
levo i u tom slucaju sav prazan prostor je sa desne
strane. Cešce se koristi centralna pozicija stranice kada
se prazan prostor deli na ove strane.
? Dalje, širina prozora citaca ne mora biti dovoljna da se
obuhvati celokupna širina stranice (što se može dogoditi
i zbog podešavanja velicine fonta u prikazu citaca, a ne
samo rezolucije ekrana). U tom slucaju deo sadržaja sa
desne strane nece biti vidljiv, mada ce postojati
horizontalni skrol-bar, ipak prvi pogled na stranicu nece
biti kompletan.
12:14 6
5/5/2015
4
Dve kolone sa apsolutnim
pozicioniranjem
? #container{
width:900px;
...
}
12:14 7
? #container{
width:900px;
...
margin:0 auto;
}
12:14 8
5/5/2015
5
? Zatim se dodaje prva
kolona pozicionirana sa
leve strane kontejnera i
širine od 200 piksela
? #container {
...
position: relative;
? }
#col1 {
position: absolute;
left: 0px;
width: 200px;
}
12:14 9
? Druga kolona se dodaje takode
apsolutinim pozicioniranjem u
odnosu na kontejner.
Pozicioniranje se vrši
podešavanjem leve margine u
odnosu na kontejner. Imajuci u
vidu da je širina prve kolone
200px, margina treba da bude
veca od 200px za prostor kojim ce
biti razdvojene kolone. U našem
slucaju to je uradeno primenom
margin-left:220. Isti efekat bi bio
primenom istog svojstva kao i u
slucaju prve kolone.
12:14 10
#col2 {
position: absolute;
margin-left:220;
/* ili left: 220px; */
width: 680px;
}
5/5/2015
6
Dve kolone fiksne širine uz
primenu svojstva float
12:14 11
#container{ margin: 0 auto; width: 900px; }
<body>
<div id=”container”>
<div id=”header”> . </div>
<div id=”navigation”> . </div>
<div id=”content”>
<div id=”col1”> .</div>
<div id=”col2”> .</div>
<div id=”footer”> .</div>
</div>
</div>
</body>
12:14 12
#header{
background: #ddd;
padding: 20px;
}
#content{
float: left;
width: 900px;
background: #fff;
}
#col1{
float: left;
width: 200px;
padding: 20px 0;
margin: 0 0 0 20px;
}
#col2{
float: right;
width: 640px;
padding: 20px 0;
margin: 0 20px 0 0;
}
#footer{
clear: both;
background: #ddd;
padding: 10px;
padding: 10px;
}
5/5/2015
7
12:14 13
? Na kraju, kod dopunjujemo navigacijom:
? <div id="navigation">
<ul>
<li><a href="#">O Školi</a></li>
<li><a href="#">Studiranje</a></li>
<li><a href="#">Upis</a></li>
<li><a href="#">E - ucenje</a></li>
</ul>
</div>
? ...
? #navigation{
float: left;
width: 900px;
background: #555;
}
#navigation ul {
list-style-type:
none;
margin: 0;
padding: 0;
}
#navigation ul li{
display: inline;
}
? #navigation li a{
display: block;
float: left;
padding: 5px 10px;
color: #fff;
text-decoration:
none;
border-right: 1px
solid #fff;
}
#navigation li a:hover {
background: #999;
}
12:14 14
5/5/2015
8
12:14 15
Fluidni dizajn
12:14 16
5/5/2015
9
? U fluidnom dizajnu, oblast stranice, odnosno kolone u
stranici imaju promenljivu širinu popunjavajuci
celokupan prostor citaca. Drugim recima prati se
podrazumevano ponašanje normalnog toka elemenata u
pogledu popunjavanja stranice. Ne vrši se kontrola
širine ili prelom linija tj. dozvoljeno je da tekst menja
tok u skladu sa medijumom za prikaz.
? Na primer W3.org
12:14 17
? Ovaj stil dizajna stranica je jedan od stilova koji „vode
racuna o korisnicima“. Danas postoji velika raznovrsnost
citaca, posebno onih koji su manji od tradicionalnih
monitora, što pomera zahteve korisnika ka dizajnu koji je
fleksibilan na širinu.
? Prednosti:
? Fluidni dizajn omogucava da se ostvari veza sa prirodom
citaca.
? Izbegava se potencijalno nekontrolisani prazni prostor
pošto se popunjava ceo prozor.
? Na desktop citacima, korisnik može kontrolisati širinu
prozora i sadržaja.
? Nema horizontalne skrolbarove.
12:14 18
5/5/2015
10
? Nedostaci:
? Na velikim monitorima, dužine linija mogu biti veoma
duge i teške za citanje.
? Ovaj dizajn je delimicno nepredvidiv. Elementi mogu
biti raštrkani ili sabijeni u slucaju citaca ekstremnih
dimenzija.
? Mnogo je teže postici željeni prazni prostor.
? Mnogo je više matematike ukljuceno u racunanje
velicina.
12:14 19
Kreiranje fluidnog dizajna
? Kreiranje ovakvog dizajna podrazumeva definisanje
širine u procentima. Takode se može izbaciti definisanje
širine tj upotreba atributa width, ako je
podrazumevana širina auto tako da element popunjava
raspoloživu širinu prozora ili roditeljskog elementa.
? Na primer, u slucaju dizajna sa dve kolone, širina svakog
div elementa je specificirana procentom raspoložive
ukupne širine. Glavna kolona je 70% širine prozora,
desna kolona je 25% širine prozora a preostalih 5% se
koristi kao margina izmedu kolona, bez obzira na
velicinu prozora.
12:14 20
5/5/2015
11
? Sadržaj u dve kolone
12:14 21
12:14 22
#container{
margin: 0 auto;
width: 100%;
}
#header{
background: #ddd;
padding: 20px;
}
#navigation{
float: left;
width: 100%;
background: #333;
}
#content{
float: left;
width: 100%;
background: #FFF;
}
#col1{
float: left;
width: 25%;
}
#col2{
float: right;
width: 70%;
}
#footer{
clear: left;
background: #ddd;
text-align: center;
padding: 10px;
}
5/5/2015
12
12:14 23
? Tri (ili više) kolona, sve kolone uz levu ivicu
12:14 24
#col1 {
float: left;
width: 27%;
margin: 0 3% 0 0;
}
#col2 {
float: left;
width: 47%;
margin: 0 3% 0 0;
}
#col3 {
float: left;
width: 20%;
}
5/5/2015
13
12:14 25
? Tri kolone koje su
apsolutno pozicionirane
? HTML:
? <div id="container">
<div id="header"> </div>
<div id="content">
<div id="col1"> </div>
<div id="col2"> </div>
<div id="col3"> </div>
</div>
</div>
12:14 26
CSS:
#container {
margin: 0 auto;
width: 900px;
}
#content {
position: relative;
width: 900px;
}
#col1 {
position: absolute;
top: 0; left: 0;
width: 25%;
}
#col2 {
position: absolute;
top: 0; left: 30%;
width: 45%;
}
#col3 {
position: absolute;
top: 0; left: 80%;
width: 20%;
}
5/5/2015
14
12:14 27
Elasticni dizajn
12:14 28
5/5/2015
15
? Treci dizajnerski pristup sažima osobine promenljive
velicine teksta sa predvidljivom dužinom linije.
? Ovaj dizajn povecava ili smanjuje velicinu teksta.
? Ako korisnik ucini tekst vecim, okvir koji sadrži taj tekst
ce se proširiti proporcionalno. Slicno, ako korisnik ucini
tekst veoma malim, okvir za taj tekst ce se takode
smanjiti.
? Rezultat je da dužina linije ostaje ista bez obzira na
velicinu teksta. Ovo je prednost u odnosu na fluidni
dizajn u kom dužine linije mogu postati veoma duge
odnosno u odnosu na fiksni dizajn kada veliki tekst može
postati sa neocekivano malim brojem karaktera po
liniji.
12:14 29
? Kada velicina teksta postane veca, veca je i površina
koja tekst sadrži, tako prelomi linija ostaju na istim
pozicijama.
12:14 30
5/5/2015
16
? Opcija „ full-page zoom“ kod novijih citaca je
zasnovana na svojstvima elasticnog dizajna. U tom
„stanju“ sve web stranice se pojavljuju skalirane
proporcionalno na osnovu velicine podrazumevanog
fonta.
? Pristalice elasticnog dizajna vezuju proporcije stranice
za proporcije tipografskog sadržaja. Imajuci u vidu
današnje trendove i mobilne uredaje ovo ima i smisla.
Ipak, ovaj dizajn ima nedostataka kao u slucaju fiksnog
dizajna sa velikim tekstom. Osim toga, sa promenom
teksta se menja stranica, ali slike i filmovi ne.
12:14 31
? Prednosti
? Omogucava konzistentan i ocekivani prikaz uz
omogucavanje fleksibilnosti velicine teksta.
? Jaca kontrola dužine linije teksta u odnosu na fluidne i
fiksne prikaze.
? Nedostaci
? Slika i video se ne skaliraju sa promenom velicine
teksta.
? U slucaju najvecih tekstova, velicina sadržaja može biti
veca od velicine prozora citaca
12:14 32
5/5/2015
17
? Nije tako od koristi kada se koristi za razlicite uredaje
tj citace razlicitih velicina.
? Teži za kreiranje od dizajna sa fiksnim prikazom.
12:14 33
Kreiranje elasticnog dizajna
? Kljuc za elasticni dizajn je jedinica mere em, kojom se
definiše velicina teksta.
? Mada se em jedinica koristi za definisanje velicine
fonta, u ovom dizajnu dimenzije elemenata koji su
kontejneri tj sadrže druge elemente treba da budu u em
jedinicama.
? Na primer, ako je velicina teksta u sekciji body 16px,
što je u vecini slucajeva podrazumevano (1em), a
stranica je podešena na širinu od 40em, rezultujuca
širina ce biti 640 px. (40em x 16px/em).
? Ako korisnik promeni velicinu teksta na 20 px, stranica
se poveca na 800px.
12:14 34
5/5/2015
18
? #container{
margin: 0 auto;
width: 50em;
}
#navigation{
float: left;
width: 50em;
background: #333;
}
#content{
float: left;
width: 50em;
background: #FFF;
}
#col1{
float: left;
width: 15em;
padding: 1em 0;
margin:0 0 0 0,5em;
}
#col2{
float: right;
width: 33em;
padding: 1em 0;
margin:0 0.5em 0 0;
}
#footer{
clear: left;
background: #ddd;
text-align: center;
padding: 1em;
}
12:14 35
12:14 36
5/5/2015
19
Hibridni dizajn
12:14 37
? Dizajn koji koristi kombinaciju piksela, procenata i em
jedinica mere se po nekada naziva hibridni dizajn.
? U mnogim scenarijima, ima smisla koristiti mešavinu
fiksnih i skalabilnih sadržaja. Na primer, ako imate sa
strane prostor (sidebar) koji sadrži banere sa oglasima
koji moraju ostati odredene velicine. Tada možete
definisati da je sidebar sa posebnom širinom iskazanom
u px, a dozvoljavajuci sledecoj koloni da se podešava na
osnovu preostalog prostora.
12:14 38
5/5/2015
20
? U mnogim scenarijima, ima smisla koristiti mešavinu
fiksnih i skalabilnih sadržaja. Na primer, ako sa jedne
strane treba postaviti kolonu fiksne širine (engl.
sidebar) koja sadrži banere sa oglasima koji moraju
ostati tacno odredene velicine. Tada se može definisati
da je ta kolona sa posebnom širinom iskazanom u px, a
pri tome dozvoljavajuci sledecoj koloni da se podešava
na osnovu preostalog prostora.
? U narednom primeru je prikazana realizacija
prethodnog scenarija, tj. kada je prva kolona fiksne
širine 200px u koju su smeštene slike širine 150px.
Druga kolona ce biti proširena do širine prozora.
12:14 39
? <body>
<div id=”container”> . </div>
<div id=”header”> . </div>
<div id=”navigation”> . </div>
<div id=”content”>
<div id=”sidebar”> .</div>
sadržaj druge kolone
<div id=”footer”> .</div>
</div>
</body>
12:14 40
#container{
margin: 0 auto;
width: 100%;
}
#header{
background: #ddd;
padding: 20px;
}
#content{
width: 90%;
padding: 5%;
background: #ddd;
}
img{
position: relative;
left:20px;
}
#sidebar{
float: left;
/*float: right;*/
width: 190px;
padding: 5px 0;
background:lavender;
}
#footer{
clear: both;
background: #ddd;
text-align: center;
padding: 10px;
}
5/5/2015
21
12:14 41
***Definisanje pozadina
kolonama
? Dodavanje boja kolonama utice predstavlja efikasan
nacin da se istakne podela u podacima uz malo
ukljucenja boja.
? U prethodnim primerima, ako bi ukljucili ivice oko
kolona zapazili bi da se cesto elementi kolone
zaustavljaju pre samog dna stranice.
? Ne postoji podrška za postavljanjem visine kolona
elementa na 100% visine strancice. Takvo rešenje bi bilo
moguce uz upotrebu JavaScript-a ili nekog dopunskog
frejmorka.
? Postoje i rešenja koja mogu zadovoljiti u slucaju
šablona sa fiksnim širinama.
12:14 42
5/5/2015
22
? Potrebno je da se kreira jedna slika koja ce sadržati boje i
proporcije kolona sa tacnom širinom i nebitnom visinom.
Replikacijom, tj ponavljanjem te slike po vertikali dobija
se pozadinska boja. Ovo rešenje primenio je prvi Dan
Cederholm 2004. u knjizi Web Standards Solutions.
? Ovaj metod je primenljiv samo u slucaju kada je širina
kolona odnosno stranice definisana u pikselima.
? Na primer, stil bi bio sledeci:
? #omotac {
width: 960px;
margin: 0 auto;
background-image: url(two_column.gif);
background-repeat: repeat-y;
}
12:14 43
? #content{
float: left;
width: 900px;
background-image: url(fix2kol.jpg);
background-repeat: repeat-y;
}
12:14 44
5/5/2015
23
Pozadina kolona kod fludinog
dizajna
? U fluidnom dizajnu nije unapred poznata širina kkolona,
ali su poznate „tacke“ u koje su granice izmedu kolona.
? Na primer, ako je naš dizajn web stranice sastavljen od
dve fluidne kolone:
12:14 45
#col1{
float: left;
width: 27.5%;
margin: 0 2.5% 0 0;
}
#col2{
float: right;
width: 67.5%;
..margin: 0 0 0 2.5%;
}
? #content{
float: left;
width: 100%;
background-image: url(fluid2col.jpg);
background-repeat: repeat-y;
background-position: 30%;
}
12:14 46
5/5/2015
24
Tri kolone
? Za tri kolone postupak je slican, medutim u ovom
slucaju nam treba dve pozadinske slike. Jedna slika
obezbeduje boju za levu kolonu, pri cemu je desni deo
transparentan. Druga slika daje boju za desnu kolonu a
levi deo je transparentan
12:14 47
5/5/2015
1
CSS tehnike
12:16 1
Uvod
? Prvi deo je posvecen oslobadanju dizajna od
primenjenog CSSa tj bavi se resetom CSSa, zatim
upotrebom slika umesto teksta (ako je to neophodno) i
redukovanjem broja zahteva od servera.
? Razmatraju se tehnike korišcenja sprajtova, i na kraju..
? Bavimo se posebnim dizajniranjem formi i tabela.
12:16 2
5/5/2015
2
CSS reset - 1
? Kao što je vec poznato i objašnjeno na startu kada smo
ucili o CSSu, citaci imaju sopstvene ugradene stilove koji se
koriste za prikaz HTML elemenata. Ovi stilovi imaju niži
prioritet od onih koji se navedu u izvornom kodu i
predstavaju nacin prikaza elemenata kada sopstveni stilovi
nisu prisutni.
? Na primer, h1 element ima definisani stil koji tekst oznacen
sa h1 prikazuje boldovan, odvojen od sustednih elemenata i
velikog fonta u odnosu na normalni tekst. Stvarna velicina
fonta i prostor koji odvaja h1 je definisan podrazumevanim
stilovima citaca, što rezultuje i razlicit prikaz sadrzaja
html koda u razlicitim citacima.
? Takode, elementi u nekom dokumentu mogu naslediti neke
stilove od stilova ugradenih u citac, tako prouzrokujuci
neocivani rezultat.
12:16 3
CSS reset - 2
? Zbog toga, mnogi dizajneri koriste tzv. CSS Reset kako bi
se vec postojeci stilovi poništili.
? CSS Reset je kolekcija stilova koji preklapaju sve
ugradene stilove u citac tako kreirajuci pocetni
maksimalno nezavisni stil.
? CSS Reset zahteva da se eksplicitno specificira font,
text, margina i peding za svaki element u dokumentu.
? Najpopularniji reset je napisao Eric Meyer. Taj kod
dajemo u nastavku.
12:16 4
5/5/2015
3
? /*http://meyerweb.com/eric/tools/css/rese
t/ v2.0 | 20110126 License: none (public
domain) */
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd,
q, s, samp, small, strike, strong, sub, sup, tt,
var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output,
ruby, section, summary, time, mark, audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline; }
? /* HTML5 display-role reset for older
browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: ''; content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
12:16 5
? Da bi se primenio reset, navedeni kod sa stilovima treba
se postavi na vrh sopstvenih stilova.
? Više o ovome možete procitati na:
? meyerweb.com/eric/tools/css/reset/
meyerweb.com/eric/thoughts/2007/04/18/resetreasoning/
12:16 6
5/5/2015
4
Zamena teksta slikama
? Pre nego što su web fontovi postali upotrebljivi na nacin
kako danas fukncionišu, koristile su se slike svaki put kada
smo želeli ili morali da koristimo specijalne fontove.
? Danas je to redak slucaj. Ipak, kada se koriste stilizovani
logo neke kompanije ili uobicajene ikone umesto teksta,
potrebno je ubaciti slike.
? Izbacivanje odredenog teksta i njegova zamena sa img
elementima u html izvornom kodu nije dobro rešenje, jer
se na taj nacin gubi sadržaj.
? Bolje rešenje je upotreba CSSa na nacin da se izvrši zamena
sa slikom. Na taj nacin se u vizuelnoj predstavi pojavljuju
slike a istovremeno se cuva ukupan sadržaj, što daje
mogucnosti pretrage, citaca sa ekrana, pomocnih alatki i
lakše održavanje sadržaja.
12:16 7
? Jedan dobar nacin za to je predstavio Scott Kellum, zasniva
se na korišcenju svojstva text-indent tako da se tekst
pomeri u stranu van vidljivog pravougaonika.
? Neka je potrebno umesto naziva kompanije „123netdoo“,
koji se nalazi u naslovu web stranice, postaviti logo te
komanije, i neka je pocetni HTML odnosno CSS kod:
? HTML
? <h1 id="logo">123netdoo</h1>
? CSS
? h1#logo {
width: 200px;
height: 50px
}
12:16 8
5/5/2015
5
? Svojstvom text-indent pomera se rec rec „123netdoo” udesno
za citavu širinu bloka koji se koristi, što je u kodu oznaceno
sa 100%, tako da ce rec biti izvan vidljivog pravougaonika.
? Istovremeno se postavlja pozadinska slika primenom
background svojstva, tako da se naslov minimalno pomeri, a
istovremeno pojavi pozadinska slika u naslovu.
? CSS
? h1#logo {
width: 200px;
height: 50px
background: url(123netdoo.png) no-repeat;
text-indent: 100%;
white-space: no-wrap;
overflow: hidden;
}
12:16 9
? Takode, postavljanjem svojstva white-space na vrednost nowrap
osiguravamo da u slucaju dužeg stringa tekst nece biti
prelomljen i na taj nacin postati vidljiv. Na kraju, postavkom
overflow: hidden daje se instrukcija citacu da bilo šta što ce
se naci izvan okvira elementa, u ovom slucaju je to samo tekst
u h1, nece biti prikazan.
12:16 10
5/5/2015
6
? Osim pomenute CSS tehnike mogu se naci i druge. Jedna
od najpopularnijih je tehnika Phark koji koristi jako velike
negativne vrednosti za text-indent, tipicno: -9999px, kako
bi „izgurao“ HTML tekst izvan leve ivice vidljive oblasti.
? h1#logo {
width: 200px;
height: 50px
background: url(123netdoo.png) no-repeat;
text-indent: -9999px;
}
? Nedostatak ove tehnike je što se citaci forsiraju da
racunaju, a neki cak iscrtavaju velike elemente iako oni
nece biti ukljuceni u prikaz, pa se na taj nacin gubi na
efikasnosti.
12:16 11
CSS sprajtovi
? Vreme pristupa nekoj web stranici zavisi od kolicine
podataka koje je potrebno ucitati da bi se stranica
prikazala. Osim kolicine podataka na vreme ucitavanja
utice i broj zahteva ka serveru koji prati sadržaj. Jedan od
nacina da se smanji broj zaheva ka serveru je da se smanji
broj slika na stranici, imajuci u vidu da svaka slika znaci
posebnu vezu ka serveru.
? U slucaju HTML stranica koje koriste puno manjih slika,
može se umesto više manjih slika koristiti jedna velika
zajednicka slika, koja ce sadržati sve manje slike, koje
tada nazivamo sprajtovima. Pomocu pozicioniranja
pozadinske slike elementa, tj. koristeci svojstvo
background-position, iz velike slike se može izdvojiti svaki
sprajt posebno. Na ovaj nacin se izbegava otvaranje više
konekcija zbog više manjih, a time se uvecava efikasnost.
12:16 12
5/5/2015
7
? Na primer, ako se na sajtu koriste slicice za
predstavljanje dvanaest cesto korišcenih linkova,
umesto dvanaest posebnih slika moguce je koristiti
jednu, kao na slici.
12:16 13
? Slika sadrži 4 kolone i 3 reda dimenzije 300 x 400
piksela, tako da je svaki sprajt dimenzije 100 x 100
piksela.
? Izdvajanje odredenog sprajta iz slike se izvodi
pozicioniranjem pozadinske slike u HTML elementu,
imajuci u vidu da se x koordinata za pozicioniranje
proteže s leva na desno, pocev od vrednosti 0, a y
koordinata odozgo na dole, takode od vrednosti 0.
12:16 14
5/5/2015
8
HTML kod:
<li><a href=http://twitter.com
class="sprites1 twitter">Twitter</a></li>
<li><a href=http://facebook.com
class="sprites1 fb">Facebook</a></li>
<li><a href=https://www.behance.net
class="sprites1 be">Behance</a></li>
<li><a href=https://www.linkedin.com
class="sprites1 linkedin">LinkedIn</a></li>
<li><a href=https://vimeo.com
class="sprites1 vimeo">Vimeo</a></li>
<li><a href=http://google.com
class="sprites1 google">Google</a></li>
<li><a href=http://www.skype.com
class="sprites1 skype">Skype</a></li>
12:16 15
CSS kod:
sprites1 {
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
li a {
display: block;
width: 100px;
height: 100px;
background-image: url(ikone.png);
}
li a.twitter {
background-position: 0 0;
}
li a.fb {
background-position: -100px 0;
}
li a.be {
background-position: -200px 0;
}
li a.linkedin {
background-position: 0px -100px;
}
li a.vimeo {
background-position: -200px -100px;
}
li a.google {
background-position: -100px -200px;
}
li a.skype {
background-position: 0 -300px;
Svakoj stavci u listi je pridružen element a,
dimenzije 100x100 piksela koji dimenzijom
odgovara jednom sprajtu. Takode, svaki link
unutar stavke ima istu pozadinsku sliku
ikone.png, koja sadrži sve sprajtove, što je
definisano CSS kodom. Na ovaj nacin, samo je
jedna slika ucitana pri ucitavanju stranice tj.
samo je jedna dodatna konekcija otvorena.
Stilizovanje formi
? Inicijalni izgled web formi je takav da bi ga svakako trebalo
dodatno stilizovati.
? Razlog nije samo vizuelni izgled nego pre svega lakši i brži unos
podataka.
? Za stilizovanje formi ne postoje neka specijalna svojstva; potrebno
je koristiti standardne boje, pozadinu, font, ivice i peding.
12:16 16
5/5/2015
9
? Unos tekstualnih podataka (text, password, email,
search, tel, url)
? Najcešce se podešavaju dimenzije, pozadinska svojstva,
ivice i margine. Može se stilizovati i unutrašnji tekst sa
bojom i fontovima.
? Element textarea
? Za ovaj element se vrše podešavanja kao i za prethodnu
grupu, ali sa dodacima. Na primer, ugradeno pravilo za
textarea znaci podrazumevanu primenu „monospace”
fonta, pa stilizacija obicno ukljucuje promenu fonta. Pošto
kontrola sadrži više linija teksta, obicno se definiše i visina
linije. Takode, neki citaci prikazuju u donjem desnom uglu
graficku oznaku koja ukazuje da se može menjati velicina,
što se može poništiti dodavanjem stila resize:none;
12:16 17
? Ulazna Dugmad (submit, reset, button)
? Dugmad su podrazumevano podešena tako da se velicina
kontrole prilagodava minimalnoj velicini teksta koji se
prikazuje. Neki citaci dodaju izvesni prostor - peding.
Svojsta koja se najcešce koriste za stilizaciju su: width,
height, border.
? Radio odnosno checkbox dugmad
? Dobra praksa je da se ovi elementi ne menjaju.
? Drop-down
? Obicno treba podesiti širinu i visinu ovih elemenata. Neki
citaci daju mogucnost da se upravlja bojom, pozadinskom
bojom, odnosno fontom, ali je jedno od najboljih rešenja
ne dirati ta svojstva tj. ostaviti ih pod kontrolom citaca
odnosno operativnog sistema.
12:16 18
5/5/2015
10
Grupisanje elemenata u formi
? Za grupisanje elemenata u formi koristi se HTML elemet
<fieldset>. Primenom ovog elementa iscrtava se
pravougaounik oko obuhvacenih elemenata.
Pravougaonik može imati i tekst kojim se dodatno
opisuje grupa. Dodatni tekst se oznacava posebnim
elementom <legend>.
12:16 19
Fieldset
? <fieldset>
<legend>Licni podaci:</legend>
Ime <input type="text"> <br>
Email <input type="text" > <br>
Telefon <input type="text"> <br>
</fieldset>
12:16 20
5/5/2015
11
? Element fieldset u novoj specifikaciji ima atribute:
? disabled – oznacava da je unos podataka za celu grupu
elemenata onemogucen. Npr.
<fieldset disabled>...
</fieldset>.
? form – oznacava formu kojoj pripada grupa kontrola. To
znaci da se van forme može definisati grupa koja bi
pripadala formi.
? name – ime grupe.
12:16 21
Label,for
? Element <label> definiše labelu za neki ulaz forme tj.
za neki <input> element. Element <label> ne nudi
nikakva posebna svojstva korisniku, osim što omogucava
kontrolu u slucaju klika mišem.
? Element label ima atribut for kojim se odreduje
element na koji se labela odnosi. Vrednost ovog atributa
treba da odgovara vrednosti atributa id ciljanog
elementa.
12:16 22
5/5/2015
12
? Jedan od nacina je i ugnježdavanje elementa za unos u
labelu, na taj nacin je iskorišceno da su labela i
element na koji se odnosi bliski. Na primer
12:16 23
<label>
<input type="radio" name="color" value="red"> Crvena
</label>
Primer
12:16 24
5/5/2015
13
12:16 25
<form action="" method="">
<h2>Podaci za unos</h2>
<ul>
<li>
<label for="form-name">Ime</label>
<input type="text" name="username“
id="form-name" class="textinput">
</li>
<li>
<label for="form-email">Email</label>
<input type="email" name="emailaddress“
id="form-email" class="textinput">
</li>
<li>
<label for="form-tel">Telefon</label>
<input type="tel" name="telephone“
id="form-tel" class="textinput">
</li>
<li>
<label for="form-komentar"> Komentar
</label>
<textarea name="story" maxlength="300“
id="form-komentar" rows="3" cols="30“
placeholder="Manje od 300 kar.">
</textarea>
</li>
<li>
<label for="sizes">Velicina</label>
<select name="size">
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
<em>Standardne velicine</em>
</li>
<li>
<fieldset id="colors">
<legend>Boja</legend>
<ul>
<li>
<label>
<input type="radio" name="color“
value="red"> Crvena
</label>
</li>
<li>
<label>
<input type="radio" name="color"
value="blue"> Plava
</label>
</li>
<li>
<label>
<input type="radio" name="color„
value="black"> Crna
</label>
</li>
<li>
<label>
<input type="radio" name="color"
value="silver"> Srebrna
</label>
</li>
</ul>
</fieldset>
</li>
<li>
<fieldset id="Dodaci">
<legend>Features</legend>
<ul>
<li>
<label> <input type="checkbox„
name="feature" value="laces"> MP3
</label>
</li>
<li>
<label> <input type="checkbox"
name="feature" value="logo" checked>
Metalik </label>
</li>
<li>
<label> <input type="checkbox„
name="feature" value="heels"> Aluminijum
</label>
</li>
<li>
<label> <input type="checkbox„
name="feature" value="mp3"> Osiguranje
</label>
</li>
</ul>
</fieldset>
</li>
<li class="buttons">
<input type="submit" value="Naruci">
<input type="reset">
</li>
</ul>
</form>
Jedan postupak stilizacije formi
12:16 26
1. Osnovna podešavanja definišu stilove koji se odnose na podešavanje
elemenata celokupne stanice, naslova i listi. Takode, ovaj skup pravila treba da
sadrži pravila za form element, kao što su širina, pozadinska boja, peding i
slicno. U našem primeru je dodato svojstvo ogranicenog prikaza
overflow:hidden, kao i iskljucivanje plutajuceg rasporeda u stavkama liste.
ul li {
clear: both;
list-style:none;
}
form {
width: 35em;
border: 1px solid #333;
background-color: lightblue;
padding: 1em;
overflow: hidden;
}
? Nakon osnovne stilizacije dobijamo:
5/5/2015
14
? Sledeci korak bi bilo poravnavanje. Da bi izvršili poravnavanje
kontrola potrebno je da labele budu tacno odredene širine, ali
i da budu sa statusom plutajucih elemenata uz levu ivicu, dok
njihov sadržaj treba da bude poravnat uz desnu ivicu, tako da
budu blizu ulaznih kontrola na koje se odnose. Naravno, treba
dodati i malu marginu koja doprinosi osecaju razdvajanja po
kolonama.
? label {
float: left;
width: 7em;
text-align: right;
margin-right: 1em;
}
12:16 27
? Ocekivano je i da sve kontrole za unos teksta budu
poravnate, za to je potrebno definisati odredenu širinu
kontrola.
? Kontrola textarea se može dodatno podešavati
svojstvima margine, overflow i resize.
12:16 28
5/5/2015
15
? U nastavku cemo podesiti stilove za grupisane elemente
unutar kontrole fieldset, kao i za samu legendu koja se tice
ove kontrole. Umesto okvira sa naslovom videcemo da se
gurpa može organizovati na potpuno drugaciji vizuelni
nacin. Postavicemo tekst koji je u elementu legend u
vizuelno istu liniju kao i ostale labele, a opcije jednu do
druge, ne jednu ispod druge kako je porazumevano.
Krenimo redom. Prvo cemo iskljuciti okvir oko grupa.
? fieldset {
margin: 0;
padding: 0;
border: none;
}
? Zatim, vršimo formatiranje naziva grupa na nacin da bude
vizuelno isti kao i formatirane labele.
? legend {
width: 7em;
float: left;
margin-right: 1em;
text-align: right;
color: darkblue;
} 12:16 29
? Stavke u prvoj listi postavljamo u jednoj liniji, a u drugoj
listi jednu ispod druge poravnate uz levu ivicu.
? #colors label, #dodaci label {
float: none;
width: auto;}
#colors ul li{
display: inline;
margin-bottom: 0;}
? #dodaci ul {
margin-left: 6em;
}
#dodaci ul li {
margin-bottom: 0;
clear: none;
}
12:16 30
5/25/2015
1
XML
Osnove
15:40 1
Pojam - XML?
? Skracenica od:
? EXtensible
? Markup
? Language
? XML po W3C preporukama
Zoran Cirovic 15:40 2
5/25/2015
2
Svojstva XML-a - 1
? XML je danas postao de-facto standard za opis sadržaja i
strukture (tekstualnih i multimedijalnih) dokumenata i
razmenu dokumenatta naWeb-u
Markup omogucava
? specijalno znacenje podataka
? koristi se tag za predstavljanje markup-a
Extensible
? proširljiv jezik, dozvoljava definisanje novih tagova
? predstavlja meta jezik koji omogucava definisanje
drugih markup jezika
Zoran Cirovic 15:40 3
Struktura XML
dokumenta
Zoran Cirovic 15:40 4
5/25/2015
3
Jedan XML element
Zoran Cirovic 15:40 5
? XML dokument se sastoji iz teksta oraganizovanog uz pomoc tagova u
elemente
Prosti i složeni XML elementi
? Elementi su osnovni blokovi XML-a
? <pozdrav> Hello XML! </pozdrav>
? Složeni / kontejner element cini par tag-ova (pocetni i
krajnji tag) sa sadržajem
? Prost/prazan element obicno se za krajnji tag koristi
skracenica />
? <poruka/>
? <pozdrav tekst = “Hello XML” />
Zoran Cirovic 15:40 6
5/25/2015
4
Struktura dokumenta
Zoran Cirovic 7
? XML dokument sadrži jedan element koji
nema roditelja.
? To je prvi element i sadrži sve druge
elemente.
? Taj element nazivamo korenskim (engl. root).
15:40
<person>
<name>
<first_name>Alan</first_name>
<last_name>Turing</last_name>
</name>
<profession>computer
scientist</profession>
<profession>mathematician</profession>
<job>cryptographer</job>
</person>
Pravila XML dokumenata
15:40 8
5/25/2015
5
Reference - 1
Zoran Cirovic 9
? Znakovni podaci unutar elementa ne smeju da sadrže znak manje od (<),
vece, ampersend.. Ovaj karakter se uvek tumaci kao pocetak taga. Ako
želite da koristite baš ovaj karakter u vašem tekstu, možete koristiti
referencu <
? Kada neki parser cita dokument vrši se zamena < reference sa stvarnim
znakom < . Na primer:
? <SCRIPT LANGUAGE="JavaScript">
if (location.host.toLowerCase( ).indexOf("cafeconleche") < 0)
{
location.href="http://www.cafeconleche.org/";
}
</SCRIPT>
15:40
Reference - 2
Zoran Cirovic
? < < <
> >
& &
' ‘
" “
15:40 10
5/25/2015
6
Znaci navoda
? Vrednosti atributa moraju biti unutar znaka navoda.
Moguce je koristiti jednostruke ili dvostruke znake
navoda:
<ime="Krcun"> ili:
<ime='Krcun'>
? Dupli znaci navoda su cešci. Nekada je neophodno koristiti
jednostruke kao u sledecem primeru:
? <ime='Slobodan "Krcun" Penezic'>
Zoran Cirovic 15:40 11
Komentari
Zoran Cirovic
? <!-- comment text -->
? Koristi se za dodatne informacije radi citljivosti. Sadržaj u komentaru ne može
imati
--, sve ostale markup karaktere može.
? Aplikacije za parsiranje mogu a ne moraju da prosledjuju informacije o
komentarima (misli se na sam sadržaj komentara).
? Primeri:
? <!-- This is a comment about how to open ( <![CDATA[ )
and close ( ]]> ) CDATA sections -->
? <!-- I really like having elements called <fred> in my
markup languages -->
? <!-- Comments can contain all sorts of character
literals including &, <, >, ' and". -->
? <!-- If entities are used inside comments ( < for
example ) they are not expanded. -->
15:40 12
5/25/2015
7
Odeljak CDATA
Zoran Cirovic
? XML dokumenti imaju strogo definisana pravila. Ukoliko je potrebno da
dokument sadrži obican tekst i specijalne zankove, dokument postaje
teško citljiv. U takvim slucajevima može se koristiti odeljak CDATA koji
obezbedjuje da se sadržaj tretira kao sirovi tekst. Na primer.
<p>ovde ide neki tekst </p>
<pre>
<![CDATA[
<svg xmlns=“http://www.w3.org/2000/svg”
width=“12cm” height=“10cm”>
<ellipse rx=“110” ry=“130” />
<rect x=“4cm” y=“1cm” width=“3cm” height=“6cm” />
]]>
</pre>
15:40 13
Instrukcije obrade
Zoran Cirovic
? <?target data?>
? Instrukcije se koriste kako bi pružile informaciju aplikacijama za
obradu XML dokumenata. Mogu sadržati informacije kako dokument
obraditi, prikazati i slicno.
? Sastoje se iz dva dela: ime instrukcije /target/ i od podataka za
insturkciju /data/
? <?target data?>
? Target mora da zadovolji ista pravila za imena kao i elementi i
atributi, osim završnog karaktera za sekvencu ( ?> )
? Sav markap deo se ignoriše unutar konteksta instrukcije, ali po
preporukama W3C konzorcijuma ova sekvenca ne sme pocinjati sa
xml sekvencom.
15:40 14
5/25/2015
8
Deklaracija XML dokumenta
Svaki XML dokument mora da sadrži XML deklaraciju. Ovo je prva
konstrukcija u dokumentu.
Osnovni oblik XML deklaracije: <?xml version =“1.0”?>
Opcioni oblik XML deklaracije:
<?xml version =“1.0” encoding= “UTF-8”?>
<?xml version =“1.0” encoding= “UTF-16”?>
Opšti oblik XML deklaracije:
<?xml version='1.0'
encoding='character encoding'
standalone='yes|no'?>
Zoran Cirovic 15:40 15
Praznine u XMLu
? U XML-u je sacuvan prazan prostor. Korišcenjem XML-a
prazan prostor je prikazan u parsiranom dokumentu. Na
primer:
<body>Puno pozdrava iz Beograda</body>
ce u parseru biti:
Puno pozdrava iz Beograda
(to sa HTML-om nije slucaj)
Zoran Cirovic 15:40 16
5/25/2015
9
Prostori imena
Zoran Cirovic 15:40 17
Prostor imena - namespace
Zoran Cirovic
? Uloga prostora imena je:
? 1. da omoguci razlikovanje istoimenih elemenata
? 2. da grupiše srodne elemente
? Mnogi XML dokumenti kombinuju više grupa elemenata koji poticu od
razlicitih aplikacija. Na primer, neki XHTML dokument može da sadrži i
SVG slike i MathMl jednacine.
? U ovim slucajevima, dokument sadrži elemente koji moraju biti
jednistveni koristeci imenski prostor kome pripadaju.
? Takode, XML dozvoljava dizajneru da odabere sopstvene elemente, pa je
verovatna pojava istoimenih elemenata.
15:40 18
5/25/2015
10
Kvalifikovano ime
Zoran Cirovic 19
? XML prostor imena omogucava razdvajanje XML
elemenata koji imaju isto lokalno (kratko) ime, koristeci
jedinstveni identifikator resursa - URI(engl. Uniform
Resource Identifier).
? URI predstavlja jedinstveni string za definisanje punih
imena na osnovu lokalnih imena i URIa.
? Dakle, prostor imena i lokalno ime zajedno cine
globalno jedinstveno ime.
15:40
Korišcenje prostora imena
Zoran Cirovic
? Deklaracija prostora imena se vrši unutar pocetnog taga.
? Mapiranje prostora imena se vrši u jedan drugi string,
obicno kraci, poznat kao prefiks prostora imena.
? xmlns:prefix='URI'
? Ako se izostavi prefiks, na primer, xmlns='URI' , onda se
mapiranje vrši u podrazumevani prostor imena.
15:40 20
5/25/2015
11
Primer
Zoran Cirovic 21
? <rdf:RDF
xmlns:rdf="http://www.w3.org/TR/REC-rdfsyntax#">
<rdf:Description
about="http://www.cafeconleche.org/examples
/im pressionists.xml">
<title> Impressionist Paintings </title>
<creator> Elliotte Rusty Harold
</creator>
<description> A list of famous
impressionist paintings organized by
painter and date </description>
<date>2000-08-22</date>
</rdf:Description>
? </rdf:RDF>
15:40
Opseg važenja prostora imena
Zoran Cirovic
? Opseg važenja (eng. scope) prostor imena je skup
elemenata na koje se odnosi taj prostor imena.
? Prostor imena važi za elemenat u kome je deklarisan
i u svim elementima koji su hijerarhijski ispod tog
elementa.
15:40 22
5/25/2015
12
Nekvalifikovani elementi
Zoran Cirovic 23
? Ako element nema prefiks, onda pripada
podrazumevanom prostoru imena, ako postoji.
? Elementi koji nisu u poznatom prostoru imena nazivaju se
nekvalifikovanim elementima. Prostor imena takvih
elemenata je prazan string - “ “.
?
? Ako postoji podrazumevani prostor imena za neki
elemenat, a želi se da taj elemenat bude nekvalifikovan,
tada se taj (podrazumevani) prostor imena moze maskirati
koristeci deklaraciju oblika xmlns=“ “ u tom elemntu.
15:40
Kvalifikovani i nekvalifikovani
elementi - 1
Zoran Cirovic
? Primer 1.
<pre:Person xmlns:pre='urn:example-org:People' >
<name>Martin</name>
<age>33</age>
</pre:Person>
? Element Person ima prefiks pre koji je mapiran u prostor imena
urn:example-org:People . Ovaj elemenat sadrži podelemente sa
lokalnim imenima name, age. Oba podelementa su nekvalifikovana;
zato što nisu u nijednom prostoru imena. Razlikovati oblast
vazenja prostora imena od primene na neko ime!
15:40 24
5/25/2015
13
Kvalifikovani i nekvalifikovani
elementi - 2
Zoran Cirovic
? Primer 2.
<Person xmlns='urn:example-org:People' >
<name xmlns=''>Martin</name>
<age xmlns=''>33</age>
</Person>
? Element Person nema prefiks. Ujedno isti elemenat definiše
podrazumevani prostor imena urn:example-org:People . Ovaj
elemenat sadrži podelemente sa imenima name odnosno age.
Medutim, oba podelementa maskiraju podrazumevani prostor
imena sa prostorom '‘ (prazan string). Dakle, oba podelementa su
nekvalifikovana, zato što nisu u nijednom prostoru imena (tj.
pripadaju prostoru imena koji je prazan string). Ovaj primer je
ekvivalentan primeru 1.
15:40 25
Kvalifikovani i nekvalifikovani
elementi - 3
Zoran Cirovic
? Primer 3.
<pre:Person xmlns:pre='urn:example-org:People' >
<pre:name>Martin</pre:name>
<pre:age''>33</pre:age>
</pre:Person>
? Element Person ima prefiks, kao i podelementi. Elemenat
definiše pre prostor imena urn:example-org:People .
15:40 26
5/25/2015
14
Kvalifikovani i nekvalifikovani
elementi - 4
Zoran Cirovic
? Primer 4.
<Person xmlns='urn:example-org:People' >
<name>Martin</name>
<age>33</age>
</Person>
? Element Person definiše podrazumevani prostor imena
urn:example-org:People. Taj prostor imena koriste
podelementi. Ovaj primer je ekvivalent primeru 3.
15:40 27
Dobro formiran
XML dokument
Zoran Cirovic 15:40 28
5/25/2015
15
Da bi XML document bio
dobro-formiran treba da:
1. Postoji XML deklaracija.
2. Dokument sadrži jedan i samo jedan koreni element u kome su
ugnježdeni svi ostali elementi i njihovi sadržaji.
3. Svi elementi i atributi u dokumentu moraju da budu sintaksno
ispravni.
4. Elementi moraju imati završni tag (<…> … </…>). Jedini izuzetak
predstavlja empty tag koji nema ni sadržaj ni telo, a oznacava se
<…/>.
5. Elementi moraju biti ugnježdeni.
6. Imena tagova u XML-u su case-sensitive (zavise od velikih i malih
slova). Pri dodeljivanju imena se moraju poštovati odredena pravila.
7. Sve vrednosti atributa moraju biti u okviru navodnika. Zoran Cirovic 15:40 29
Primer dobro formiranog dok.
Zoran Cirovic
? <?xml version='1.0' encoding='UTF-8' ?>
? <p:Person xmlns:p='urn:example-org:People'
>
? <name>Martin</name>
? <!-- Young and spritely -->
? <age>33</age>
? <height units='inches' >64</height>
? </p:Person>
15:40 30
5/25/2015
16
Primer loše formiranog
dokumenta
Zoran Cirovic
? <?xml version='1.0' encoding='UTF-8' ?>
? <p:Person>
? <name>Martin</name>
? <age value='33' >A young <b><i>and</b></i>spritely
person
</age>
? <height units='inches' units='in'>64</height>
? <weight xmlns:x1='urn:example-org:People’
xmlns:x2='urn:example-org:People’
x1:units='stone' x2:units='shekels' >10
</weight>
? </p:Person>
? <p:Person/>
15:40 31
DTD
5/25/2015
17
Svrha uvodenja DTD?
1. Da bi se uvela ogranicenja tj opis strukture podataka i
time dobile nove mogucnosti. Opis strukture je javan
i svima potpuno razumljiv. Sadrži:
? broj podelemenata (dece elemenata)
? redosled podelemenata
2. Automatizacija provere ispravnosti dokumenta.
3. Višestruka upotreba definisanih delova dokumenta.
? DTD je dodatni dokument koji može biti pridružen
nekom XML dokumentu i pruža gore navedene osobine.
33 15:40
Definicija DTD?
? Skracenica od naziva: Document Type
Definition
? DTD definiše sledece:
1. elemente koji se pojavljuju u dokumentu
2. broj elemenata u dokumentu
3. nacin ugnježdavanja
4. skup dozvoljenih, zahtevanih i podrazumevanih
atributa
34 15:40
5/25/2015
18
Šta DTD može da deklariše?
? Tip elementa
? Opisuje tip elementa, kao i tipove podataka koje on
sadrži.
? Tip atributa
? Opisuje tip atributa, kao i tipove podataka koje on
može da sadrži.
? Listu atributa
? Elementi imaju atribute navedene u listi. Liste
omogucavaju grupisanje svih srodnih atributa
elementa.
35 15:40
Šta DTD ne može da
deklariše?
? Koji je korenski element.
? Koliko primeraka elemenata pojedinih vrsta ima u
dokumentu.
? Kako izgledaju znakovni podaci unutar elemenata.
? Semantiku, tj. znacenje elemenata; na primer, da li
odredeni element sadrži datum ili ime neke osobe.
36 15:40
5/25/2015
19
Primeri
<person>
<name>
<first_name>Alan</first_name>
<last_name>Turing</last_name>
</name>
<profession>computer
scientist</profession>
<profession>mathematician</profession>
<profession>cryptographer</profession>
</person>
<!ELEMENT person (name,
profession*)>
<!ELEMENT name (first_name,
last_name)>
<!ELEMENT first_name (#PCDATA)>
<!ELEMENT last_name (#PCDATA)>
<!ELEMENT profession (#PCDATA)>
37 15:40
Kako se DTD pridružuje XML
fajlu?
Na više nacina:
• Kao poseban fajl u odnosu na XML
• Može biti naknadno više korišcen
• Kao deo XML dokumenta
• kombinacijom prethodna dva slucaja, tj. deo DTD-a je u
posebnom dokumentu, a deo u XML dokumentu
<!DOCTYPE root-element [element-declarations]>
38 15:40
5/25/2015
20
XML i DTD su zasebni dokumenti, prosleduje se URI na kome je DTD fajl
hello.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE message SYSTEM “http://www.viser.edu.rs/dtd/message.dtd">
<message>
<greeting>Hello, World!</greeting>
<farewell>Goodbye, World!</farewell>
</message>
http://www.viser.edu.rs/dtd/message.dtd
<!ELEMENT message (greeting,farewell)>
<!ELEMENT greeting (#PCDATA)>
<!ELEMENT farewell (#PCDATA)>
Spoljašnji DTD
39 15:40
Relativna putanja do fajla
? Ako se dokument nalazi na istoj osnovnoj lokaciji kao i DTD, može se
koristiti relativna putanja (adresa) umesto apsolutne, na primer:
? <!DOCTYPE message SYSTEM “/dtd/message.dtd">
? Ako se dokument nalazi u istom direktorijumu može se zadati samo ime
datoteke:
? <!DOCTYPE message SYSTEM “message.dtd">
40 15:40
5/25/2015
21
Javni identifikatori
<!DOCTYPE root_element PUBLIC "publicID" "OpcioniURL">
? Standardni DTD-ovi mogu biti smešteni na više URL adresa. Ime javnog
identifikatora (public ID) jednoznacno odreduje XML aplikaciju za koju se
koristi. U isto vreme se navodi i rezervna URL adresa, za slucaj da
analizator validnosti ne prepozna javni identifikator.
? Primer: javni DTD Rich Site Summary (Netscape)
? <!DOCTYPE rss PUBLIC “-//Netscape Communications//DTD RSS
0,91//EN” “http://my.netscape.com/publish/formats/rss-0.91.dtd">
41 15:40
? Primer
? XHTML-a se deklariše sa:
? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtl1/DTD/xhtml1-
transitional.dtd">
15:40 42
5/25/2015
22
XML i DTD su u istom dokumentu
hello.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE message [
<!ELEMENT message (greeting,farewell)>
<!ELEMENT greeting (#PCDATA)>
<!ELEMENT farewell (#PCDATA)>
]>
<message>
<greeting>Hello, World!</greeting>
<farewell>Goodbye, World!</farewell>
</message>
Ugradeni DTD
43 15:40
Blokovi koji se definišu preko
DTDa
? Elementi
? Atributi
? Entiteti
? Neki karakteri imaju specijalno znacenje. (<,>,&..). Entiteti se ekspanduju
kada se neki dokument parsira.
? PCDATA
? Parsed Character Data.
? Tekst koji ce biti procesiran od parsera. Tekst ce biti analiziran kao markap
celine.
? CDATA
? Character Data.
? Oznacava tekst koji nece biti parsiran. Tagovi u okviru ovog teksta nece biti
tretirani kao markap.
44 15:40
5/25/2015
23
Primer
DTD deklaracija:
<!ELEMENT phonebook (page)+>
<!ELEMENT page (heading, (entry|advert)+)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT entry (#PCDATA)>
<!ELEMENT advert (#PCDATA)>
Ispravan XML:
<phonebook>
<page>
<heading>The whole town</heading>
<entry>John Smith, 555-1212</entry>
<advert>Fred's Fish n' Chips - 123-4567</advert>
</page>
</phonebook>
Neispravan XML :
<phonebook><page><entry/><entry/></page></phonebook>
ili
<phonebook><page/></phonebook>
45 15:40
Primer:
DTD:
<!ELEMENT shirt (#PCDATA)>
<!ATTLIST shirt type CDATA #REQUIRED>
<!ATTLIST shirt collar CDATA #IMPLIED>
<!ATTLIST shirt size (small|medium|large) "large">
<!ATTLIST shirt manufacturer CDATA #FIXED "Levi">
Validan XML:
<shirt type="short">cotton</shirt>
<shirt type="short" size="large">wool</shirt>
<shirt type="short" manufacturer="Levi">denim</shirt>
<shirt type="short sleeve" collar="button-down"></shirt>
Nevalidan XML:
<shirt></shirt>
<shirt type="short" size="medium large">cardigan</shirt>
<shirt type="short" manufacturer="Gap">designer</shirt>
46 15:40
5/25/2015
24
Primer:
DTD:
<!ELEMENT book (#PCDATA)>
<!ATTLIST book
id ID #IMPLIED
isbn CDATA #REQIURED
booktype (Harcover|Paperback) “Paperback”
storeloc CDATA “5th Avenue”
year CDATA #FIXED “2000”
comment CDATA #IMPLIED>
Validan XML:
<book isbn=“1-35267-742-4“ storeloc=“Times Square">
XML Pocket Reference
</book>
47 15:40
ENTITY
? To su promenljive korišcene za definisanje skracenica ka standardnom
tekstu ili specijalnim karakterima.
? Interna deklaracija
? <!ENTITY entity-name "entity-value">
? Primeri:
<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright W3Schools.">
<author>&writer;©right;</author>
? Važno: Entity ima 3 dela: ampersend (&), entity ime, i tacka-zarez (;).
? Eksterna deklaracija
? <!ENTITY entity-name SYSTEM "URI/URL">
? DTD Example:
<!ENTITY writer SYSTEM "http://www.w3schools.com/entities.dtd">
<!ENTITY copyright SYSTEM "http://www.w3schools.com/entities.dtd">
XML example:
<author>&writer;©right;</author>
< <
> >
& &
' ‘
" “
48 15:40
5/25/2015
25
Nedostaci DTD-a
Glavni nedostaci DTD-a su:
? odsustvo tipizacije podataka (#PCDATA može biti bilo koji string)
? sintaksa DTD nije uskladena sa sintaksom XML-a
? postoje ogranicenja koja se ne mogu lako izraziti DTD-om (na pr.
element x se može pojaviti od 4 do 17 puta)
Mnoga ogranicenja DTD-a uspešno prevazilazi XML Schema (XML
šema).
49 15:40
XHTML
15:40 50
5/25/2015
26
? XHTML document HTML dokument napisan po
standardima koji važe za jedan XML document tj.
zadovoljava sve kriterijume koje mora imati dobro
formiran XML document.
? Osim ovog uslova XHTML zadovoljava
standard ”International Standard ISO 8879”,
tj. SGML (engl. Standard Generalized Markup Language),
kao i HTML.
15:40 51
? XHTML mora da zadovolji stroga pravila.
? Mora biti dobro formiran.
? Mora biti validan po pravilima DTD dokumenta.
? Korenski element je html.
? Korenski element mora imati deklaraciju imenskog
prostora http://www.w3.org/1999/xhtml
? Primer root elementa je:
15:40 52
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5/25/2015
27
? Mora postojati deklaracija DOCTYPE u dokumentu pre
korenskog elementa. Javni identifikator koji je ukljucen
u DOCTYPE referiše sledece DTD definicije:
o <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
o <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
o <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
15:40 53
? HTML 4.01 Strict
? Ovaj DTD sadrži sve HTML elemente i atribute, ali ne
ukljucuje zastarele elemente (na primer font) kao i
element frameset.
? HTML 4.01 Transitional
? Ovaj DTD sadrži sve HTML elemente i atribute, ukljucujuci
zastarele elemente. Element frameset nije dozvoljen.
? HTML 4.01 Frameset
? Ovaj DTD je isti kao HTML 4.01 Transitional, ali je
dozvoljeno korišcenje elementa fremeset.
15:40 54
5/25/2015
28
? Deklaracija XML dokumenta nije obavezna ali se obicno postavlja
na vrh dokumenta. Na primer:
? <?xml version="1.0" encoding="UTF-8"?>
? <!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" lang="en">
? <head>
<title>Virtual Library</title>
</head>
<body>
<p>Moved to <a href="http://example.org/">example.org</a>.</p>
</body>
</html>
15:40 55
Razlike u odnosu na HTML
? 1. Dokumenti moraju biti dobro formirani
<p>here is an emphasized <em>paragraph</em>.</p>
<p>here is an emphasized <em>paragraph.</p></em>
? 2. Elementi i atributi moraju biti zapisani malim slovima
? 3. Ako element nije prazan mora imati završti tag.
<p>here is a paragraph.</p><p>here is another paragraph.</p>
<p>here is a paragraph.<p>here is another paragraph.
15:40 56
5/25/2015
29
? 4. vrednosti atributa moraju uvek biti zapisani pod
znacima navoda.
<td rowspan="3">
<td rowspan=3>
? 5. Atributi moraju uvek imati vrednost
<dl compact="compact">
<dl compact>
? 6. Prazni elementi moraju imati 1 tag koji se završava
sa /
<br/><hr/>
<br><hr>
15:40 57
? 7. Beli prostor se mapira u jedan razmak ako je
unutrašnji ili bez praznina na pocetku ili kraju.
? 8. css
? <link rel="stylesheet" type="text/css"
href="style.css">
? <style type="text/css">
? <div style="font-weight:bold;
color:blue;">Bold Font</div>
15:40 58
5/25/2015
30
? 9. Umesto atributa name koji se koristi u HTML
potrebno je koristiti atribut id. Ovaj atribut je u DTD
definisan kao ID tj jedinstvene vrednosti.
Dobar HTML
<input type="submit" name="s" value=" Search " >
Dobar XHTML
<input type="submit" id="s" value=" Search " />
15:40 59
1
DIZAJN sajta
Proces dizajna jednog sajta
1. Definisati zadatak - tj šta uraditi
2. Jasno odrediti svrhu sajta
3. Cilj korisnika, šta posetilac sajta želi
4. Nacrt sajta
5. Plan sajta
6. Osnovni dizajn i opcije
7. Prilagoditi dizajn da bude privlacan
posetiocima...
2
1. Definisanje zadataka
? Razumevanje zadataka aplikacije u
velikoj meri pomaže dostizanju istog.
? Potrebno je uvek imati na umu cilj
aplikacije kada se vrši dizajn.
? Zato je potrebno na startu dizajna
definisati cilj dizajera. Na primer:
? Da li je cilj pokazati šta umemo?
? Da li je cilj zadovoljan klijent?
? Da li je cilj uspešna prodaja?
2. Svrha sajta - 1
• Cilj koji ima dizajner nije isti kao cilj samog
sajta, dakle, potrebno je definisati i cilj tj
svrhu samog sajta, tj narucioca.
• Narucilac posla može zahtevati da cilj sajta
bude povecanje prodaje odredenog
proizvoda, ali dizajner mora definisati sve
aspekte ovog cilja.
• Dizajner sa svog aspekta definiše se šta ce
predstavljati uspeh i kako ce se proceniti da li
je postignut.
3
2. Svrha sajta - 2
? Tokom izrade sajta:
? Donositi mnoge odluke u toku
realizacije aplikacije
? Komunicirati sa klijentom i dizajnerima
? Održavati poverenje klijenta kroz samu
realizaciju
? Dokazivati da su ispoštovani dogovori
3. Cilj korisnika sajta - 1
? Obicno korisnik ne koristi Internet radi
zabave, vec da bi pronašao odredene
informacije i postigao odredene ciljeve.
? Ako je moguce, u fazi testiranja
aplikaciju treba pokazati vecoj grupi
potencijalnih korisnika i primetiti koje
opcije su prihvacene, a koje ne.
? Pošto to obicno nije moguce, moraju se
primeniti druge tehnike.
4
3. Cilj korisnika sajta - 2
? Korisnike treba grupisati, na primer:
? stalni kupci,
? povremeni kupci,
? zaposleni
? dobavljaci.
? Zatim, za svaku grupu definisati njihove
tipicne ciljeve.
? Ciljevi treba da budu dovoljno
sveobuhvatni da pripadaju svim korisnicima
iz odredene grupe.
? Na primer, povremene kupce zanima zašto je
odredeni proizvod sa sajta bolji od konkurentskog.
3. Cilj korisnika sajta - 3
? Kriterijumi za formiranje grupa:
? Nivo obucenosti rada za racunarom, ostala tehnicka znanja
? Zaposlen, student ili nezaposlen
? Starost
? Kulturno naslede (jezik, navike, ...)
? Koje opšte ciljeve žele da postignu
? Koje specificne ciljeve žele da postignu
? Koje su njihove licne karakteristike
? Na koji nacin su upoznati sa sajtom; preko reklame, trenirani su,
slucajno, ...
? Koliko cesto posecuju sajt
5
4. Nacrt sajta
? Kada se definišu ciljevi sajta i ciljevi korisnika,
kao i nacin kako se sve to može postici, sledeca
faza je planiranje strukture sajta.
? Prvi korak je pomocu olovke i papira prikazati
najvažnije interakcije izmedu korisnika i sajta.
? Potrebno je naznaciti koje su ulazne tacke u
sistemi, moguce akcije, kretanje korisnika po
sajtu.
5. Plan sajta - 1
? Sledeca faza je definisanje plana sajta, tj. koje
stranice treba da se nalaze u okviru sajta, kako su
grupisane i kako ce korisnik posetiti sve
postavljene stranice.
? Na osnovu smišljenog plana treba napraviti
strukturu sajta koja je jednostavna i eknomicna.
6
5. Plan sajta - 2
? Koji globalni ili top-level linkovi treba da se nalaze
na svakoj strani
? Ako postoji više sekcija treba obezbediti
jednostavan nacin da se pronade željena
? Ne treba puno deliti teme. Ako postoji više sekcija
sajt ce izgledati prevelik i težak za navigaciju.
Izbegavati sa kreiranjem sekcija koje nemaju
dovoljno sadržaja ("No news is bad news").
? Ukljuciti sve potrebne opcije (kao što su Contact
ili Login), koje možda nisu bile ukljucene u
prvobitni scenario
5. Plan sajta - 3
? Koristiti pametne i linkove u dubinu, koje ce
korisniku omoguciti direktan pristup traženim
informacijama
? Optimizovati sajt, tako da se kljucni pojmovi i
informacije lako uoce
? Koristiti principe grafickog dizajna (jednostavnost,
kontrast, prazan prostor, balans i porvananje)
7
Arhitektura sajta
? Jedna stranica
? Jednoslojna arhitektura
? Indeksirana
? Ulancana
? Stroga hijerarhija
? Višeslojna hijerarhija
? Pretraživanje
Model jedne stranice
? Najjednostavniji model.
? Ceo sadržaj se postavlja na jednu stranicu.
? Lako za upotrebu i lako za održavanje
Home
8
Jednoslojna arhitektura
? Sve stranice se postavljaju u istu ravan.
Svakoj stranici se može pristupiti iz bilo
koje druge.
? Primer kod jednostavnijih sajtova: Home,
About Us, Contact Us, Products
Home
Indeksirana arhitektura - 1
? Posebna stranica koja predstavlja listu sadržaja
datog sajta – indeks
? Organizovana da omoguci jednostavniju pretragu
samog sajta
? Ova organizacija je primenljiva na listu fajlova u
direktorijumu ili listu ljudi sortirana po
prezimenu, recnici i telefonski imenici
? Dobri rezultati se postižu u slucajevima kada ima
srednja kolicina podataka i kada se podaci mogu
sortirati po nekom redosledu. Zašto?
9
Indeksirana arhitektura - 2
Home
Ulancana - 1
? Ovaj model je koristan za razgranate linerane algoritme
? Dobar primer je email aplikacija
? Povratak u inbox deo posle nekoliko opcija, na primer
posle citanja poruke, slanja nove poruke, ili dodavanja
novog kontakta u adresar.
10
Ulancana - 2
Home
Stroga hijerarhija - 1
? Stranica se može posetiti samo preko „roditeljske” stranice tj.
prethodnika.
? Ovakav model se može primeniti na realan svet, gde postoji
stroga parent-child relacija izmedu objekata
? Mnogi modeli podataka imaju ovakvu strukturu, kao na primer
niti (thread)
? Svaka nit pripada odredenom objektu, a jedan objekat može
imati više niti
11
Stroga hijerarhija - 2
? U nekim slucajevima, iako j u realnom
problemu postoji stroga hijerarhija, to ne
znaci da je i ova arhitektura sajta najbolje
rešenje problema.
? Treba se bazirati na ciljeve sajta i korisnika i
nacine korišcenja sajta.
? Iako je moguce podeliti sve proizvode u
kategorije i podkategorije, to nije
najefikasniji nacin da ih korisnik i pronade.
? Na primer: U nekim supermarketima odredeni
proizvodi se nalaze na više mesta, jer se
pretpostavlja da ih kupci traže u više
kategorija..
Home
Stroga hijerarhija - 3
12
Višeslojna hijerahija - 1
? Nastaje ako postoji više nacina nalaženja istog sadržaja tj. više kategorija
kojima sadržaj pripada.
? Na taj nacin, postoji više hijerarhija nad istim sadržajem. Struktura se
prikazuje razlicito u
zavisnosti od nacina pretrage tj. nekog moda posetioca sajta.
? Na primer: Sajtovi za filmove.
? Na priemr: Amazon - moguce je pretraživati knjige po žanru, ili naslovu, ili po
nekoj kljucnoj reci.
? Svaka od ovih hijerarhija odgovara odredenoj osobini sadržaja, koja može
koristiti korisnicima u razlicitim situacijama.
Višeslojna hijerahija - 2
13
Pretraga - 1
? Predstavlja mogucnost sajta za brzo
dobijanje odredene informacije.
? Pretraga je deo navigacije, a ne arhitekture.
Medutim, pretraga je cesto ugradena u
arhitekturu sajta. Funkcije pretrage
predstavljaju dinamicki pogled na sam sadržaj
i nude direktne linkove na svaki dobijeni
rezultat.
? Omogucava se korisniku da automatski prede
na samu informaciju, bez prethodnog
pretraživanja po hijerhiji ili indeksima.
? Ako opcija pretrage fukcioniše pravilno i
efikasno, predstavlja veliku prednost samog
sajta.
Pretraga - 2
14
Organizacija podataka - 1
? Postoji veliki broj opcija i mogucnosti kako se
mogu organizovati i prikazivati informacije,
tako da se ne može unapred definisati
najefikasniji.
? Izbor pravilne prezentacije zavisi od velikog
broja faktora, kao što su korisnikovi ciljevi,
okruženje (na primer protok podataka,
rezolucija, ...), tehnicke arhitekture,
kompatibilnosti, itd.
? Nekada je jednostavna struktura sadržaja i
najpodesnija. U takvim slucajevima dovoljne
su opcije tipa Home, About Us, Services (sa
opcijom Products), i Contact Us.
Organizacija podataka - 2
? Na primer: Ako se pojavi potreba da se u okviru
Home stranice ukljuci i opcija News, treba
razmotriti sledece:
1. Da li svi posetioci sajta treba da imaju i opciju
pregleda poslednjih vesti (ciljevi sajta)
2. Da li su sve vesti kompanije od interesa za sve
posetioce sajta (korisnicki ciljevi)
3. Možda je dovoljno prikazati samo kratak opis
vesti ili omoguciti i link ka odredenom artiklu ili
novinskom clanku.
4. Da li vesti treba podeliti po odredenim
kriterijumima (proizvod/servis/region/korisnicka
grupa …)
15
Organizacija podataka - 3
? Za jednostavnije e-commerce sajtove, treba
napraviti listu proizvoda, i omoguciti proces
ponude i prodaje.
? Proizvodi se mogu prirodno podeliti u odvojene
kategorije.
? U nekim slucajevima nije moguce sve opisati na
jednoj stranici, vec je potrebno napraviti
odvojene sekcije, i omoguciti korisnu navigaciju
izmedu sekcija
Arhitektura prilagodena
korisnicima
? Sajt koji služi za prodaju avionskih karata može da
ima na pocetnoj stranici opcije “Rezervacije”,
„Traženi letovi“, i “Plan putovanja” sa mogucnošcu i
rezervacije hotela i kola uz kupljenu kartu.
? Sajt softverske kompanije može imati više razlicitih
poddelova:
? Tehnološkim ekspertima treba omoguciti opcije o
mogicnostima proizvoda, kao i poredenje sa konkurentnim
? Kupcima treba na razumljiv nacin prikazati proizvode sa
nacinima upotrebe (case studies)
? Za medije omoguciti opcije "Press releases" i "Press
contacts"
16
Višedimenzionalna arhitektura
? Mogucnost pregleda po kategoriji: pravi se stablo iz
više nivoa, ali uzimajuci u obzir da jedan proizvod
npr. knjiga može biti u više kategorija
? Neki korisnici žele da pretražuju po specificnom
autoru ili naslovu
? Da bi se povecala prodaja mogu se reklamirati
naslovi slicni onima za koje je korisnik zainteresovan
? Organizovati promišljeni menadžment zasnovan an
sadržaju. Tipa “korisnici koji kupuju ovu knjigu,
kupuju i ovu”, “ova knjiga je preporucena od 90%
korisnika koji su kupili tu i tu knjigu”, “uz vasu
knjigu kupite i ovu, pa cete dobiti popust 28%”.
Višedimenzionalna arhitektura
? Na primer: sajt o veb dizajnu- flat arhitektura
(broj clanaka 50)
? Svakom clanku se može pristupiti sa bilo koje
stranice
17
Višedimenzionalna arhitektura
? Nedostatak - ako se broj clanaka
povecava, i to posebno vezanih za jednu
odredenu temu.
? Sajt se deli u nekoliko glavnih sekcija
(Home, Basics, i Principles)
? Basics - “Web design”, “How people use
web pages”, i “Other online factors”
Višedimenzionalna arhitektura
? Neke stranice imaju linkove na druge u istom nivou u
na drugom nivou u istoj sekciji.
? Na kraju se dobija gusta, nestrukturirana
višedimenzionalna hijerarhija
18
Višedimenzionalna arhitektura
? Mali ili srednji broj stranica (ispod 100)
? Sadržaj stranica je relativno nezavisan i po nekom
kriterijumu se može urediti
? Informacije se mogu koristiti na nekoliko nacina
6. Osnovni dizajn i opcije
? Nakon definisanja plana sajta, sledeci
korak je vizuelni izgled i prikaz opcija.
? Može koristiti olovka i papir za prve
nacrte.
? Krece se od pocetne zamisli, korišcenog
layout-a sa jednostavnim interfejsom.
? U ovoj fazi treba pozicionirati sadržaj,
deo za navigaciju, logo i osnovne linije.
19
7. Prilagoditi dizajn da bude
privlacan posetiocima....
? Velicina elemenata
? Boja elemenata
? Kontrasti vizuelnih elemenata
? Kretanje elemenata (animacija ili dinamicke linije
koji pružaju utisak pokreta)
? Prazan prostor
? Poravnanje
Nacini realizacije navigacije
a) Sadržaj (lista opcija)
b) Linkovana lista
c) Horizontalni meniji
d) Tabovi
e) Dugme sa padajucim menijem
f) Navigaciono stablo
g) Stranicna navigacija
20
a) Sadržaj
• Samo navoditi moguce opcije
• Ovaj nacin navigacije je podesan kada postoji nekoliko
releventnih tema na samoj stranici ili do kojih se može
doci pomocu date stranice
b) Linkovana lista
• Prikazuje se korisniku gde se trenutno nalazi u samoj hijerarhiji sajta i
omogucava mu jednostavan povratak
na bilo koju stranicu u okviru te hijerarhije.
• Pogodan je u slucajevima kada postoji više nivoa u
hijerarhiji i kada korisniku treba omoguciti da se vrati
na neki od prethodnih stranica u toj hijerarhiji.
21
c) Horizontalni meniji - 1
? Horizontalni meniji na vrhu stranice su najcešce
korišceni nacin navigacije. Kako je kretanje korisnika
po stranici od vrha ka dnu superiornije od kretanje s
leva na desno, prirodno je postaviti menije najviseg
nivoa iznad samog sadržaja.
? Problem koji se može pojaviti je da je sam meni širi
nego stranica.
? Vertikalni scroll bar - horizontalni scroll bar
? Ako se koristi tekst bazirana navigacija koja je
promenljive velicine, meniji mogu biti manji ili veci
u zavisnosti od podešavanja korisnikovog Web citaca.
? U situacijama kada je broj opcija unapred poznat,
kada se nove opcije nece u buducnosti dodavati, i
kada ima dovoljno prostora da se sve opcije navedu
pod minimalnim tehnickim uslovima (na primer 800
px)
c) Horizontalni meniji - 2
22
d) Tabovi - 1
? Omogucavaju prikaz aktivne sekcije/selekcije na veoma
jasan nacin
? Prirodno poseduju vizuelnu hijerarhiju
? Oni su eksluzivni, ne postoji mogucnost da dva taba
budu selektovana .
d) Tabovi - 2
23
e) Dugme sa padajucim menijem - 1
? Ovaj nacin navigacije je postao uobicajeni
mehanizam navigacije poslednjih nekoliko
godina iako je komplikovaniji od prethodnih.
? Kada korisnik klikne na dugme ili prede preko
stavke menija pokažu se opcije podmenija u
formi drop-down menija.
? Prednost ovakvog modela je mogucnost
prikaza velikog broja opcija sa zauzimanjem
relativno malo prostora.
e) Dugme sa padajucim menijem - 2
? Vodite racuna da posetilac sajta ne zna koje opcije su vezane za
dugme (ili stavku u meniju) dok ga ne pritisne tj. dok se ne upozna
sa sajtom.
? Ne postoji standardno ponašanje posetioca sajta. Na primer za
odredivanje da li podmeni treba da nestane kada kurzor miša izade
sa njegove površine ili kada korisnik klikne mišem izvan podmenija
? Ako je prekid operacije na dogadaj mouseOut, cesto može biti
frustrirajuce za korisnike izabrati opciju iz više podmenija, posebno za
one ne tako vešte sa racunarom
? Ako je prekid operacije na klik izvan menija, korisnik može biti zbunjen
gde treba da klikne
? Korišcenje ovog modela zahteva odredene veštine od korisnika, pa
može predstavljati teškocu korisniku da ga koristi na efikasan
nacin. Ako postoji dovoljno prostora alternativni mehanizmi su
mnogo brži.
24
e) Dugme sa padajucim menijem - 3
f) Navigaciono stablo - 1
? Ovo je kompleksan model koji omogucava
korisniku da pregleda hijerarhije koje se
sastoje iz više nivoa.
? Ovakav nacin pretrage je uobicajen za
desktop aplikacije, kao što su aplikacije za
rada sa dokumentima, ali se ponekad
primenjuje i u Web sistemima, korišcenjem
DHTML-a na klijentskoj strani ili serverskih
skript jezika.
? Prednosti ovog modula su intuitivnost i
familijarnost korisnika sa njegovim
mogucnostima. Ovaj model predstavlja
jednostavan pristup kompleksnijim
strukturama.
25
f) Navigaciono stablo - 2
? Rešenje sa skript jezikom na klijentskoj
strani je suviše kompleksno, teško za
održavanje i zavisi od platforme.
? Rešenje sa serverskim skript jezicima je
jednostavnije za implementaciju, ali
zahteva više ucitavanja iste stranice, što
utice na perfomanse sistema.
? Treba izbegavati korišcenje nestandardnih
ikonica, da bi se povecala efikasnost
f) Navigaciono
stablo – 3
26
g) Stranicenje - 1
? Blisko vecini korisnika.
? Primenjuje se u slucajevima kada je
odredeni sadržaj podeljen u nekoliko
stranica - dugacki clanci, forumi, rezultati
pretrage, …
? Standardni alat za navigaciju unazad,
unapred ili na tacno odredenu stranicu.
27
g) Stranicenje - 2
? Prednost ovog modela je bliskost korisnika sa
nacinom upotrebe.
? Jedan od problema može biti koje stranice
prikazati u direktnim linkovima, tj sortiranje po
stranicama. Kada postoji više stranica sa
rezultatima da li da trenutni prikaz stranice
bude u sredini, na pocetku ili na kraju. Pitanje
je da li korisnika zanimaju i prethodni ili sledeci
rezultati.Ako je u pitanju pretraga logicno je da
krene od prve stranica, pa dalje, ali da mu se
omoguci i prelazak na prethodnu ili sledecu.
? Sa druge strane ako su rezultati na neki nacin
indeksirani (na primer po pocetnom slovu), tada
treba korisniku dati sve mogucnosti (zanima ga
neka stranica sa slovom L), pa da može direktno
da ode na željenu stranicu
5/25/2015
1
HTML5
Plan
1. Istorija, vizija & karakteristike HTML5
2. StrukturaWeb stranice
3. Novi elementi
4. Forme
5. Audio i Video
6. HTML5 Canvas
7. Uvod u Data Storage
8. Uvod u Geo location
5/25/2015
2
1. Istorija, vizija & karakteristike HTML5
1.1 Šta je HTML5?
• Naslednik standarda HTML 4.01 odnosno XHTML 1.1
• Sadrži nove tagove, karakteristike i API
• Specificne karakteristike:
– Novi strukturni elementi (<header>, <footer>, <nav> and more)
– Forms 2.0 i „client-side“ validacija
– Ugradena podrška za video i audio (<video>, <audio>)
– Canvas API i SVG
– Web storage
– Offline aplikacije
– Geolokacija
– Drag & Drop
– Novi komunikacioni API
1.Istorija, vizija & karakteristike HTML5
1.2 Istorija HTML5?
• Decembar 1997: W3C je objavio HTML 4.0
• Febroar - Mart 1998: XML 1.0
• Decembar 1999 - Januar 2000: XHTML i HTML 4.01
• Maj 2001: XHTML 1.1
• Avgust 2002: XHTML 2.0
• Decembar 2002: XHTML 2.0
• Januar 2008: W3C radna vercija HTML5, krajem 2014 standardizovan
5/25/2015
3
2. Struktura Web page
2.1. Novi i izmenjeni HTML5 elementi
HTML5 donosi 28 novih elemenatas:
<section>, <article>, <aside>, <hgroup>, <header>,<footer>, <nav>, <figure>,
<figcaption>, <video>, <audio>, <source>, <embed>, <mark>,<progress>, <meter>,
<time>, <ruby>, <rt>, <rp>,<wbr>, <canvas>, <command>, <details>,<summary>,
<datalist>, <keygen>, <output>
HTML stranica startuje obavezno sa deklaracijom DOCTYPE
HTML5 takode uvodi izmene nekih postojecih elemenata:
• <a> može imati plutajuci sadržaj umesto do sada samo prostog teksta
• <hr> predstavlja jedan prekid paragrafa
• <cite> predstavlja samo naslov rada
• <strong> predstavlja važnost umesto jakog isticanja
2. Struktura Web page
2.2. Prva HTML5 stranica
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
Ovo je ceo sadržaj moje prve HTML5 stranice
</body>
</html>
5/25/2015
4
3. Novi elementi
<nav>
Predstavlja glavni blok za navigaciju. U ovom elementu se grupišu linkovi ka
drugim stranicama ili delovima tekuce stranice.
<nav> ne mora biti korišcen na svakom mestu gde se koriste linkovi.
Na primer, futeri cesto sadrže linkove, ali je dovoljno imati samo ovaj
element.
<nav>
<ul>
<li> <a href="/"> pocetna </li>
<li> <a href="/dogadjaji"> dogadjaji </li>
<li> <a href="/kontakti"> adrese </li>
</ul>
</nav>
3. Novi elementi
<header>
• specificira zaglavlje dokumenta
• Ovaj element ne mora biti korišcen
samo na stranicama gde stoji na
vrhu u vidu naslova. Može se
koristiti i kao deo sa naslovom i
datumom na blogu.
<body>
<header>
<h1>Naslov dokumenta </h1>
<nav>
<ul>
<li> <a href="/"> pocetna </li>
<li> <a href="/dogadjaji"> dogadjaji </li>
<li> <a href="/kontakti"> adrese </li>
</ul>
</nav>
Ovo je ceo sadržaj moje prve HTML5 stranice
</header>
<p> sadrzaj van zaglavlja </p>
</body>
<article>
<header>
<h1>Naslov...</h1>
<time datetime="2015-04-05" pubdate>5.4.2015.</time>
</header>
<p>
Neki clanak...
</p>
</article>
5/25/2015
5
3. Novi elementi
• <article>, <section>
• <article> Ovaj element menja cesto korišceni odeljak <div class="article">.
Koristi se
uglavnom za sadržaj. Na primer novosti, blog zapisi... Jedan article element ne
znaci obavezno
i clanak tj sadržaj u vidu clanka. U article elementu može stajati elementi header
i footer. Na
primer, cest je slucaj da clanak ima naslov struktuiran u vidu zaglavlja.
• <section> Koristi se za grupisanje temetski slicnih sadržaja. Za razliku od div
elementa i ovaj
element ima semanticku vrednost.
<body>
<h2>Moj blog</h2>
<article>
<header>
<h1>Naslov teme...</h1>
<p></p><time datetime="2015-04-05" pubdate>5.4.2015.</time></p>
</header>
<p>
Opis teme ...
</p>
<footer>
<a href="coments/page1.html">Ostavite komentar</a>
</footer>
</article>
</body>
3. Novi elementi
<aside>
Ovaj element se koristi za odeljak koji je obicno nekako povezan sa glavnim
sadržajem ali koji može biti odvojen od njega.
<article>
<p>
Viša elektrotehnicka škola u Beogradu osnovana je 1974....
</p>
<aside>
Studentima je pružena mogucnost da kroz medunarodnu razmenu
studentata...
</aside>
</article>
5/25/2015
6
3. Novi elementi
<footer>
Slicno kao i element "header", obicno se referiše kao podnožje stranice.
Ovih elemenata može biti više u jednom dokumentu. Može postojati futer u svakoj
sekciji ili
svakom clanku.
<article>
<header>
<h1>Naslov teme...</h1>
<p>Opis teme ... </p>
</header>
<footer>Objavljeno datuma:<time datetime="2015-04-05"
pubdate>5.4.2015.</time></footer>
</article>
<footer>
<nav>
<ul>
<li> <a href="/"> pocetna </li>
<li> <a href="/dogadjaji"> dogadjaji </li>
<li> <a href="/kontakti"> adrese </li>
</ul>
</nav>
</footer>
3. Novi elementi
<progress>, <meter>
• Elementi koji se koriste za vizuelni prikaz stanja nekog procesa ili napretka.
Progres1... <progress value="60" max="100">60%</progress> <br />
Meter1... <meter value="4" min="0" max="15">4 od 15</meter><br />
Meter2... <meter value="0.6">60%</meter><br />
5/25/2015
7
3. Novi elementi
<mark>
Ovim elementom se markira deo teksta, obicno sa namerom da se istakne ili znacenjem
izdvoji od
ostatka.
Viša elektrotehnicka škola u Beogradu <mark>osnovana je 1974. godine.</mark>..
3. Novi elementi
<figure>, <figcaption>
Ovaj element specificira sadržaje koji pripadaju ovom elemenu, kao što su
ilustracije, dijagrami,
fotografije, listinzi koda,...
Mada je sadržaj ovog elementa povezan sa glavnim tokom, pozicija je nezavina, tj
izbacivanje ovog
elementa ne menja tok u dokumentu.
<p>Tekst u paragrafu1.</p>
Tekst ispred slike:
<figure>
<img src="jabuka.jpg" alt="Jabuka">
<figcaption> Sl.1. Jabuka</figcaption>
</figure>
Tekst u nastavku
<p>Tekst u paragrafu2. Šta se dogada ako izbrišete figure element?</p>
5/25/2015
8
3. Novi elementi
<details> <summary>
Element <summary> omogucuje da se sadržaj u elementu <details>
klikom na summary prikažu ili sakriju.
<!DOCTYPE html>
<html>
<body>
Na današnji dan:
<details>
<summary>6.4.1876.</summary>
<p> - Srpska vojska je ušla u ...
</details>
<details>
<summary>6.4.1941.</summary>
<p> - Nacisticka Nemacka je u ...
</details>
<details>
<summary>6.4.1973.</summary>
<p> - U Beogradu je otvorena nova zgrada ...
</details>
</body>
</html>
• Element <time> definiše vreme ili datum i vreme (atributom
datetime). Podatak nije vidljiv za korisnika.
<!DOCTYPE html>
<html>
<body>
<article>
<header>Naslov</header>
<time datetime="2008-02-14 20:00">datum</time>
</article>
</body>
</html>
5/25/2015
9
Atributi ping, download
ping – deklarise putanju, kako bi url adrese registrovale kada korisnik
pritisne na link. Može se navesti više adresa. Obicno je to URL neke
skripte.
download – pokazuje da citac veba treba da preuzme datoteku.
<a href=http://www.minkbooks.com/content/myfile.pdf
ping="http://www.jdgauchat.com/control.php" download>
klikni ovde
</a>
3. Novi elementi
3.3. Primer dizajna blog-a koristeci html5
5/25/2015
10
HTML 5 Forme
4. Forms
Uvod
HTML5 donosi nove elemente formi, ulazne tipove i drugo. Mnoge od ovih
karakteristika
postojale su i ranije na web stranicama, ali osnovna razlika je što je za to bilo
neophodno
ukljucivanje JavaScript-a, a sada su sto samostalni elementi tj. njihova ponašanja
su
ugradena u same elemente.
HTML5 omogucava lakše formiranje formi ali i formi sa boljim karakteristikama. Na
strani klijenta je obezbedeno prirodno rukovanje validacijama od strane web citaca,
brže
ucitavanje stranica bez JavaScripta.
Pogledajmo
HTML5 Form atribute
HTML5 Input tipove
HTML5 Form elemente
5/25/2015
11
4. Forms
form atributi: autocomplete
<form>,<input>
Specificira da li se na formi ili ulaznom polju vršti automatizovano popunjavanje
ili ne.
Kada je ukljuceno, web citac automatski dopunjuje vrednost polja na osnovu vec
unetog od strane
korisnika.
<form action="test.asp" method="get" autocomplete="on">
ime:<input type="text" name="ime"><br>
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>
4. Forms
form, input atributi: novalidate
Ima vrednost bool tipa. Ako je prisutan forma nema validacije.
• <form action="nebitno.asp" novalidate>
• E-mail: <input type="email" name="email">
• <input type="submit">
• </form>
input atributi autofocus
Slicno atributu novalidate i ovaj atribut je tipa boolean.
Kada postoji oznacava da jedan <input> element treba da primi automatski fokus kada
se stranica
ucita.
Samo jedan element može imati autofokus na jednoj stranici.
5/25/2015
12
4. Forms
input atributi formaction
• Ovaj atribut oznacava URL koji ce obraditi ulazne kontrole kada se podaci forme
pošalju.
• Ovaj atribut preklapa atribut action elementa <form>.
• Ovaj atribut se koristi u tipovima kontrola type="submit" odnosno type="image“
input atributi formmethod
• Ovaj atribut preklapa atribut method elementa <form>.
• Ovaj atribut se koristi u tipovima kontrola type="submit" odnosno type="image"
4. Forms
• input atributi formnovalidate
• Ovaj atribut je tipa boolean.
• Ako postoji, oznacava da se <input> elementi ne validiraju kada se šalju
(submit).
• Preklapa ranije novalidate atribut <form> elementa.
• Može se koristiti samo sa type="submit".
• input atributi formtarget
•
Oznacava ime ili kljucnu rec koja definiše gde ce se prikazati odgovor koji je
primljen nakon slanja
forme
• Preklapa raniji atribut target.
• Može se koristiti sa tipovima type="submit" and type="image".
5/25/2015
13
4. Forms
4.2. input atributi required
Oznacava obavezu da Web citac može poslati podatke samo ako su oznacena polja
korektno
popunjena.
Ako je polje prazno ili nevalidno, forma nece poslati podatke, a fokus ce se
prebaciti na prvu nevalidnu
kontrolu.
Ovaj atribut se može postaviti na bilo koju kontrolu osim na button, range, color,
hidden, sve koji imaju podrazumevanu vrednost.
<form action="action_page.php">
Username: <input type="text" name="usrname" required>
<input type="submit">
</form>
4. Forms
input atributi placeholder
Atribut kojim se postavlja kratak tekst u kontrolu kojom se pomaže korisniku u vidu
upustva šta se
unosi u to polje
Obicno je taj tekst prikazan nekom sivom nijansom cime se ukazuje da polje nije
popunjeno.
• <form action="action_page.php">
• <input type="text" name="fname" placeholder="First name"><br>
• <input type="text" name="lname" placeholder="Last name"><br>
• <input type="submit" value="Submit">
• </form>
5/25/2015
14
4. Forms
input atributi readonly
Ovo svojstvo je slicno atributu disabled: korisnik ne može da unese vrednost tj
vrednost se samo cita.
Kontrola može primiti fokus i ta vrednost se salje sa ostalim podacima forme.
• <input type="text" name="viser" id="rez224" readonly>
• <label for="rez224"> Naslov </label>
input atributi multiple
Oznacava da se, kada je prisutan, višestruke vrednosti mogu uneti u kontrole forme.
Ranije je
postojao samo u elementu select. U html5 postoji i u tipovima email i file.
To znaci da korisnik može selektovati više od jednog fajla ili ukljuciti comma-
separated više email
adresa.
• <form action="action_page.php">
• Odabrane slike: <input type="file" name="img" multiple>
• <input type="submit">
• </form>
4. Forms
input tipovi
Pre pojave HTML5 ulazni tipovi tj kontrole
su:
¦ button
¦ checkbox
¦ file
¦ hidden
¦ image
¦ password
¦ radio
¦ reset
¦ submit
¦ text
HTML5 omogucava korisniku više
specificnosti. HTML5 novi tipovi su:
¦ search
¦ email
¦ url
¦ tel
¦ datetime
¦ date
¦ month
¦ week
¦ time
¦ datetime-local
¦ number
¦ range
¦ color
5/25/2015
15
4. Forms
input tip search
Tip koji se koristi za pretragu. Ne ukljucuje automatski neku pretragu.
input tip email
Koristi se za podatke tipa elektronske pošte. Može ukljuciti više email adresa. Web
citaci
rade osnovnu validaciju a smartphone uredjaji cesto nude dodavanje .com domena kao
podrazumevanog.
• <form action="action_page.php">
• E-mail:
• <input type="email" name="email">
• <input type="submit">
• </form>
4. Forms
input tip url
Koristi se za ulazna polja koja sadrže neki URL.
Ukljucuje se automatska validacija.
• <form action="action_page.php">
• Add your homepage:
• <input type="url" name="homepage">
• <input type="submit">
• </form>
input tip tel
Za telefonske brojeve koristi se ovaj tip (type="tel"). Tip tel ne forsira neki
poseban uzorak za proveru
validnosti.
• <form action="action_page.php">
• Telephone:
• <input type="tel" name="usrtel">
• <input type="submit">
• </form>
5/25/2015
16
4. Forms
input tip range
Prikazuje klizac slider kontrolu. Prateci atributi su
min, max, odnosno step.
• <form action="action_page.php" method="get">
• Jacina:
• <input type="range" name="points" min="0" max="10">
• <input type="submit">
• </form>
4. Forms
input tip color
Omogucava izbor boje koristeci standarni prozor za izbor boja.
• <form action="action_page.php">
• Odaberi boje:
• <input type="color" name="boja" value="#ff0000">
• <input type="submit">
• </form>
5/25/2015
17
4. Forms
input tip output
Koristi se da bi se u formi recunale neke vrednosti
Atributi
for
Lista ID vrednosti razdvojenih razmakom cije vrednosti ucestvuju u izracunavanju.
form
Sadrži naziv forme koja je vlasnik ovog (output) elementa. Vrednost mora biti ID
forme u istom
dokumentu. Ovaj atribut nam omogucava da output element bude izvan forme na koju se
odnosi.
name
Naziv elementa.
• <form onsubmit="return false" oninput="o.value = parseInt(a.value) +
parseInt(b.value)">
• <input name="a" type="number" step="any"> +
• <input name="b" type="number" step="any"> =
• <output name="o"></output>
• </form>
HTML 5 audio & video
5/25/2015
18
5. Audio & video
Element <audio>
Do pojave HTML5 nije postojao standard za „puštanje“ audio fajlova. Za to je bilo
potrebno koristiti
plug-in ove.
<!DOCTYPE html>
<html>
<body>
<audio controls>
<source src="pesma1.mp3" type="audio/mpeg">
Vas web citac ne podržava audio element
</audio>
</body>
</html>
5. Audio & video
Element <video>
<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" autoplay>
<source src="movie.mp4" type="video/mp4">
....
</video>
</body>
</html>
Atribut Vrednost Opis
autoplay autoplay Automatsko startovanje
controls Controls Specificira da li se kontrole
prikazuju
height, width pixels, pixels Podešavanje visine i širine
src URL URL fajla koji se emituje
5/25/2015
19
HTML 5 canvas
6. Canvas
6.1. Šta je Canvas
1. Canvas API omogucava crtanje. Može se crtati bez ogranicenja uz pomoc
JavaScript-a.
2. Primenom Canvas tehnike mogu se dobiti bolje performanse u odnosu na ucitavanje
slika.
Primenom Canvas-a mogu se cratati oblici i linije, isecci, lukovi, tekst,
gradijenti i šabloni.
• Jedan canvas je pravougaona površ na HTML stranici. Podrazumevano bez ivice i
sadržaja.
• <canvas id= "testCanvas" width="200" height="100"></canvas>
• Napomena: Uvek treba specificirati id atribut kao i širinu i visinu površi.
5/25/2015
20
6. Canvas
6.2. Crtanje
Prvo se dodaje funkcija za crtanje draw u script sekciji, a zatim se u njoj
referiše
Canvas pomocu ID vrednosti.
• <script>
• function draw(){
• var q = document.getElementById("testCanvas");
• }
• </script>
Zatim se kreira kontekst za crtanje u 2d koristeci metodu getContext
• <script>
• function draw(){
• var q = document.getElementById("testCanvas");
• var ctx = q.getContext("2d");
• }
• </script>
6. Canvas
6.2. ispunjavanje površi i bojenje ivice
<!DOCTYPE html>
<html>
<body>
<canvas id="testCanvas" width="200" height="100" style="border:2px
solid red;">
Vaš citac ne podržava HTML5 canvas tag.
</canvas>
<script>
var c = document.getElementById("testCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 100, 75);
ctx.strokeStyle = "#0000FF";
ctx.strokeRect(100,75,100,25);
</script>
</body>
</html>
5/25/2015
21
6. Canvas
6.2. iscrtavanje linija
<script>
var c = document.getElementById("testCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0, 50);
ctx.lineTo(50, 100);
ctx.lineTo(180, 0);
ctx.strokeStyle = "#00BBBB";
ctx.stroke();
</script>
6. Canvas
6.2. kreiranje kruga odnosno isecka
<script>
var c = document.getElementById("testCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#aa0000";
ctx.beginPath();
ctx.moveTo(50, 50); ctx.lineTo(90, 50);
ctx.arc(50, 50, 40, 0, Math.PI / 2);
ctx.lineTo(50, 50);
ctx.fill();
ctx.strokeStyle = "#00aa00";
ctx.beginPath();
ctx.arc(150, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
</script>
5/25/2015
1
CSS3
Vendor Prefiksi
? Neka CSS pravila ne mogu raditi bez specificnih prefiksa web citaca.
? Mozilla Browsers (Firefox)
-moz
? Webkit Browsers (Safari, Chrome)
-webkit
? Opera
-o
? Internet Explorer
-ms
<!--[if IE]> <![endif]-->
? Not all CSS rules work with all browsers:
? http://www.caniuse.com/
? http://www.css3.info/selectors-test/
? http://quirksmode.org/css/contents.html
5/25/2015
2
Šta novo
donosi
CSS3?
Novi selektori!
? element1~element2
Selektruje jedan elementi koji je sledeci blizanaca drugog
elementa.
Example:
http://www.quirksmode.org/css/selector_sibling.html
? [attribute^=value]
Element ciji atribut pocinje sa prefiksom value.
? [attribute$=value]
Element ciji atribut se završava sa value.
? [attribute*=value]
Predstavlja neki element sa atributom cija vrednost sadrži
value.
Example:
http://www.quirksmode.org/css/selector_attributeAdvanced.html
5/25/2015
3
Novi pseudo elements/klase!
? :first-of-type
? :last-of-type
? :only-of-type
? Selektuje elemente koji su prvi, poslednji ili jedini dete element ili emenent
tipa.
? Example:
http://www.quirksmode.org/css/type.html
? :first-child
? :only-child
? :last-child
? Examples:
http://www.quirksmode.org/css/firstchild.html
http://www.quirksmode.org/css/onlychild.html
Još novih pseudo
elemenata/klasa!
? nth-child(n)
? :nth-of-type(n)
? Example:
http://www.quirksmod
e.org/css/nthchild.html
? :nth-last-child(n)
? :nth-last-of-type(n)
? Example:
http://www.quirksmode.
org/css/nthlastchild.h tml
? :root
? Selects the root initial
containing block (in HTML, this is the
<html> tag)
? Example:
http://www.quirksmode.
org/css/root.html
? :empty
? Selektuje elementi bez sadržaja (“empty”).
? Example:
http://www.quirksmode.
org/css/empty.html
5/25/2015
4
Još novih pseudo
elemenata/klasa!
? :enabled
? :disabled
? :checked
? Omogucava dizajneru da primeni stil da bi oznacio elemente forme.
? Example:
http://www.quirksmode.org/css/enabled.html
? :not(selector)
? Negacija selektora.
? Example:
http://www.quirksmode.org/css/not.html
? ::selection
? Defines style for text that a user selects.
? Example:
http://www.quirksmode.org/css/selection.html
***Nova svojstva! (ili grupe
svojstava!)
• Animation
• Background
• Border and outline
• Box
• Color
• Content Paged
Media
• Dimension
• Flexible Box
• Font
• Generated content
• Grid
• Hyperlink
• Linebox
• List
• Margin
• Marquee
• Multi-column
• Padding
• Paged Media
• Positioning
• Print
• Ruby
• Speech
• Table
• Text
• 2D/3D Transform
• Transition
• User-interface
CSS Grupe svojstava:
5/25/2015
5
Animacije - 1
? Animacija predstavlja postepeno menjanje stila od
jednog ka drugom.
? Može se menjati veci broj CSS svojstava proizvoljan broj
puta.
? Da bi se koristile CSS3 animacije potrebno je prvo
definisati kljucne frejmove za animaciju.
? „Keyframes“ cuvaju stilove elemenata koji ce se
pojavljivati u animaciji u odredenim trenucima.
Animacije - 2
? @keyframes
? @keyframes test {
from {background-color: blue;}
to {background-color: green;}
}
? Animacija se menja od jednog stila do drugog koji oznacavaju promenu
više svojstava.
? Da bi animacija bila vidljiva, potrebno ju je primeniti na nekom
elementu.Na primer na <div> elementu.
? div {
width: 100px;
height: 100px;
background-color: blue;
animation-name: test;
animation-duration: 5s;
}
? Animacija ce trajati 5 sekundi, za to vreme ce se promeniti od 0% (from)
do 100% (to)
5/25/2015
6
div {
width: 100px;
height: 100px;
background-color: red;
position: relative;
-webkit-animation-name: example; -webkit-animationduration:
4s;
animation-name: example;
animation-duration: 4s;
}
/* Chrome, Safari, Opera */
@-webkit-keyframes example {
0% {background-color:red; left:0px; top:0px;}
25% {background-color:yellow; left:200px; top:0px;}
50% {background-color:blue; left:200px; top:200px;}
75% {background-color:green; left:0px; top:200px;}
100% {background-color:red; left:0px; top:0px;}
}
/* Chrome, Safari, Opera */
@-webkit-keyframes example {
0% {background-color:red; left:0px; top:0px;}
25% {background-color:yellow; left:200px; top:0px;}
50% {background-color:blue; left:200px; top:200px;}
75% {background-color:green; left:0px; top:200px;}
100% {background-color:red; left:0px; top:0px;}
}
@keyframes example {
0% {background-color:red; left:0px; top:0px;}
25% {background-color:yellow; left:200px; top:0px;}
50% {background-color:blue; left:200px; top:200px;}
75% {background-color:green; left:0px; top:200px;}
100% {background-color:red; left:0px; top:0px;}
}
Animacije - 3
? @keyframes - Definiše animaciju
? animation - Skraceno svojstvo za sva svojstva animacije nabrojana ispod, osim
animation-play-state
? animation-name - Definiše ime za @keyframes animaciju
? animation-duration - Definiše trajanje u sekundama ili milisekundama za 1 ciklus
? animation-timing-function - Definiše funkciju brzine animacije
? animation-delay - Definiše kada ce animacija startovati
? animation-iteration-count – Definiše broj ciklusa animacije
? animation-direction – Definiše da li ce animacija imati možda suprotan ciklus.
? animation-play-state – Definiše da li je anmacija pauzirana ili pokrenuta
? Primeri:
http://www.leemunroe.com/css3-animations/
http://css3.bradshawenterprises.com/animations/
http://www.w3schools.com/css3/tryit.asp?filename=trycss3_animation1
http://www.standardista.com/sxsw/#slide24
5/25/2015
7
Transition
? Da bi se kreirao neki efekat u vidu tranzicije potrebno
je definisati:
1. CSS svojstvo kojim se želi postici efekat
2. Trajanje efekta
? Ukoliko trajanje nije definisano, podrazumevana
vrednost je 0.
Transition
? transition – Skraceno svojstvo
? transition-property - Definiše ime svojstva za tranziciju
? transition-duration - Definiše vreme tranzicije u sekundama ili
milisekundama
? transition-timing-function - Definiše naziv funkcije promene
brzine tranzicije
? transition-delay - Definiše vreme za koje krece tranzicija
? Primer:
http://css3.bradshawenterprises.com/transitions/
5/25/2015
8
Primer
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 50px;
height: 50px;
background: red;
-webkit-transition: width 1s;
-webkit-transition: height 4s;
transition: width 1s, height 4s;
}
div:hover {
width: 200px;
height: 200px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
Funkcije promene
? Svojstvo transition-timing-function definiše brzinu i
nacin promene svojstva u tranziciji. Moguce vrednosti
su:
? ease – spori start, brzo i spori kraj
? linear – ista brzina sve vreme tranzicije
? ease-in – spori start
? ease-out – spori kraj
? ease-in-out – spori start i kraj
? cubic-bezier – definisanje sopstvene funkcije
5/25/2015
9
Transform
? Na primer
? #myDIV {
background-color:lightblue;
transform:rotateX(10deg);
}
? transform - Primenjuje transformaciju na neki element
? transform-origin – Omogucava promenu pozicije transformisanog elementa
? transform-style – Definiše nacin
Specifies how nested elements are rendered in 3D space
? perspective – pogled na 3D elemente
? perspective-origin - Donja pozicija 3D elemenata
? backface-visibility - da li je vidljiva ili ne
? Primeri:
http://westciv.com/tools/3Dtransforms/index.html
http://css3.bradshawenterprises.com/transforms/
Vrste transformacija
? Transformacije elementa mogu biti 2D i 3D
? Moguce su:
? Rotacija
? Skaliranje
? Pomeranje,
? Iskrivljenje,…
? Sintaksa je:
? transform: transform-functions|initial|inherit;
5/25/2015
10
Funkcije transformacije
? matrix, matrix3d
? translate(x,y), translate3d(x,y,z), translateX(x),
translateY(y), translateZ(z)
? scale(x,y), scale3d(x,y,z), scaleX(x), scaleY(y), scaleZ(z)
? rotate(ugao), rotate3d(x,y,z, ugao), rotateX(ugao),
rotateY(ugao), rotateZ(ugao)
? skew(x- ugao,y- ugao), skewX(ugao), skewX(ugao)
? perspective(n) – Odreduje pogled za 3D transformisani
element
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <style>
5. #animiraniDiv {
6. border: 1px solid blue;
7. width: 200px;
8. height: 100px;
9. background-color: lavender;
10. color: white;
11. -webkit-animation:
rotacija360 5s infinite;
12. animation: rotacija360 5s
infinite;
13. }
14. #animiraniDiv h1 {
15. text-align:center;
16. color: violet;
17. }
18. @-webkit-keyframes rotacija360 {
19. 100% {
20. -webkit-transform:
rotate(360deg);
21. }
22. }
23. @keyframes rotacija360 {
24. 100% {
25. transform:
rotate(360deg);
26. }
27. }
28. </style>
29. </head>
30. <body>
31. <div id="animiraniDiv">
32. <h1>Zdravo!</h1>
33. </div>
34. </body>
35. </html>
5/25/2015
11
? transform-origin – omogucava da promeniti poziciju za
transformisane elemente. Mora se koristiti zajedno sa
transformacijom. Definiše tacku u odnosu na koju se
izvodi transformacija.
? 2D transformacije mogu menjati x- odnosno y-ose nekog
elementa. 3D mogu takode menjati i z-osu elementa.
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <style>
5. #container {
6. padding: 0px;
7. width: 400px;
8. height: 400px;
9. border: 1px dotted black;
10. }
11. #DIV1 {
12. padding: 0px;
13. width: 100px;
14. height: 100px;
15. background-color: gray;
16. -webkit-animation:
rotacijaSaPromenomPozicije 5s infinite;
17. animation: rotacijaSaPromenomPozicije
5s infinite;
18. -webkit-transform-origin: 100% 0%;
19. transform-origin: 100% 0%;
20. }
21. @-webkit-keyframes
rotacijaSaPromenomPozicije {
22. 50% { -webkit-transform:
rotate(360deg); }
23. }
24. @keyframes rotacijaSaPromenomPozicije {
25. 50% { transform: rotate(360deg); }
26. }
27. </style>
28. </head>
29. <body>
30. <p>Promena transform-origin za rotaciju
oko gornjeg desnog temena kvadrata:<p>
31. <div id="container">
32. <div id="DIV1">transform-origin</div>
33. </div>
34. </body>
35. </html>
5/25/2015
12
Background
? background-clip - Definiše oblast iscrtavanja na pozadini
? background-origin – Definiše pozicioniranje. Neke vrednosti su:
?
? background-size – Definiše velicinu
? Primer:
http://www.css3.info/preview/background-origin-and-background-clip/
? background-gradient – Definiše gradijent boje u pozadini
? Primeri:
http://www.stanford.edu/group/ttsclasses/cgi-bin/techietips/?p=485
http://css-tricks.com/5700-css3-gradients/
http://www.standardista.com/sxsw/#slide3
padding-box Podrazumevano. Pocetak je gornja leva ivica padding-a.
border-box Gornja leva ivica je ivice (border-a)
content-box Gornja leva ivica sadržaja (content-a)
Uvod u Internet
tehnologije
Vežba 1
OSI referentni model
? Krajem sedamdesetih godina prošlog veka, Medunarodna organizacija za
standardizaciju (ISO) predložila je organizaciju racunarskih mreža u
sedam slojeva.
? Ovaj model se naziva OSI (Open System Interconnection) model.
? Sedam slojeva OSI modela su, pocev od najvišeg ka najnižem:
aplikativni sloj, sloj prezentacije, sloj sesije, transportni sloj,
mrežni sloj, sloj veze podataka i fizicki sloj.
OSI referentni model
Sloj aplikacije
? Sloj aplikacije (engl. Application Layer) je sedmi i najviši sloj OSI
referentnog modela.
? To je i najviši sloj TCP/IP modela, koji je razvijan za potrebe Interneta
i jednostavniji je od OSI modela).
? Ovaj sloj opisuje rad aplikacija u mreži i njihovu interakciju sa
servisima i protokolima nižih slojeva. Protokoli sloja aplikacije
imaju funkciju da razmene podatke izmedu pokrenutih programa na
prijemnoj i predajnoj strani.
Sloj aplikacije
Mrežne aplikacije
? Mrežne aplikacije su razlog postojanja racunarskih mreža. Bez korisnih
aplikacija,
ne bi ni bilo razloga za projektovanje mrežnih protokola koji ih podržavaju.
? Od kada se internet pojavio, kreirane su brojne korisne i zanimljive aplikacije.
U
internet aplikacije spadaju sledece aplikacije:
? za elektronsku poštu,
? prenos datoteka,
? aplikacije za surfovanje vebom i pretraživanje podataka sa interneta,
? za elektronsku prodaju,
? za video konferencije (Skype),
? za distribuciju video zapisa (YouTube),
? onlajn igrice za više igraca (World of Warcraft),
? aplikacije za društvene mreže (Facebook, Twitter).
Sloj aplikacije
Principi mrežnih aplikacija
? Najvažniji deo razvoja neke mrežne aplikacije jeste pisanje programa
koji ce se izvršavati na razlicitim krajnjim sistemima.
? Na primer, veb aplikacija ima dva nezavisna udaljena programa koji
komuniciraju jedan sa drugim:
? program pretraživaca veba (browser), koji se izvršava na racunaru korisnika –
stonom racunaru, laptopu, tabletu, mobilnom telefonu, i
? program za veb server koji se izvršava na racunaru koji ima ulogu veb servera.
Sloj aplikacije
Arhitektura mrežnih aplikacija
? Pre nego što se pocne sa pisanjem programa, potrebno je odluciti kakva
ce biti arhitektura aplikacije. Postoje dve arhitekture savremenih
mrežnih aplikacija koje preovladuju. To su:
? klijentsko-serverska arhitektura, i
? P2P arhitektura.
Sloj aplikacije
Klijentsko-serverska arhitektura
? Kod klijentsko-serverske arhitekture, uvek postoji dostupan racunar, nazvan
server, cije usluge traži mnogo drugih racunara, koji se nazivaju klijenti.
? Klijenti ne komuniciraju neposredno jedan sa drugim.
? Server ima stalnu, dobro poznatu adresu i uvek je dostupan. Klijent može
uvek da ga kontaktira, šaljuci odgovarajuci paket na IP adresu servera.
? Cesto se dešava da jedan server ne može da se izbori sa svim zahtevima
svojih klijenata. Upravo zato se koristi centar podataka u kome se nalazi
veliki broj racunara da bi se dobio mocan virtuelni server.
? Google ima 30 do 50 centara podataka rasporedenih svuda po svetu, koji
zajedno upravljaju pretragom. Centar podataka može da ima stotine hiljada
servera, koji moraju biti prikljuceni i održavani.
Sloj aplikacije
P2P arhitektura
? Kod P2P arhitekture, aplikacije koriste direktnu komunikaciju izmedu
parova ravnopravnih racunara (engl. peers). Ovi racunari komuniciraju
bez posredovanja posebnog servera, pa se ova arhitektura naziva
arhitekturom ravnopravnih korisnika (engl. peer-to-peer, P2P).
? U ove aplikacije spadaju one za razmenu datoteka (Bit Torrent), internet
telefonija (Skype) i druge.
? Neke aplikacije mogu imati i hibridnu arhitekturu.
Sloj aplikacije
Klijentsko-serverska arhitektura i P2P arhitektura
Sloj aplikacije
Klijentski i serverski procesi
? Program koji se nalazi i izvršava na krajnjem sistemu naziva se proces.
Ukoliko se procesi završavaju na dva razlicita krajnja sistema, medusobno
ce komunicirati razmenom poruka kroz racunarsku mrežu. Predajni proces
pravi poruke i šalje ih u mrežu, dok prijemni proces prima te poruke i po
potrebi odgovara šaljuci poruke nazad.
? Na primer, u slucaju veb aplikacije, proces veb pretraživaca klijenta
razmenjuje poruke sa procesom veb servera. U sistemu P2P razmene datoteka,
datoteke se prenose od procesa na jednom ravnopravnom racunaru do procesa
na drugom ravnopravnom racunaru.
? Za svaki par procesa koji medusobno komunicira, jedan od ova dva procesa
nazivamo klijent, a drugi server.
Sloj aplikacije
Interfejs izmedu procesa i racunarske mreže
? Navedeni procesi medusobno komuniciraju, tj. šalju poruke jedan drugom.
Sve poruke poslate od jednog procesa do drugog moraju da produ kroz mrežu
izmedu njih. Procesi šalju poruke u mrežu i primaju poruke iz mreže preko
softverskog interfejsa koji se naziva soket.
? Poredenje sa kucama i vratima.
? Soket je zapravo posrednik izmedu aplikativnog i transportnog sloja.
Naziva se još i programski interfejs aplikacije izmedu odredene
aplikacije i mreže.
? Programer aplikacije može da utice na sve ono što se dogada na strani
aplikativnog sloja soketa, ali veoma malo na ono što se dogada na strani
transportnog sloja sokete. Recimo, može da izabere transportni protokol
(ukoliko uopšte postoji mogucnost izbora).
Sloj aplikacije
Adresiranje procesa
? Da bi proces koji se izvršava na jednom racunaru slao pakete procesu koji se
izvršava na drugom racunaru, neophodno je da prijemni proces ima sdresu.
Da bi se identifikovao prijemni proces, potrebno je odrediti dva podatka:
adresu racunara i identifikator koji odreduje prijemni proces na
odredišnom racunaru.
? Racunar se identifikuje svojom IP adresom. To je 32-bitna velicina koja
jedinstveno identifikuje racunar.
? Racunar može da izvršava brojne aplikacije, i za svaku od tih aplikacija
mora imati poseban soket. Za ovu identifikaciju, koristi se broj porta.
? Kombinacija IP adrese i broja porta se zapravo naziva soket.
? Na primer: 192.168.1.1:80.
Sloj aplikacije
Transportne usluge koje su dostupne aplikacijama
? Za prenos poruka od soketa predajnog procesa do soketa prijemnog procesa
odgovoran je protokol transportnog sloja.
? Prilikom programiranja aplikacije, treba se odluciti za jedan od
raspoloživih protokola transportnog sloja.
? Kako se odluciti? Treba prouciti usluge koje nude raspoloživi protokoli
transportnog sloja. Usluge se razvrstavaju na osnovu cetiri parametra:
? pouzdan prenos podataka,
? propusna moc,
? vremenska ogranicenja, i
? bezbednost.
? Internet aplikacijama ponudena su dva transportna protokola: UDP i TCP.
Sloj aplikacije
Protokoli aplikativnog sloja
? Kako su poruke koje šalju procesi struktuirane? Šta znace pojedina polja u
tim porukama? Kada procesi šalju poruke?
? Ova pitanja nas dovode do protokola aplikativnog sloja. On definiše:
? tipove poruka koje se razmenjuju, npr. poruke zahteva i poruke odgovora,
? sintaksu za razlicite vrste poruka, kao što su polja u poruci i kako se ta polja
razlikuju,
? znacenje tih polja tj, znacenje informacija u poljima, i
? pravila po kojima se odreduje kada i kako neki proces šalje podatke i odgovara na
njih.
? Aplikativni protokol veba jeste HTTP (HyperText Transfer Protocol). Protokol
FTP (File Transfer Protocol), koji je suprotnost protokolu HTTP, ce takode biti
pomenut u nastavku.
Sloj aplikacije
Veb i HTTP
? Srce veba je HTTP, tj. protokol za prenos hiperteksta. On se implementira
kroz dva programa: klijentski i serverski program. Ova dva programa, koji
se izvršavaju na dva razlicita krajnja sistema, komuniciraju jedan sa drugim
razmenom HTTP poruka. Protokol HTTP definiše strukturu tih poruka i
nacin na koji ih klijent i server razmenjuju.
? Veb stranice se sastoje od objekata. Objekat je u suštini datoteka – kao što
je HTML datoteka, JPEG slika, Java aplet ili video zapis – koju je moguce
adresirati uniformnim lokatorom resursa (Uniform Resource Locator, URL).
Sloj aplikacije
Veb i HTTP
? Vecina veb stranica se sastoji od osnovne HTML datoteke i nekoliko objekata
koji se u njoj linkuju. Osnovna HTML datoteka linkuje ostale objekte na
stranici putem njihovih URL adresa. Svaka URL adresa sastoji se od dva dela:
? naziva servera na kome se odredeni objekat nalazi, i
? putanje do objekta.
? Na primer, URL adresu
http://www.someSchool.edu/someDepartment/picture.gif sacinjava:
? deo www.someSchool.edu za naziv racunara, i
? deo someDepartment/picture.gif za putanju do objekta.
Sloj aplikacije
Veb i HTTP
? HTTP je protokol za komunikaciju izmedu servera i klijenta, koji
funkcioniše po principu zahtev/odgovor.
? Server konstantno osluškuje zahteve na odredenom mrežnom
komunikacijskom portu (tipicno port 80), cekajuci da se klijent poveže i
pošalje svoj zahtev. Zahtev se sastoji od osnovne HTTP komande (cija je
sintaksa propisana standardom i koja se sastoji od naziva komande, imena
traženog dokumenta i verzije podržanog HTTP-a) i zaglavlja koje se sastoji
od odredenog broja redova teksta koji bliže odreduju aspekte zahteva.
? Pošto se na veb pretraživacima realizuje klijentska strana protokola
HTTP, ravnopravno koristimo izraze veb pretraživac ili klijent. Na veb
serverima, na kojima se realizuje serverska strana protokola HTTP, nalaze
se veb objekti do kojih se dolazi navodenjem njihovih URL adresa.
? U popularne veb servere spada npr. Apache.
Sloj aplikacije
Veb i HTTP
Sloj aplikacije
FTP protokol
? FTP (engl. File Transfer Protocol) protokol je protokol za prenos datoteka. To
je najcešce korišcen protokol za prenos podataka izmedu dva racunara na
mreži.
? FTP veza se uspostavlja na zahtev klijentskog racunara
prema serverskom racunaru. Klijentski racunar mora da poseduje program
koji implementira FTP protokol (tzv. FTP klijent), a serverski racunar mora
da poseduje program koji prihvata konekcije na standardnom FTP portu i
takode razume komande protokola FTP (tzv. FTP server). Kada se veza
uspostavi, klijentski program šalje korisnicke komande serverskom
programu, koji ih obavlja i šalje odgovor. Taj odgovor može biti poruka da je
komanda uspešno obavljena, datoteka koja je zahtevana ili poruka o grešci.
Sloj prezentacije
Enkripcija i kodiranje podataka
? Sloj prezentacije (engl. Presentation Layer) je šesti od sedam slojeva OSI
referentnog modela, odgovara na zahteve sloja aplikacije i dalje ih
prosleduje sloju sesije. Ovom sloju se ne mogu kao i inace pridružiti
odgovarajuci protokoli nekog steka. Njegove primarne funkcije su:
? kodiranje i konverzija podataka.
? kompresija/dekompresija podataka pri slanju/prijemu.
? enkripcija/dekripcija podataka.
Sloj sesije
Uspostavljanje sesije krajnjih korisnika
? Sloj sesije (engl. Session Layer) je peti sloj OSI referentnog modela. Kao što
i sam naziv sloja kaže, ovaj sloj je zadužen za uspostavljanje i održavanje
sesije izmedu pokrenutih programa na predajnoj i prijemnoj strani.
? Protokoli sloja sesije imaju funkciju da razmene podatke o uspostavljanju
komunikacije, da održavaju komunikaciju aktivnom, ako je potrebno (u slucaju
prekida) da je ponovo uspostave i na kraju da je završe.
Transportni sloj
? Transportni sloj predstavlja centralni deo slojevite mrežne arhitekture.
Njegova najvažnija uloga je da neposredno obezbedivanje komunikacionih usluga
procesima aplikacija koji se izvršavaju na razlicitim racunarima.
? Na predajnoj strani, transportni sloj pretvara poruku aplikativnog sloja, koju
dobija od procesa aplikacije pošiljaoca, u pakete transportnog sloja, u internet
tehnologiji poznate pod nazivom segmenti transportnog sloja. To se vrši
razbijanjem poruke aplikacije na manje delove i dodavanjem zaglavlja
transportnog sloja u sve te delove. Transportni sloj zatim prenosi te segmente
do mrežnog sloja predajnog krajnjeg sistema, gde se ti segmenti enkapsuliraju u
pakete mrežnog sloja (datagrame) i šalju ka odredištu. Na prijemnoj strani,
mrežni sloj iz datagrama izvlaci segment transportnog sloja i prenosi ga do
transportnog sloja. Transportni sloj zatim obraduje primljeni segment i podatke
iz segmenta dostavlja prijemnoj aplikaciji.
Transportni sloj
? Internet nudi dva transportna protokola. To su UDP (User Datagram
Protocol), koji aplikaciji nudi nepouzdanu uslugu bez uspostavljanja veze,
i TCP (Transmission Control Protocol), koji aplikaciji koja ga koristi nudi
pouzdanu uslugu za uspostavljanje veze. Pri projektovanju mrežne
aplikacije, programer mora da izabere jedan od ova dva transportna
protokola.
? Pakete transportnog sloja nazivamo segmentima. Za pakete mrežnog
sloja koristi se izraz datagram.
Transportni sloj
Usluge TCP protokola
? Model usluga TCP protokola obuhvata uslugu sa uspostavljanjem veze i uslugu
pouzdanog prenosa podataka.
? Uspostavljanje veze: Dakle, pre nego što pocne protok poruka na
aplikativnom nivou, TCP protokol razmenjuje kontrolne informacije
transportnog sloja izmedu klijenta i servera. Po završetku ove razmene
informacija, kaže se da je uspostavljena TCP veza izmedu soketa dva
procesa. Oba procesa mogu istovremeno da šalju svoje poruke. Kada završi sa
slanjem podataka, aplikacija mora da raskine vezu.
? Usluga pouzdanog prenosa podataka: Procesi koji razmenjuju podatke
koristeci TCP protokol mogu da budu sigurni da ce svi podaci biti
isporuceni bez grešaka i pravilnim redosledom.
Transportni sloj
Usluge UDP protokola
? Ovaj protokol je pojednostavljeni transportni protokol koji nudi samo
najosnovnije usluge. Protokol UDP ostvaruje se bez uspostavljanja veze, pa
nema potrebe za rukovanjem izmedu dva procesa pre pocetka komunikacije.
UDP pruža uslugu nepouzdanog prenosa podataka, tj. kada neki proces preda
poruku u soket protokola UDP, nema garancije da ce ta poruka zaista stici do
prijemnog procesa. Takode, poruke koje stignu do odredišta mogu da stignu
po poremecenom redosledu.
? Recimo, aplikacije za elektronsku poštu, veb i prenos datoteka koriste TCP
jer obezbeduje uslugu pouzdanog prenosa podataka. Sa druge strane,
aplikacije internet telefonije (Skype) cesto tolerišu odredeni gubitak
podataka, pa mogu koristiti UDP ili TCP.
Transportni sloj
Odnos izmedu transportnog i mrežnog sloja
? Znate da transportni sloj leži neposredno iznad mrežnog sloja. Dok
protokol transportnog sloja obezbeduje logicku komunikaciju izmedu
procesa koji se izvršavaju na razlicitim racunarima, protokol mrežnog
sloja obezbeduje logicku komunikaciju izmedu racunara. Ovo se može
objasniti korišcenjem analogije sa obicnim domacinstvima.
Transportni sloj
Odnos izmedu transportnog i mrežnog sloja
? Zamislite dve udaljene kuce, na razlicitim krajevima sveta. U svakoj od njih živi
po desetoro dece.
Deca u jednoj od kuca su rodaci deci u drugoj kuci. Deca vole da se dopisuju i
svako dete, svake
nedelje šalje po jedno pismo svakom svoj rodaku i svako pismo se otprema u zasebnoj
koverti,
obicnom poštom. Dakle, svake nedelje se iz svake kuce šalje po 100 pisama onoj
drugoj kuci. U svakoj
od ovih kuca, po jedno dete zaduženo je za prikupljanje i slanje pisama. Ana svake
nedelje obilazi
svu svoju bracu i sestre, prikuplja poštu i predaje je poštaru, koji svakoga dana
obilazi kucu. Kada
pisma stignu u njenu kucu, Anin zadatak je da podeli poštu svojoj braci i sestrama.
U drugoj kuci,
Petar obavlja te iste poslove.
? U ovom primeru, poštanska služba obezbeduje logicku komunikaciju izmedu dve kuce,
poštanska
služba, dakle, prenosi pisma od kuce do kuce, a ne od osobe do osobe. Logicku
komunikaciju izmedu
rodaka obezbeduju Ana i Petar jer oni preuzimaju i isporucuju pisma svojoj braci i
sestrama. Sa
stanovišta rodaka, Ana i Petar jesu poštanska služba, iako su samo deo isporuke
pisma s kraj na
kraj. Ovaj primer je lepo poredenje kojim objašnjavamo kako se transportni sloj
odnosi prema
mrežnom sloju:
? poruke aplikacija = pisma u kovertama,
? procesi = rodaci,
? racunari (koji su i krajnji sistemi) = kuce,
? protokol transportnog sloja = Ana i Petar,
? protokol mrežnog sloja = poštanska služba (ukljucujuci i poštare).
Transportni sloj
Odnos izmedu transportnog i mrežnog sloja
? Protokol mrežnog sloja interneta zove se IP (Internet Protocol). Protokol IP
obezbeduje
logicku komunikaciju izmedu racunara. Model usluga koje nudi protokol IP je usluga
najboljeg pokušaja isporuke. To znaci da protokol IP cini sve što može da isporuci
segmente izmedu racunara, ali ne daje nikakvu garanciju. Tacnije, ne garantuje
isporuku segmenta, ne garantuje redosled isporuke segmenata i ne garantuje
integritet
podataka u segmentima. Svaki racunar ima adresu mrežnog sloja tzv. IP adresu. Više
o
IP adresiranju, uskoro.
? Najvažniji zadatak protokola UDP i TCP je da uslugu isporuke protokola IP izmedu
dva
krajnja sistema prošire na uslugu isporuke izmedu dva procesa koji se izvršavaju na
krajnjim sistemima. Proširivanje isporuke od racunara do racunara na isporuku od
procesa do procesa naziva se multipleksiranje i demultipleksiranje transportnog
sloja. Ovi protokoli takode obezbeduju proveru integriteta, tako što u zaglavljima
segmenata postoje polja za otkrivanje grešaka. Ove dve osnovne usluge transportnog
sloja - isporuka podataka od procesa do procesa i proveravanje grešaka - jedine su
dve
usluge koje pruža protokol UDP! Slicno protokolu IP, i protokol UDP je nepouzdana
usluga, ne garantuje da ce podaci koje šalje jedan proces stici neošteceni (ili
stici
uopšte!) do odredišnoh procesa.
Transportni sloj
Odnos izmedu transportnog i mrežnog sloja
? TCP nudi aplikacijama još nekoliko dodatnih usluga. Prvo i najvažnije, nudi
pouzdan
prenos podataka. Koristeci kontrolu toka, redne brojeve, potvrdu prijema i tajmere,
protokol TCP obezbeduje da se podaci od predajnog procesa do prijemnog procesa
isporuce tacno i u ispravnom redosledu. Na ovaj nacin, TCP pretvara nepouzdanu
uslugu protokola IP izmedu krajnjih sistema, u pouzdanu uslugu za prenos podataka
izmedu procesa. Protokol TCP takode obezbeduje kontrolu zagušenja. Ovo sprecava da
neka TCP veza pretrpa podacima linkove i rutere, koji se nalaze izmedu racunara
koji
komuniciraju. Protokol TCP nastoji da svim TCP vezama, koje prolaze preko zagušenog
mrežnog linka, dodeli jednak deo propusnog opsega. Ovo se postiže regulisanjem
brzine kojom TCP veza na strani pošiljaoca šalje podatke u mrežu. Nasuprot tome,
UDP
ne reguliše brzinu slanja podataka - aplikacija koja koristi UDP može da šalje
podatke proizvoljnom brzinom, dokle god hoce.
Transportni sloj
Portovi
? Svrha porta je da jedinstveno identifikuje razlicite aplikacije ili procese
pokrenute na istom racunaru i na taj nacin im obezbedi da zajedno koriste jednu
fizicku mrežnu konekciju racunara.
? Port je pridružen IP adresi, odvojen karakterom ’:’ i predstavlja jedinstvenu
krajnju tacku na nivou operativnog sistema racunara dodeljenu odredenoj
aplikaciji ili procesu.
? Na primer: 192.168.1.1:80
? Broj porta je 16-bitni broj, u rasponu od 0 do 65535. Brojevi portova od 0 do
1023
nazivaju se dobro poznatim brojevima portova i njihova upotreba je ogranicena,
što znaci da su rezervisani za protokole opšte poznatih aplikacija. U nastavku
su dati neki od dobro poznatih portovi. Na primer, veb server se identifikuje
brojem porta 80.
Transportni sloj
Dobro poznati portovi
? 20 & 21: File Transfer Protocol (FTP)
? 22: Secure Shell (SSH)
? 23: Telnet remote login service
? 25: Simple Mail Transfer Protocol (SMTP)
? 53: Domain Name System (DNS) service
? 80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web
? 110: Post Office Protocol (POP3)
? 119: Network News Transfer Protocol (NNTP)
? 143: Internet Message Access Protocol (IMAP)
? 161: Simple Network Management Protocol (SNMP)
? 194: Internet Relay Chat (IRC)
? 443: HTTP Secure (HTTPS)
? 465: SMTP Secure (SMTPS)
Transportni sloj
Aktivnost
? Upotrebom naredbe netstat, uociti uspostavljene konekcije na vašem
racunaru. Protokoli? Adrese? Portovi?
Transportni sloj
Aktivnost
Mrežni sloj
? Neka su u mreži neka dva racunara. Mrežni sloj racunara koji šalje informacije
ka drugom racunaru preuzima segmente od transportnog sloja, enkapsulira svaki
segment u datagram i zatim šalje te datagrame na najbliži ruter. U prijemnom
racunaru, mrežni sloj prima datagrame od najbližeg rutera, izdvaja segmente
transportnog sloja i isporucuje ih naviše - transportnom sloju prijemnog
racunara. Dakle, uloga mrežnog sloja je prenošenje paketa od predajnog do
prijemnog racunara. Da bi to obavio, mrežni sloj mora da obavi dva važna
zadatka:
? Prosledivanje: Kada paket stigne na ulazni link rutera, on mora da ga premesti
na odgovarajuci izlazni link.
? Rutiranje: Mrežni sloj mora da utvrdi rutu ili putanju kojom paketi proticu od
pošiljaoca do primaoca. Algoritme koji izracunavaju te putanje nazivamo
algoritmima rutiranja.
Mrežni sloj
? Mrežni sloj interneta se sastoji od:
? protokola IP (Internet Protocol),
? komponente za rutiranje koja utvrduje putanju kojom datagram putuje od izvora do
odredišta, i
? komponente koja omogucava slanje obaveštenja o greškama u datagramima i pružanje
izvesnih informacija o mrežnom sloju.
Mrežni sloj
Internet protokol
? IP protokol ne zahteva prethodno upostavljanje veze u trenutku slanja podatka,
vec
racunar koji šalje podatke pokušava sve dok ne prosledi poruku, prenos podataka
je relativno nepouzdan, što znaci da nema gotovo nikave garancije da ce poslati
paket zaista i doci do odredišta nakon što je poslat. Sam paket u procesu
prenosa se može promeniti, zbog razlicitih osnovnih prenosnih pravaca, može
se dogoditi da segmenti ne stižu po redosledu, mogu se duplicirati ili potpuno
izgubiti tokom prenosa. Ukoliko aplikacija zahteva pouzdanost, koriste se
mehanizmi TCP protokla u sloju iznad samog IP protokola. TCP protokol je isto
zadužen za definisanje redosleda paketa koji stižu (sekvence).
? Trenutno se koriste dve verzije IP protokola. Verzija 4 internet protokola (IPv4)
je opšteprihvacena. Verzija 6 internet protokola (IPv6) je predložena da zameni
IPv4.
Mrežni sloj
IPv4
? Adresa verzije 4 dugacka je 32 bita. Piše se kao niz cetiri trocifrena broja
(od 0 do 255) razdvojenih tackama.
? Primer: 193.32.216.9.
Mrežni sloj
IPv6
? IPv6 povecava velicinu IP adrese sa 32 bita na 128 bitova. Time je
obezbedeno da se nikad ne potroše sve IP adrese. U ovom slucaju, svako
zrnce peska na svetu bi moglo da dobije svoju IP adresu. IP adresa se piše kao
osam cetvorocifrenih heksadecimalnih brojeva (osam puta po 16 bitova)
odvojenih dvotackama.
? Jedan niz nula po adresi može da se izostavi, pa je 1080::800:0:417A isto što
i 1080:0:0:0:0:800:0:417A.
Mrežni sloj
Aktivnost
? Korišcenjem naredbe ipconfig proveriti formate IPv4 i IPv6 adresa.
Mrežni sloj
Aktivnost
Sloj veze
Fizicko adresiranje, pristup medijumu
? Sloj veze (engl. Data Link Layer) je drugi nivo OSI referentnog modela, zadužen
za
postavljanje, prijem i prenos paketa putem lokalnog medijuma (veze dvaju cvorova).
? Tehnika postavljanja paketa na medijum se zove „kontrola pristupa medijumu“.
Tokom
samo jedne komunikacije paket može da se prenosi putem više razlicitih medijuma, pa
shodno tome ovom sloju pripada niz razlicitih protokola koji koriste razlicite
metode enkapsulacije paketa u frejmove i pristupa medijumu. Ovi protokoli odreduju
kako formatirati pakete, za prenos putem razlicitih medija.
? Na ovom sloju može najbolje da se uvidi smisao slojevite strukture mreže. Svaki
sloj
treba da funkcioniše tako da ima minimalan uticaj i uvid u rad drugih slojeva. Bez
ovog sloja protokoli sloja mreže, kao što je IP morali bi da definišu kako
pristupati
svakom tipu medijuma, pa s obzirom na to IP bi morao da se prilagodava svaki put
kad se
razvije neka od novih tehnologija ili medijuma.
Sloj veze
MAC adresa
? Sloj veze u slucaju deljenih medijuma (zajednicke logicke mreže) razlikuje
uredaje na
osnovu njihovih fizickih adresa (MAC adresa). Ove adrese, izvorišna i odredišna,
navode se u ramu (frejmu), tj. zaglavlju ovog sloja i odnose se samo na cvorove
unutar
jedne mreže.
? MAC adresa (engl. Media Access Control Address) je jedinstven broj, kojim se vrši
identifikacija uredaja/interfejsa na lokalnoj LAN mreži. Ovo je adresa sloja
veze OSI referentnog modela, predstavljena sa 6 bajtova najcešce
u heksadecimalnoj notaciji.
? Za razliku od IP adresa, MAC adrese uredajima proizvadaci zadaju za stalno, tj.
pri
proizvodnji adaptera ona se upisuje u njegovu ROM memoriju.
? FF-FF-FF-FF-FF-FF
? FF:FF:FF:FF:FF:FF
Sloj veze
Aktivnost
? Korišcenjem naredbe ipconfig /all procitati MAC adrese mrežnih adaptera na
vašem racunaru.
Sloj veze
Aktivnost
Fizicki sloj
Prenos signala
? Fizicki sloj (engl. Physical Layer) je prvi i najniži od sedam slojeva OSI
modela racunarske mreže. Prevodi komunikacijske zahteve od sloja veze u specificne
operacije u tehnickim uredajima, tj. prevodi bitove frejma u odgovarajuci kodiran
elektricni, opticki ili radio signal, a potom vrši predaju, kontrolu prenosa i
prijem. Ovaj sloj se za razliku slojeva viših nivoa u potpunosti odnosi na hardver
i u
skladu sa tim, zadužen je za tri primarne funkcije:
? Standardizacija komponenti (adapteri, interfejsi mržnih uredaja, kablovi i
konektori).
? Nacin predstavljanja podataka (modulacija i kodiranje) i kontrolne standarde.
? Signalizacija, sinhronizacija signala, predaja, prijem i prenos medujumom.
? Fizicki sloj je osnovni sloj na kojem se temelje funkcije ostalih slojeva u
mreži.
Medutim, sa obzirom na veliku raznovrsnost dostupnih tehnickih uredaja sa veoma
razlicitim karakteristikama, to je možda najsloženiji sloj u OSI arhitekturi.
Fizicki sloj
UTP kablovi
? Kablovi sa upredenim paricama u svom najjednostavnijem obliku sastoji se iz dva
izolovana bakarna provodnika (žice), koji su upredeni jedan oko drugog. U obliku u
kojem
se danas najcešce koristi za umrežavanje, žica ima osam (4 para) i oznacene su
razlicitim bojama.
? Upredanje žica smanjuje preslušavanje izmedu razlicitih parica i pruža dobru
zaštitu od slabijih elektromagnetnih smetnji. Da bi se još više smanjilo
preslušavanje, svaka parica ima razlicit korak upredanja, odnosno razlicit stepen
upredanja po jedinici dužine. Radi fizicke zaštite od okoline, cetiri parice
obuhvacene su spoljnim omotacem od PVC-a ili teflonom (ako kabl treba da bude
vatrostalan).
? Postoje dva tipa ovih kablova: sa neoklopljenim paricama (Unshielded Twisted-
Pair,
UTP) i okopljenim paricama (Shielded Twisted-Pair, STP).
? Maksimalna dužina jednog segmenta ovog kabla na kojoj racunari mogu biti povezani
bez
dodatnih pojacanja je 100 metara.
Fizicki sloj
UTP kablovi
? Ako je rapored žica na oba kabla isti, u pitanju je ravan (engl. Straight-
Through) kabl.
Promenom rasporeda na drugom kraju kabla, dobijamo ukršten (engl. Cross-Over) kabl.
? Ravan kabl se koristi za povezivanje dva uredaja razlicitog tipa u mreži, na
primer
racunara i rutera.
? Ukršten kabl se koristi za direktno povezivanje dva uredaja istog tipa, na primer
dva
racunara ili dva rutera.
Fizicki sloj
UTP kablovi
? RJ-45 konektor.
? Pribor za povezivanje koji se koristi za UTP kablove dosta je raznovrstan. Pored
konektora RJ-45, tu su i zidne maske, paneli za prespajanje (engl. Patch Panell),
razvodne stalaže (engl. Distribution Rack)...
Uvod u Internet
tehnologije
Vežba 2
Šta je HTML?
? HTML je jezik za opis veb stranica.
? Skracenica je od Hyper Text Markup Language.
? HTML dokumenti su tekstualni fajlovi.
? Kreiraju se pomocu nekog tekstualnog editora, npr. Notepad.
? Imaju ekstenziju .html ili .htm.
? Sastavljeni su od elemenata koji se nazivaju tagovi.
? Online HTML editor:
? https://thimble.webmaker.org
Tagovi
? Tagovi su kljucne reci koje se smeštaju izmedu znakova < i >.
? Tagovi su obicno složeni tj. sastoje se od pocetnog i završnog taga.
Završni tag je isti kao pocetni sa dodatom kosom crtom / ispred imena
taga.
<imetaga>sadržaj</imetaga>
? Tagovi mogu biti i prosti, odnosno bez završnog taga.
? U okviru pocetnog taga mogu se pisati i odredeni atributi koji imaju
svoje ime i vrednost.
<imetaga imeatributa= "vrednostatributa">sadržaj</imetaga>
Struktura HTML stranice
<html>
<head>
Ovo je zaglavlje sa osnovnim podacima o stranici.
</head>
<body>
Ovo je sadržaj stranice.
</body>
</html>
Opis tagova
? <html> i </html>
? Oznacava pocetak i kraj HTML dokumenta.
? <head> i </head>
? Oznacava pocetak i kraj zaglavlja dokumenta koje sadrži informacije o
stranici: naslov (<title>, </title>) koji se vidi u naslovnoj liniji, meta
podaci (kodni raspored, kljucne reci, opis strane, autor, osvežavanje
stranice...)
? Podaci iz zaglavlja se ne prikazuju.
? <body> i </body>
? Oznacava pocetak i kraj tela dokumenta. Ono definiše sam izgled stranice.
<title>
<title> Ovo je naslov stranice</title>
? Ovaj tag se navodi unutar zaglavlja dokumenta.
? Pomocu ovog taga zadaje se naslov stranice koji se može videti u
naslovnoj liniji pretraživaca.
? Ukoliko se ne navede, naslov stranice ce biti isti kao i naziv
odgovarajuceg .html fajla.
Atributi <body> taga
? Pozadina stranice:
? slika (npr. <body background="URL slike">)
? boja (npr. <body bgcolor="#rrggbb">, gde #rrggbb predstavlja heksadecimalni
kod boje)
? Boja teksta (npr. <body text="#rrggbb">)
? Boja linkova (npr. <body link="#rrggbb" alink="#rrggbb" vlink="#rrggbb">)
? alink – aktivni linkovi
? vlink – poseceni linkovi
? link – ostali linkovi
Primer 1
? Treba napraviti stranicu sa proizvoljnim nazivom i bojom pozadine.
Naslovi (headers)
<hi>Naslov nivoa i</hi>
gde i uzima vrednosti od 1 do 6.
? Ovaj tag se navodi unutar tela dokumenta.
? Koristi za formiranje naslova. Najveci naslov je oznacen brojem 1.
? Ne treba koristiti ovu notaciju u cilju dobijanja podebljanog ili
velikog teksta.
Primer 1
nastavak
? Treba napraviti stranicu sa proizvoljnim nazivom i bojom pozadine.
? Dodati tri naslova razlicitih vrsta.
Paragrafi
<p>Ovo je tekst paragrafa.</p>
? Ovaj tag pravi pasus tj. tekst sa odgovarajucim proredom.
? Može imati atribut align koji može imati neku od vrednosti:
? left
? center
? right
Komentari
<!–- Ovo je komentar koji nece biti prikazan! -->
? Komentari se nece videti prilikom pregleda stranice uz pomoc nekog
veb pregledaca.
Formatiranje
? <b>Ovaj tekst je podebljan.</b>
? <i>Ovaj tekst je ukošen.</i>
? <u>Ovaj tekst je podvucen.</u>
? <strike>Ovaj tekst je prectan.</strike>
? <em>Ovaj tekst je naglašen.</em>
? H<sub>2</sub>O
? 2<sup>4</sup>=8
? <br> (eventualno <br/>) tag se koristi za prelazak u novi red.
? <hr> tag se koristi za prikazivanje horizontalne linije.
? se koristi za umetanje razmaka.
Primer 1
nastavak
? Treba napraviti stranicu sa proizvoljnim nazivom i bojom pozadine.
? Dodati tri naslova razlicitih vrsta.
? Dodati po jedan paragraf sa levim, centralnim i desnim poravnanjem.
Neka se svaki sastoji od po tri reda. Formatirati tekstove. Dodati neki
komentar.
<nobr>
? <nobr>Ovo je tekst koji ne treba da bude prelomljen.</nobr>
<pre>
<pre>
Ovaj tekst ce biti prikazan sa svim r a z m a c i m a ,
tabulacijom
i prelascima
u novi red.
</pre>
? Inace, višestruki razmaci bi se sveli na jedan, a tabulacija i novi red
bi bili zanemareni.
Primer 1
nastavak
? Treba napraviti stranicu sa proizvoljnim nazivom i bojom pozadine.
? Dodati tri naslova razlicitih vrsta.
? Dodati po jedan paragraf sa levim, centralnim i desnim poravnanjem.
Neka se svaki sastoji od po tri reda. Formatirati tekstove. Dodati
komentar.
? Dodati dugacak tekst koji ne treba da bude prelomljen. Proveriti
funkcionalnost taga <pre>.
<blockquote>
? <blockquote>Ovo je neki citirani tekst koji ce najverovatnije biti prikazan
uvuceno u odnosu na ostatak teksta.</blockquote>
Primer 1
nastavak
? Treba napraviti stranicu sa proizvoljnim nazivom i bojom pozadine.
? Dodati tri naslova razlicitih vrsta.
? Dodati po jedan paragraf sa levim, centralnim i desnim poravnanjem.
Neka se svaki sastoji od po tri reda. Formatirati tekstove. Dodati
komentar.
? Dodati dugacak tekst koji ne treba da bude prelomljen. Proveriti
funkcionalnost taga <pre>.
? Dodati neki citat.
<font>
? <font face="Comic Sans MS">Ovom tekstu je odreden font.</font>
? <font color="red">Ovaj tekst ce biti crvene boje.</font>
? <font size="5">Ovom tekstu je odredena velicina.</font>
? HTML5 ne podržava ovaj tag! Umesto njega treba koristiti CSS.
Nenumerisane liste
<ul>Liste mogu biti:
<li> nenumerisane
<li> numerisane
<li> definicione
</ul>
? Ove liste služe za nabrajanje stavki bez navodenja rednog broja.
? Tag <li> ne zahteva završni tag.
Numerisane liste
<ol>Liste mogu biti:
<li> nenumerisane
<li> numerisane
<li> definicione
</ol>
? Stavke ove liste imaju redne brojeve.
Definicione (opisne) liste
<dl>Liste mogu biti:
<dt> nenumerisane <dd> stavke nemaju redni broj
<dt> numerisane <dd> stavke imaju redni broj
<dt> definicione <dd> stavke se sastoje od termina i njegove definicije
</dl>
? Stavka ove liste se sastoji od:
? termina koji se definiše i
? njegove definicije.
? Termini zapocinju <dt> tagom, a njihove definicije <dd> tagom.
Primer 1
nastavak
? Treba napraviti stranicu sa proizvoljnim nazivom i bojom pozadine.
? Dodati tri naslova razlicitih vrsta.
? Dodati po jedan paragraf sa levim, centralnim i desnim poravnanjem.
Neka se svaki sastoji od po tri reda. Formatirati tekstove. Dodati
komentar.
? Dodati dugacak tekst koji ne treba da bude prelomljen. Proveriti
funkcionalnost taga <pre>.
? Dodati neki citat.
? Dodati po jednu nenumerisanu, numerisanu i definicionu listu.
Primer 2
? Napraviti stranicu po uzoru na stranicu datu na sledecem slajdu.
Uvod u Internet
tehnologije
Vežba 4
Slike
? Slike se u HTML stranicu uvode tagom <img>:
<img src="URLslike">
? Atribut src je obavezan i njegova vrednost predstavlja URL slike.
? Slike se mogu umetnuti bilo gde u BODY sekciji.
Slike
atributi
? Poravnanje slike u odnosu na tekst – align:
? top, middle, bottom, left, right
? Definicija teksta koji menja sliku ukoliko ona ne može biti prikazana – alt.
? Velicina okvira oko slike u pikselima – border.
? Iskljucuje se vrednošcu 0.
? Dimenzije slike - height i width.
? Zadaju se u pikselima ili procentima.
? Ukoliko se stvarne dimenzije razlikuju od zadatih, slika ce se izobliciti.
? Dodatni prostor izmedu slike i teksta u pikselima – vspace i hspace.
? vspace - margina ispod i iznad.
? hspace - margina levo i desno.
Primer 1
slike
? Ubaciti sliku na stranicu i iskoristiti neke od navedenih argumenata.
Linkovi
atributi
? Uvode se u HTML stranicu pomocu taga <a>:
<a> tekst koji je ujedno i link </a>
? Osnovni atributi:
? href – URL adresa stranice na koju se prelazi
? id – identifikator sidra za referenciranje
? name – isto kao id, id je globalni identifikator
? target – oznacave gde ce se otvoriti referencirani dokument
URL adresa
? Link na stranicu van servera:
<a href="protokol://host.domen[:port]/putanja/fajl"> tekst linka </a>
? Link na stranicu u okviru istog servera:
? upotreba relativnih putanja
? simbol .. oznacava direktorijum iznad
? Link do odredenog mesta u dokumentu :
? to mesto se obicno naziva sidro
<a href="stranica.html#sidro"> veza do sidra </a>
Linkovi
target
? Specificira gde ce se otvoriti referencirani dokument. Vrednosti:
? _blank – u novom prozoru ili tabu
? _parent – u roditeljskom okviru (frejmu)
? _self – u istom okviru (podrazumevano)
? _top – u istom prozoru ali u kompletnom, ne u okviru
? framename – u imenovanom prozoru
Slika kao hiperveza ?
Slika kao hiperveza
? Potrebno je sliku postaviti kao sadržaj hiperveze:
<a href="URL cilja"> <img src= "URL slike"> </a>
? Okvir oko slike ce biti u bojama linkova.
Primer 2
linkovi
? Napraviti link koji vodi do stranice VISER-a.
? Napraviti sliku koja predstavlja hipervezu.
? Neka postoji folder www i u njemu fajl prvi.html, dok se u folderu
www/detalji nalaze fajlovi drugi.html i prvi.html. Napraviti veze izmedu
ovih stranica korišcenjem relativnih putanja.
? Napraviti stranicu koja sadrži tekst podeljen u naslove i podnaslove.
Na pocetku stranice dodati linkovani sadržaj.
Mapiranje slike
? Slika može biti podeljena na delove tako da svaki deo predstavlja jedan
link do nekog odredišta.
? Gornji levi ugao predstavlja koordinatni pocetak mape.
? Za mapiranje se koristi atribut usemap.
Mapiranje slike
? Vrednost atributa usemap taga img odreduje koja ce se mapa koristiti za
mapiranje slike.
? Ako pocinje sa #, podrazumeva se da se mapa nalazi u istom dokumentu kao
i slika.
<img src="URLslike" usemap="#imemape" >
Mapa
? Mapa se opisuje tagom <map>.
? Naziv mape mora da odgovara nazivu iz usemap atributa slike.
? <map name="imemape">
? Mapa se sastoji iz podrucja , tako da u elementu map postoje podelementi
<area> ciji su atributi:
? shape – oblik oblasti:
? rect, circle, poly, default
? href
? coords
? Ako se oblasti preklapaju, prednost ima ona koja je ranije definisana.
? Atribut nohref znaci da izbor te oblasti ne prouzrokuje nikakvu akciju.
Mapa
shape
? rect – pravougaona oblast:
? coords – gornji levi i donji desni ugao pravougaonika u pikselima
? circle – kružna oblast:
? coords – koordinate centra kruga i njegov poluprecnik u pikselima
? poly – mnogougaonik:
? coords – koordinate tacaka zatvorene izlomljene linije u pikselima
? default – podrazumevano:
? nema koordinate, koristi se samo jednom i to za preostalu oblast
Primer 3
mapiranje slike
? Mapirati datu sliku Suncevog sistema:
? pri kliku na Sunce i na svaku od planeta treba obezbediti otvaranje
odgovarajuceg Wikipedia clanka u novom tabu,
? pri kliku na naslov u novom tabu se otvara clanak o Suncevom sistemu.
Tabele
? Tabela se definiše uz pomoc taga <table>.
? Novi red se definiše sa <tr></tr>.
? Zaglavlje celija se definiše u okviru <th></th>.
? Pojedinacna celija se definiše u okviru <td></td>.
Tabele
atributi
? align - za poravnanje
? vrednosti su left, center, right
? border – za podešavanje debljine ivice
? vrednost je broj u pikselima (podrazumevano 0)
? cellspacing – prostor izmedu celija, ukljucujuci ivice
? vrednost je broj u pikselima (podrazumevano 3)
? cellpadding – prostor izmedu ivice celije i njenog elementa
? vrednost je broj u pikselima (podrazumevano 1)
? width – širina tabele
? vrednost je broj u pikselima ili procenat u odnosu na velicinu stranicu
Atributi <tr> taga
? align – horizontalno poravnanje
? vrednosti mogu biti left, center, right
? valign – vertikalno poravnanje
? vrednosti mogu biti top, middle, bottom
? bgcolor
? vrednost je željena boja
Atributi <td> taga
? colspan – omogucava da se jedna celija proteže duž više kolona
? rowspan – omogucava da se jedna celija proteže duž više redova
? Vrednosti atributa se zadaje brojem kolona ili redova tabele duž kojih
treba da se prostire data celija.
Primer 4
tabele
? Napraviti HTML kod za prikaz tabele:
Uvod u Internet
tehnologije
Vežba 4
Frejmovi
? Frejmovi omogucavaju da se složeni dokument formatira deljenjem
prozora na više nezavisnih celina.
? Osnovni tag je složeni tag <frameset> koji zamenjuje tag <body> u HTML
dokumentu.
Atributi taga <frameset>
? cols – za vertikalnu podelu prozora
? rows – za horizontalnu podelu prozora
? vrednosti ovih atributa mogu biti u pikselima, procentima ili *
? border – vrednost atributa je debljina granice izmedu frejmova izražena
u pikselima
? bordercolor – definiše boju granice izmedu frejmova
? frameborder – vrednosti "1" ili "yes" prikazuje granicu izmedu dva
frejma, dok vrednosti "0" ili "no" ne prikazuje
? framespacing – definiše razmak izmedu granica frejma i njegovog
sadržaja izraženog u pikselima
Tag <frame>
? Poddokumenti složenog dokumenta se navode u okviru taga <frame>.
? Atributi ovog taga su:
? src – adresa poddokumenta
? marginwidth i marginheight – margine cije se vrednosti navode u pikselima
? noframes – poruka ukoliko nije moguce interpretirati frejmove
? bordercolor – definiše boju za ivicu frejma
? frameborder – prikazivanje granica ili ne
? name – specificira ime frejma koje se može koristiti unutar drugih
programski modula
Primer 1
Forme
? Forme se koriste da bi se podaci od citaca prosledili do servera.
? Forme mogu sadržati razne elemente za unos podataka: tekstualno polje,
radio dugme, polje za potvrdu, dugme za slanje i poništavanje, opadajucu
listu, tekstualne oblasti...
? Definiše se uz pomoc taga <form>.
? Dva najvažnija atributa su:
? action
? method - može imati vrednost GET ili POST
Tekstualno polje
? Definiše se korišcenjem taga <input> i njegovog atributa type koji ce u
ovom slucaju imati vrednost text:
<input type="text" >
? Atributi:
? name – pomocu imena elementa drugi delovi aplikacije mogu citati ili
menjati njegovu vrednost
? value – definiše pocetni tekst pre unosa korisnika
? size – velicina tekstualnog polja
? maxlength - maksimalan broj karaktera koji se mogu uneti
? Ukoliko se želi zamaskirani tekst koji korisnik unosi, za vrednost
atributa type treba koristiti password.
Tekstualno polje
Primer
<html>
<head>
<title>Tekstualno polje</title>
</head>
<form>
Korisnicko ime: <input type="text" name="korisnicno_ime" size="30" maxlength="30">
<br>
Sifra: <input type="password" name="sifra" size="10" maxlength="10">
</form>
</html>
Radio dugme
? Definiše se korišcenjem taga <input> i njegovog atributa type koji ce u
ovom slucaju imati vrednost radio:
<input type="radio" >
? Ukoliko želimo da bude oznacena neka opcija, potrebno je dodati
checked unutar input taga.
Radio dugme
Primer
<html>
<head>
<title>Radio dugme</title>
</head>
<form>
Pol:
<input type="radio" name="pol" checked> muski
<input type="radio" name="pol"> zenski
</form>
</html>
Polje za potvrdu
? Definiše se korišcenjem taga <input> i njegovog atributa type koji ce u
ovom slucaju imati vrednost checkbox:
<input type="checkbox" >
Polje za potvrdu
Primer
<html>
<head>
<title>Polje za potvrdu</title>
</head>
<form>
Koje jezike tecno govorite?<br>
<input type="checkbox" name="jezik" checked>srpski<br>
<input type="checkbox" name="jezik">engleski<br>
<input type="checkbox" name="jezik">fransucki<br>
<input type="checkbox" name="jezik">nemacki<br>
</form>
</html>
Dugme
? submit
? definiše dugme pomocu koga se podaci šalju na server
? <input type="submit" name="posalji" value="Potvrdi">
? reset
? definiše dugme koje postavlja sve vrednosti elemenata forme na
predefinisane vrednosti
? <input type="reset" name="ponisti“ value="Ponisti">
Opadajuca lista
? Definiše se pomocu taga <select> i opcija <option>.
? Atributi taga <select> su:
? size – broj opcija koje ce biti prikazane
? multiple – omogucava se izbor više opcija u jednom trenutku
? selected – selektuje odredenu opciju
Opadajuca lista
Primer
<html>
<head>
<title>Opadajuca lista</title>
</head>
<form>
Izabrati omiljenu boju:<br>
<select name="boja">
<option>crvena</option>
<option>plava</option>
<option selected>zelena</option>
<option>zuta</option>
</select>
</form>
</html>
Tekstualne oblasti
? Tag <textarea> prikazuje tekst u odvojenom tekst prozoru.
? Dimenzije prozora se zadaju atributima rows (broj redova teksta) i cols
(broj kolona teksta).
Tekstualne oblasti
Primer
<html>
<head>
<title>Tekstualna oblast</title>
</head>
<form>
Komentar:<br>
<textarea name="tekst" rows="8" cols="40">Ovde uneti komentar...</textarea>
</form>
</html>
Primer 2
? Potrebno je napraviti stranicu po ugledu na sliku sa sledeceg slajda.
? U listi avio kompanija moguce je odabrati više kompanija (koristiti
opciju multiple): Easy Jet, Ryan Air, Fly Niki, Malev.
? Sve HTML elemente prikazati kao na slici sa postavljenim pocetnim
vrednostima na zadate.
? Kod datuma rodenja ograniciti unos na 2+2+4 karaktera, a kod telefona
na 3+7 karaktera.
? U padajucoj listi za odlazne aerodrome navesti Aerodrom Nikola Tesla –
Beograd i Aerodrom Car Konstantin Veliki – Niš, a kod dolaznih Madrid
Airport (MAD), Lisbon Airport (LIS), London Heathow Airport (LHR), u
navedenim redosledima i prikazivanjem kao na slici.
Primer 2
nastavak
Uvod u Internet
tehnologije
Vežba 5
CSS
Cascading Style Sheets
? Selektori, svojstva, vrednosti
<style type="text/css">
h1 {color:red;}
p {color:blue;}
</style>
CSS
Cascading Style Sheets
? id i class selektori
#id_primer
{
text-align: center;
color: blue;
}
.class_primer
{
text-align: center;
color: red;
}
<div id="id_primer">Jedinstveni element sa plavim tekstom</div>
<div class="class_primer">Prvi element sa crvenim tekstom</div>
<div class="class_primer">Drugi element sa crvenim tekstom</div>
CSS
Cascading Style Sheets
? Stanja:
a:link {text-decoration:none;}
a:visited {text-decoration:none;}
a:hover {text-decoration:underline;}
a:active {text-decoration:underline;}
CSS
Cascading Style Sheets
? Povezivanje HTML stranice sa CSS fajlom:
<head>
<title>Titles are required.</title>
<link rel="stylesheet" href="/path/stylesheet.css">
</head>
<head>
<style>
@import url("/path/stylesheet.css");
</style>
<title>Naslov dokumenta</title>
</head>
Primer 1
? Koristeci CSS napraviti cetiri dugmeta
sa odredenim svojstvima, po uzoru na
stranicu Primer1.html koja je data.
Primer 1
Nastavak
? Prvo cemo napraviti jedno dugme. U okviru <body> taga treba dodati
jedan <div> tag.
<div>Dugme 1</div>
? Na ovaj nacin smo dobili element koji ima podrazumevanu širinu i
visinu, i njegove dimenzije možemo videti ukoliko selektujemo
ispisani tekst Dugme 1.
Primer 1
Nastavak
? Pošto za rešavanje primera koristimo CSS, u <head> tagu je potrebno
dodati:
<style type="text/css">
</style>
Primer 1
Nastavak
? Hocemo da promenimo boju pozadine našeg elementa u crvenu, zato u
okviru <style> taga pišemo:
<style type="text/css">
#dugme
{
background-color: red;
}
</style>
? Nadostaje još da u okviru <div> taga dodamo id selektor:
<div id="dugme">Dugme<br>1</div>
Primer 1
Nastavak
? U crveno se obojila cela linija. Hocemo da definišemo dimenzije
elementa tj. da dobijemo kvadrat fiksne širine i visine. Koriste se
svojstva width i height.
#dugme
{
background-color: red;
width: 100px;
height: 100px;
}
? Dimenzije možemo pisati i u procentima, i tada se ti procenti gledaju u
odnosu na dimenzije stranice.
Primer 1
Nastavak
? Hajde da sentriramo tekst, da podesimo da boja teksta bude bela, da
tekst bude Calibri i malo veci. Horizontalno centriranje dobijamo uz
pomoc svojstva text-align. Postoji i vertical-align, ali se on odnosi na
druge elemente unutar <div> taga, ne bi delovao samo na tekst. Tako da
cemo koristiti line-height i tako podesiti visinu tekstualne linije
(visina elementa je 100px, a imamo dve linije, tako da je visina jedne
50px). Kod familije slova (svojstvo font-family), potrebno je znati tacan
naziv, inace ce tekst biti prikazan u podrazumevanom fontu.
Primer 1
Nastavak
#dugme
{
background-color: red;
width: 100px;
height: 100px;
text-align: center;
line-height: 50px;
color: white;
font-family: Calibri;
font-size: 22px;
}
Primer 1
Nastavak
? Treba podesiti okvir: njegovu širinu, boju i stil. Ovo možemo napisati
na duži nacin upotrebom svojstava border-style, border-color i borderwidth
(komentarisana tri reda uz pomoc /* i */) ili kraci upotrebom
samo jednog svojstva border.
? Da bismo dobili krug od našeg kvadrat, koristi se svojstvo
border-radius. On zaobljava ivice kvadrata. U našem slucaju, ukoliko je
broj px koje navedemo veci od 50px, dobicemo krug. Isprobati ovo i za
druge vrednosti.
? Vrednost koju navedemo je zapravo poluprecnik imaginarnog kruga.
? Ukoliko navedemo broj veci od maksimalnog poluprecnika kruga koji je moguce
upisati u kvadrat, iscrtace se upravo taj maksimalni krug.
Primer 1
Nastavak
#dugme
{
background-color: red;
width: 100px;
height: 100px;
text-align: center;
line-height: 50px;
color: white;
font-family: Calibri;
font-size: 22px;
/*border-style: solid;
border-color: black;
border-width: 3px;*/
border: 3px solid black;
border-radius: 90px;
}
Primer 1
Nastavak
? Da bismo postavili senku, koristi se svojstvo box-shadow:
? box-shadow: 5px 5px 20px #888888;
? Uz pomoc prve dve vrednosti se podešava pozicija senke.
? Treca vrednosti odreduje koliko ce biti rasipanje senke.
? Poslednja vrednost predstavlja boju senke. Boja se može zadavati i uz
pomoc heksadecimalnih vrednosti, ali se tada dodaje # ispred
vrednosti.
Primer 1
Nastavak
? Hocemo da podesimo da kada kliknemo na krug, on promeni boju u žutu.
Koristi se stanje active. Ukoliko ne želimo da se ova promena desi
trenutno, možemo koristiti svojstvo transition-duration. Ukoliko ovo
podesimo na, recimo 5s, i držimo pritisnut taster miša, možemo
videti kako boja polako iz crvene prelazi u žutu, menjajuci nijanse.
? Napomena: #dugme:active pisati bez razmaka. Takode, vrednosti kao npr.
5s, 200ms, 100px pisati bez razmaka.
#dugme:active
{
background-color: yellow;
transition-duration: 200ms;
}
Primer 1
Nastavak
? Primecujemo da ukoliko dodemo do teksta Dugme 1, kursor postaje
selektor teksta i moguce je selektovati tekst.
? Možemo menjati boju pozadine oko selektovanog teksta, a ukoliko želimo
da se ovo ne vidi, samo umesto neke boje pišemo transparent. Ukoliko se
napiše ::selection, ovo stanje ce se primeniti na sve elemente unutar
HTML dokumenta.
::selection
{
background-color: transparent;
}
? Da se ne bi pojavljivao selektor teksta, potrebno je postaviti svojstvo
cursor na default (to je strelica).
Primer 1
Nastavak
? Kada dodemo strelicom do površine kruga, potrebno je da se on zarotira
i da tekst dobije senku. Ovo podešavamo u okviru stanja hover.
? transform: rotateZ(30deg)
? vršice se rotacija od 30 stepeni u odnosu na Z osu (Z osa je normalna na površ)
? transform-origin: 50% 50%
? podešavamo da osa prolazi kroz centar kruga
? transition-duration: 500ms
? rotacija nece biti trenutna, vec ce trajati 500 ms
? text-shadow: 2px 2px 15px #888888
? podešavanje senke teksta
Primer 1
Nastavak
? Ukoliko svojstvo ne radi u nekom browser-u, potrebno je dodati odredene
prefikse:
? -webkit- za Google Chrome
? -moz- za Mozilla Firefox
? Ovo je neophodno uraditi za npr. transform. Ukoliko želimo da stranica
podržava više browser-a napisati više puta ista svojstva, samo sa
razlicitim prefiksima za željene browser-e.
Primer 1
Nastavak
#dugme:hover
{
text-shadow: 2px 2px 15px #888888;
-webkit-transform: rotateZ(30deg);
-webkit-transform-origin: 50% 50%;
transition-duration: 500ms;
}
Primer 1
Nastavak
? Da ne bi i pri napuštanju površine kruga, povratak u pocetni položaj
bio trenutan, potrebno je dodati liniju koda u #dugme sekciju:
? transition-duration: 500ms;
Primer 1
Nastavak
? Da bismo napravili cetiri ovakva dugmeta, treba dodati još tri <div>
taga.
? id treba promeniti u class jer id koristimo kada imamo jedinstveni
element.
? Umesto # treba koristiti tacku.
Uvod u Internet
tehnologije
Vežba 6
CSS
Pseudoklase za stanja linkova
a: naziv {color: purple;}
? naziv može imati vrednosti:
? link – odnosi se na linkove na koje nije kliknuto niti je miš iznad njih
? visited – odnosi se na linkove koji su poseceni
? focus – kada je link u fokusu
? hover – kada je miš iznad linkova
? active – link je aktivan kada se pritisne
CSS
Dekoracije
? Ukoliko želimo da kod linkova uklonimo podvlacenje:
a {text-decoration: none;}
? Preostale vrednosti ovog svojstva su:
? underline, overline, line-through
CSS
Pozicioniranje
? Svojstvo position može imati vrednosti:
? static – elementi su pozicionirani kao u normalnom toku dokumenta
? relative – vrši se pozicioniranje elementa relativno u odnosu na njegovu
originalnu poziciju
? absolute – vrši se pozicioniranje elementa u odnosu na prozor tj. element koji ih
sadrži,
ovako pozicionirani elementi su zasebni u odnosu na druge
? fixed – elementi ostaju na istoj poziciji tokom skrolovanja
? Podrazumevana vrednost je static.
CSS
Specificiranje pozicije
? Nakon što se definiše nacin pozicioniranja, postavljaju se vrednosti sledecih
svojstava:
? top
? right
? bottom
? left
? Vrednosti mogu biti broj piksela, procenat ili auto.
Primer 1
? Koristeci CSS napraviti stranicu po uzoru na stranicu datu na slici.
Primer 1
Nastavak
Primer 1
nastavak
? Kako napraviti da se klikom na Pocetna obezbedi otvaranje pocetne
stranice VISER-a, ali unutar sadržaja naše stranice (u centralnom
delu)?
Uvod u Internet
tehnologije
Vežba 7
Primer 1
? Koristeci CSS napraviti stranicu po uzoru na stranicu datu na slici na
sledecem slajdu. Dakle, pravi se forma za kontakt sa par efekata koji
su realizovani upotrebom CSS-a.
? Videti priloženu krajnju stranicu Primer 1_b.
Primer 1
Primer 1
nastavak
Prvo pravimo strukturu bez CSS-a. Pravimo tabelu sa 9 redova i 2 kolone.
U kolone sa leve strane unosimo tekst koji želimo da se prikaže, a u
?
kolone sa desne strane ubacujemo elemente forme. Tag za formu <form>
ovom slucaju nije neophodan jer nije potrebno obezbediti da se klikom
na dugmad izvršavaju bilo kakve akcije (to bi prevazilazilo gradivo
predvideno za ovaj kurs).
Primetiti da se tekstualna oblast može razvuci putem njenog donjeg
desnog ugla. Mogu se podesiti njena maksimalna visina i širina, može
se onemoguciti ovo njeno povecanje. Mi cemo ostaviti ovako, kako je po
default-u.
u
?
Primer
nastavak
1
? Napravljena je osnovna forma.
? Videti Primer 1_a.
Primer 1
nastavak
? Sada pišemo CSS.
? Ukoliko želimo da
koristimo sledeci
se neki stil primeni na sve elemente tipa input,
selektor (mogli smo da koristimo i id ili class, ali
je izabran ovaj nacin):
input
{
border: 2px solid gray;
border-radius: 5px;
font-size: 16px;
font-family: Calibri;
box-shadow: inset 3px 3px 5px #EBEBEB;
width: 180px;
}
Primer 1
nastavak
? Svojstvo box-shadow koristimo za dodavanje senke unutar input
elemenata. Isprobati ovo sa razlicitim vrednostima, cak i negativnim.
Atribut inset smo dodali da bismo napravili senku sa unutrašnje strane,
a ne senku oko našeg elementa.
Primer 1
nastavak
? Ukoliko želimo da se isti stil primeni i na elemente drugog tipa,
možemo navesti više selektora odvojenih zarezom:
input, select, textarea
{
...
}
? Dakle, dodali smo još dva selektora jer želimo da i na elemente ovog
tipa primenimo isti stil.
Primer 1
nastavak
? Za podešavanje stila tabele pišemo:
table
{
margin: auto;
position: relative;
top: 50px;
background-color: #F2F2F2;
opacity: 0.95;
border: 1px solid gray;
border-radius: 20px;
padding: 20px;
}
Primer 1
nastavak
? Postavljanjem svojstva margin na auto, margine sa leve i desne strane ce
se izjednaciti tj. na ovaj nacin smo centrirali našu tabelu.
? Napomena: da bi se svojstvo top primenilo, moramo da postavimo
vrednost svojstva position.
Primer 1
nastavak
? Ukoliko treba da selektujemo samo prvu kolonu tabele, npr. želimo da
izvršimo desno poravnanje
koristimo selektor:
teksta, ali unutar prve kolone naše tabele,
table tr td:first child
{
text-align: right;
text-shadow: 1px 1px black,
-1px 1px black,
1px -1px black,
-1px -1px black;
}
Primer 1
nastavak
? Dakle, ovaj selektor nade tabelu, onda tr, i onda prvo pojavljivanje td
(prvo jer je navedeno first-child).
? Da bismo dobili outline teksta, koristimo svojstvo text-shadow i
pravimo senku oko teksta sa sve cetiri strane.
Primer 1
nastavak
? Možemo definisati šta se dešava sa odredenim elementima kada su
fokusirani. I u ovom slucaju možemo koristiti višestruke selektore:
input:focus, select:focus, textarea:focus
{
border-radius: 5px;
border-color: #C4A445;
box-shadow: 0px 0px 10px #C4A445;
outline: 0;
}
Primer 1
nastavak
? Ukoliko je fokusiran neki od elemenata, videce se pravougaoni okvir
oko našeg zaobljenog okvira. Da bismo to onemogucili, outline postavimo
na vrednost 0.
Primer 1
nastavak
? Slicno, ukoliko želimo da se
preko odredenih elemenata:
nešto desi pri prelasku mišem
input:hover, select:hover, textarea:hover
{
border-color: #07C3E8;
box-shadow: 0px 0px 10px #07C3E8;
-webkit-animation: move_lr 500ms;
}
@-webkit-keyframes move_lr
{
0% {-webkit-transform: translateX(0px)}
50% {-webkit-transform: translateX(20px)}
100% {-webkit-transform: translateX(0px)}
}
Primer 1
nastavak
? U našem primeru, napravili smo animaciju, prelaskom miša preko
odredenih elemenata, oni se pomeraju desno-levo. Ovo nije podržano u svim
browser-ima, da bi radilo u Google Chrome, dodajemo prefiks –webkit-.
? move_lr je naziv koji smo proizvoljno izabrali.
? Navedeni procenti se odnose na trajanje animacije, na pocetku, element je u
pocetnom položaju, na polovini animacije se element pomera za 20px u
desno, dok se na kraju animacije vraca u pocetni položaj.
Primer 1
nastavak
? Za postavljanje pozadinske slike, treba napisati:
body
{
background-image: url("skulls-background-pattern-0815.gif");
}
Primer 1
nastavak
? Da bismo promenili pozadinsku boju padajuce liste:
select option
{
background-color: #C4A445;
color: white;
}
1. Na slici je dat primer koje vrste prikaza (dizajna) stranica? (960px slika!)
- fiksni
- auto
- i jednostruke i dvostruke
4. Kod XML-a vrednosti atributa moraju uvek biti unutar znaka navoda
- tacno
- text-decoration: none;
- transparent
- 2px
- list-style-type: none
- Netacno
10. U koliko boju definisemo na sledeci nacin: color: rgb (red, green, blue)
svaka od komponenti rgb predstavlja intenzitet cija vrednost moze biti od 0 do koje
vrednosti? (broj napisati u dekadnom zapisu)
- 255
- margin: 0 auto;
12. Podrazumevana vrednost fonta je 16px. Definisati da vrednost fonta bude 32px
koristeci relativne mere
- font-size: 2em;
- Netacno
- css reset
16. Na slici je dat primer koje vrste prikaza (dizajna) stranica ? Desna strana je
odredjene velicine, dok se leva strana podesava na osnovu preostalog prostora.
( dva prozora pise layout ;----D )
- fluidni
17. Date su dve tabele cije su ivice izmedju celija razlicito definisane tako sto
su u svojstvu border-collapse date razlicite vrednosti. Koja je to vrednost u
prvom, a koja u drugom slucaju? (slika "ime, prezime")
- color
-font-weight:bold
20. @font-face
21. Ukoliko zelimo da umesto nekog teksta postavimo sliku (npr. za neke stilizovane
fontove), ikonu ili logo, izbacivanje teksta i njegova zamena teksta sa tim img
elementima u html izvornom kodu
-tacno
23. Prednost koju plutajuci (float) elementi imaju u odnosu na elemente koji su
apsolutno pozicionirani je nemogucnost preklapanja
-tacno
24. Koje svojstvo fontova se koristi u koliko zelimo da slova budu ukosena (italic)
-font-style:italic;
25. U XML-u se cuva prazan prostor izmedju karaktera, sto sa html-om nije slucaj
-Tacno
26. h1
{ font: bold 2em calibri; }
Da li je tacno sledece tvrdjenje? Nije bilo neophodno napisati bold da bi h1
elementi bili podebljani, s obzirom da je svaki h1 element vec sam po sebi
boldovan.
-netacno
-Tacno
-tacno
32. Kod koje hijerarhije sajta se stranica moze posetiti samo preko "roditeljske"
stranice tj. prethodnika (H na vrhu - slika)
-stroga hijerarhija
- overflow
34. Velicina fonta se moze definisati i pomocu kljucnih reci small, medium
,large...
- Tacno
- ni jedno od ponudjenog
- Tacno
-Tacno..
38. Kod koje arhitekture sajta se sve stranice postavljaju u istu ravan ? (h sa
leve strane - slika)
- Jednoslojna arhitektura
- text-indent
40. Na slici je prikazan CSS box model. Spojiti oblasti odredjenih boja sa
odgovarajucim svojstvima.(slika - border, content ali zbog isusa je to sve crno
belo ;---D)
-small caps
-tacno
- Tacno
- scroll
48. Boja #ab6 je ista kao i boja #aabb66 Izaberite jedan odgovor:
- Tacno
- none