HTML

HTML & CSS 

PRAKTIKUM – PRIMENATCP/IP TEHNOLOGIJA U NAMENSKIM SISTEMIMA MARIJA JANKOVIĆ

SADRŽAJ 

  • Pregled kursa OE4PPT 
  • Termini laboratorijskih vežbi 
  • Uvod u osnovne pojmove internet programiranja • HTML 
  • CSS

PREGLED SADRŽAJA KURSA 

  • Cilj kursa je keiranja IP komunikacije između korisnika i  namenskog sistema koji prikuplja podatke. 
  • Akcenat je stavljen na serversko prikupljanje i obradu  podataka, a zatim prikazivanje obrađenih podataka u okviru  proste web stranice.

PREGLED SADRŽAJA KURSA 

  • HTML 
  • CSS 
  • JavaScript 
  • PHP

TERMINI LABORATORIJSKI VEŽBI

OSNOVNI POJMOVI 

  • Aplikacija 
  • Server 
  • Klijent

APLIKACIJA 

  • Bilo koji program koji izvršava određeni zadatak 
  • Klasična aplikacija je instalirana na klijentskoj mašini i  pokreće se izvršavanjem odgovarajućeg .exe fajla

WEB APLIKACIJA 

  • Web aplikacija se nalazi na internetu (tj. serveru) i njeno  izvršavanje se pokreće slanjem zateva preko odgovarajućeg  URL-a. 
  • Često je izlaz aplikacija nova HTML stranica koja se  prikazuje korisniku. 
  • Primeri web aplikacija su: webmail, online aukcije, instant  messenger…

STATIČKI WEB SAJTOVI 

  • Statički sajtovi se ne menjaju sve dok sam autor nešto ne  promeni 
  • Omogućavaju slanje informacija ka korisnicima 
  • Korisnici nemaju mogućnost interakcije i ne mogu neki zadatak da izvršavaju na programabilan način 
  • Statičke veb sajtove čine obične statičke HTML stranice (skup HTML fajlova)

ZAHTEV ZA HTML DOKUMENTOM

DINAMIČKIWEB SITE-OVI 

◼ Dinamički veb sajtovi omogućavaju interakciju sa korisnikom.  

◼ Dinamičke veb sajtove čine dinamičke stranice (skup php, asp, jsp… fajlova) koje takođe koriste HTML za komunikaciju sa klijentom.

ZAHTEV ZA PHP SKRIPTOM

HTML = HYPERTEXT MARKUP LANGUAGE 

  • HTML je dominantan jezikWorld Wide Web-a. 
  • Sa kreiranjem HTML-a i razvojem pretraživača (eng. browser)  koji vrše interpretaciju HTML-a omogućeno je da svako sa  kompjuterom i telefonskom linijom može da surfuje po  internetu. 
  • HTML je u suštini jednostavan jezik koji služi za izvršavanje  aplikacija na internetu.

ŠTA HTML NIJE 

◼ Nije kao printovanje sadržaja. 

◼ Nije ni slika. 

◼ U slici desno su i slika i tekst zapravo samo pažljivo obojeni pikseli. ◼ Slike i tekst se na internetu drugačije predstavljaju ◼ slike se šalju kao zasebni fajlovi, a onda se predstavljaju preko piksela ◼ tekst se prikazuje kao tekst

HTML5

◼„HTML5 is supposed to be what HTML should have been in  the first place.“ 

◼ U ovom trenutku sa pojavom Microsoft Edga-a zatvoren je  krug svih poznatiji browser-a koji podržavaju HTML5. Tu se  nalaze i Chrome, Firefox, Opera, Safari. 

◼ HTML5 je današnji standard za pisanje web sadržaja.

Editor-i 

◼ Notepad 

◼ Notepad ++ 

◼ Adobe Dreamweaver ◼ Netbeans 

◼ Eclipse

Browser-i 

◼ Google Chrome ◼ Mozilla Firefox ◼ Internet Explorer ◼ Opera 

◼ Safari

<tag> 

◼ HTML komande se pišu u vidu tagova. 

◼ Jedan tag je komanda koja govori čitaču kako i na koji način da prikaže sadržaj opisane stranice. 

◼ Tagovi se pišu unutar oznaka < i >, npr: 

◼ <html> 

◼ <body> 

◼ <html> tag se nalazi na početku svakog HTML dokumenta

</tag> 

◼ Većina tagova ima i početni i završni tag. 

◼ Završni tag se dobija dodavanjem znaka „/“ i označava mesto na kom prestaje dejstvo početnog taga. 

◼ Uparuju se početni i završni: 

◼ <html> i </html> 

◼ <body> i </body> 

◼ <p> i </p> 

◼ <font> i </font>

<HTML> ili <html> 

◼ HTML tagovi nisu case sensitive tj. svejedno je da li se  pišu malim ili velikim slovima, pa je isto značenje prethodnog taga <html>, kao i sledećeg <HTML> 

◼ Preporuka: malim slovima pisati tagove

Atributi 

◼ Atributi u okviru taga detaljnije određuju naredbu zadatu u  okviru taga 

<tag name=“value” parametar=“vrednost”> primer </tag> ◼ Uređeni par name/value se piše: name=“value“

Hello world 

<!DOCTYPE html> 

<html> 

<head> 

<title>This is a title</title> </head> 

<body> 

<p>Hello world!</p> 

</body> 

</html>

Vizuelni prikaz strukture HTML-a

Minimalna struktura

<!– Ha ha Komentar –> 

◼ Komentar se može uneti radi dodatnog pojašnjenja delova koda, ili u cilju isključivanja određenih delova HTML tagova 

◼ Neki tagovi ne podržavaju pisanje komentara u svom okviru  (npr. style)

<head> 

◼ <head> je element za zaglavlje, koji uključuje skripte, upućuje čitač gde da  nađe stilove za učitanu stranicu, pruža meta-informacije, itd. 

◼ Sledeće oznake se mogu dodati u head sekciju: 

◼ <title> – naslov stranice, ispisuje se u tab-u browser prozora 

◼ <style> – definiše stil grupe tagova ili svakog posebno, inline CSS ◼ <link> – uvezivanje HTML dokumenta i eksternog resursa, najčešće .css fajla ◼ <meta> – keywords, autor info, podaci za pretraživače, refresh rate ◼ <meta charset=“utf-8”> 

◼ <meta http-equiv=“refresh“ content=“30″> 

◼ <meta name=“keywords“ content=“ETF, Signali, Telekomunikacije, Elektronika“> ◼ <script> – učitavanje JavaScript koda

<body> 

◼ Analogno main zaglavlju u C-u, body predstavlja region u  kome se definišu svi tag-ovi čiji će sadržaj biti prikazan na  stranici. 

◼ Moguće je za ceo body pomoću raznih atributa (backgound,  background-color, font-family…) definisati stil celog  dokumenta, ali to najčešće nije praktično.

Formatiranje teksta 1 

◼ <h1> Veliki naslov </h1> 

◼ <h1 align=“center” >Veliki naslov na sredini stranice</h1> ◼ <h4> Mali naslov </h4> 

◼ <p> Moj prvi paragraf </p> 

◼ <div color=“darkred” align=“right”> Desni odeljak </div> ◼ <p> Vidi mama mogu i bez desne ruke 

◼ A i bez tag-a 

◼ <p> hej, a zašto nema novog reda? Brbr <br/> Evo, sad ima </p>

Formatiranje teksta 2

Boje 

◼ Definišu se na dva načina: 

◼ Imenima predefinisanih boja (red, blue, green, darkred, black…) ◼ Heksadecimalnim kodom RGB vrednosti 

◼ color=“#FF0000” – crvena 

◼ #FFFFE0 

◼ #000000 

◼ #808080

<a> 

◼ Često je potrebno uspostaviti vezu između različitih  stranica, ili različitih delova iste stranice. 

◼ Linkovi nam omogućavaju prelazak 

◼ sa jednog mesta na stranici na drugo mesto unutar iste  stranice 

◼ sa jedne naše stranice na drugu našu stranicu (interni link, u  okviru našeg sajta) ili 

◼ sa jedne naše stranice na drugu tuđu stranicu (eksterni link, na  nekom drugom serveru)

<a> 

◼ Link podrazumeva da će korisnik klikom na određeni objekat (reč, grupa reči, slika, oblik) odabrati željeni prelazak 

◼ Destinacija je definisana atributom href 

◼ <a href=“putanja do nove html stranice”> tekst na koji treba da se klikne </a> 

◼ <a href=“http://tnt.etf.rs/~oe4ppt”> Sajt predmeta </a> ◼ mailto 

◼ <a> je inline tag, tj. Ne podrazumeva prelazak u naredni red,  treba dodati <br> ili <br/> ukoliko je potrebno

<a target=“_self”> 

◼ Atribut target nam omogućava da definišemo u kom  prozoru ili frejmu će se otvoriti pozvani link 

◼ “_blank” – novi tab ili prozor 

◼ “ime_frejma” – otvara se u prethodno definisanom frejmu u  okviru iste stranici 

◼ “_self” – podrazumevana vrednost target atributa, otvara u  istom prozoru

Link na mejl 

◼ Za konsultacije pošaljite mejl predmetnom asistentu na <a href=“mailto: meja@etf.rs”> meja@etf.rs </a>

Slika kao link 

◼ <a href=“stranica na koju skacemo”> <img src=“slika.gif”> </a> ◼ Tag <img> pored putanje do slike ima i sledeće atribute: 

◼ alt – ukoliko browser ne otvara sliku umesto nje se pojavljuje teks definisan ovim  atributom 

◼ height – u pikselima [px] ili u procentima širine stranice [%] 

◼ width – u pikselima [px] ili u procentima širine stranice [%] 

◼ Kao i globalne atribute HTML tagova 

◼ title 

◼ style 

◼ id 

◼ class 

◼ draggable 

◼ dropzone

<body> globalni stil 

◼ Ukoliko želimo možemo definisati globalni stil za celu stranicu  tako što definišemo globalne atribute za <body> tag 

◼ Neki od atributa su: 

◼ background-color – boja pozadine 

◼ text – boja teksta 

◼ background-image – postavljanje slike kao pozadine ◼ repeat-x, repeat-y, repeat-xy, no-repeat… 

◼ background-position 

◼ left top, left center, center center, right bottom…

<table> 

◼ Tabela je dvodimenzionalna matrica čiji se elementi nazivaju ćelije. U HTML-u su tagovi  organizovani tako da se matrica definiše kao niz redova koji sadrže niz elemenata tj. ćelija. 

◼ Ćelija može sadržati različite informacije: brojeve, tekst, boje, liste, linkove, slike… ◼ <table> tag ima sledeće atribute: 

◼ border 

◼ background-color 

◼ cellspacing 

◼ cellpadding 

◼ width (px/%) 

◼ height (px/%) 

◼ Naziv tabele zadaje se tagom <caption> 

◼ <caption align=“bottom”> Primer </caption>

<tr>, <th>, <td>

<tr> 

◼ Tag <tr> definiše jedan red tabele </tr> 

◼ Od atributa podržava horizontalno poravnavanje align kao i  vertikalno poravnavanje valing, kao i sve generalne atribute  (color, font…)

<td> 

◼ Opis pojedinačne ćelije počinje sa ,<td> a završava se sa  </td> 

◼ Pored align i valign omogućava cell merge preko naredbi ◼ rowspan – spajanje ćelija iste kolone 

◼ colspan – spajanje ćelija u istom redu 

◼ vrednost koja se dodeljuje rowspan i colspan atrbutima je  broj ćelije koje treba merge-ovati

<th> 

◼ Tag <th> ima ista svojstva kao tag <td> s tom razlikom što obezbeđuje da sadržaj ćelije bude automatski centriran i boldovan. 

◼ Tabela ne mora da sadrži <th> tag, ali mora da sadrži bar jedan <td> tag, u koji se smešta sadržaj tabele. 

tabela1.html 

◼ Otvoriti fajl tabela1.html i u browser-u i u editor-u 

◼ Izmeniti tabelu tako da se iste susedne vrednosti u  kolonama ili redovima merge-uju. 

◼ Dodeliti različitu boju pozadine svakom redu tabele 

Kako lako definisati stil teksta, sekcije, objekta? 

◼ <tr align=“center“ valign=“middle“> </tr> 

◼ <tr style=“align:center; valign:middle;“> </tr> 

◼ <head> 

<style type=“text/css”>  

td { text-align: center; vertical-align: middle;}  

</style> 

</head> 

<body> 

. 

. 

<tr> </tr>

CSS – Cascading Style Sheets 

◼ Koristi se u okviru HTML-a u cilju smanjivanja količine repetitivnog koda. 

◼ Može predstavljati zasebni fajl sa definicijama stilova za sve  tag-ove, čime je omogućeno isto stilizovanje više html stranica. 

◼ Na jednostavan način se prave skalabilne izmene u stilu i prikazu.

CSS – Cascading Style Sheets 

◼ CSS kod se može učitati na tri različita načina ◼ Eksterni stilovi – .css fajl sa stilovima 

◼ Interni stilovi – stilovi su navedeni u <head> zaglavlju u tag-u  <style> u formi CSS koda. Samo dati fajl ima pristup. 

◼ Atribut određenog tag-a – stil važi samo u konkretnom tag-u

Primer CSS – interni stilovi 

<html> 

<head> 

<style type=“text/css“> 

h1 { background-color: #00ff00; } 

p { font-family: Verdana; } 

</style> 

</head> 

<body> 

<h1>Prvi naslov</h1> 

<h2>Drugi naslov</h2> 

<p>Tekst paragrafa</p> 

</body> 

</html>

Primer CSS – eksterni stilovi 

primer.html 

<html> 

<head> 

<link rel=“stylesheet”  

type=“text/css”  

href=“style.css”>  

</link> 

</head> 

<body> 

<h1>Prvi naslov</h1> 

<h2>Drugi naslov</h2> 

<p>Tekst paragrafa</p> 

</body> 

<html> 

style.css 

h1 { 

background-color:#00ff00; } 

p {  

font-family: Verdana;  

}

CSS ID ili CLASS 

◼ Nekada za iste tagove želimo različite parametre prikaza (nećemo da paragraf <p>  uvek bude centriran npr.) 

◼ Definiše se ID kako bi se izolovao stil jednog  elementa. 

◼ ID se koristi kao atribut različitih tag-ova. 

◼ Klasa se definiše kao posebna verzija istog tag a.

CSS ID 

◼ Primer: 

<head> 

<style type=“text/css”> 

h1 { text-align: center;} 

p.desno { text-align:right;}  

.centrirano { text-align:center; } 

#idprimer {text-align:right; color: green;} </head> 

<body> 

: 

<h1> Naslov </h1> 

<h1 id=“idprimer”> Novi Naslov </h1> 

<p id=“idprimer”> desni zeleni paragraph </p> <p class=“centrirano”> centrirani paragraph </p> </body>

BLOKOVI I LAYOUT 

◼ HTML elemente možemo da grupišemo u blokove  korišćenjem naredbe <div> 

◼ Kada se koristi u CSS, ovaj tag može da definiše veliki broj atributa čime može uticati na stil (izgled) sadržaja bloka i  samog bloka. 

◼ Primer layout.html & layout.css

ZADATAK HTML & CSS

STRANICA LABORATORIJA ZA SAJT PREDMETA 

◼ Naziv stranice je Laboratorija 

◼ Header stranice je širine 800 px i sadrži sliku sajt_header.png 

◼ Sa leve strane je potrebno postaviti meni (širine 200px, visine 500 px) sa linkovima na: ◼ početnu stranu (link ka pravom sajtu, otvara se u novom prozoru) 

◼ obaveštenja (link ka pravom sajtu, otvara se u novom prozoru) 

◼ Linkovi sa leve strane treba da imaju veći font i padding. 

◼ U centralnom delu stranice napisati obaveštenje o Spisku studenata za laboratoriju i  linkovati pravi spisak. 

◼ Ispod spiska postaviti centralizovanu tabelu rasporeda laboratorijskih vežbi ◼ U footer-u stranice postaviti centrirano ulinkovan mejl predmetnog asistenta  ◼ Stil tabele, segmenata layout-a i teksta definisati u zasebnom .css fajlu. ◼ Koristiti bold, italic, i druge izmene slova kako bi što bolje akcentovali tekst. ◼ Dati kreativno rešenje za boje i stil sajta ☺

ACKNOWLEDGEMENT & REFERENCES 

◼ Dražen Drašković, Boško Nikolić, Internet programiranje ◼ https://rti.etf.bg.ac.rs/rti/os4ip/vezbe/html/IP_Vezbe1_HTML.pdf ◼ https://rti.etf.bg.ac.rs/rti/os4ip/vezbe/html/IP_Vezbe2_HTML.pdf ◼ https://rti.etf.bg.ac.rs/rti/os4ip/vezbe/html/IP_Vezbe3_HTML.pdf ◼ https://rti.etf.bg.ac.rs/rti/os4ip/vezbe/html/IP_Vezbe4_CSS.pdf ◼ https://www.html-5-tutorial.com/about-html.htm