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