HTML Curs
HTML Curs
HTML
HyperText Markup Language - structura
paginii web si continutul acesteia
CSS
Cascade Style Sheets - design-ul paginii
web
JavaScript
Elemente avansate de interactiune
ISTORIC HTML
• HTML 2.0 – 1995
• HTML 3.2 – Ian 1997
• HTML 4.0 – Dec 1997
• HTML 4.01 – 1999
• HTML 5 – 2011
Deoarece au existat mai multe versiuni de HTML, fiecare pagina web ar trebui sa
inceapa cu o declaratie DOCTYPE pentru a comunica browserului ce versiune de
HTML este folosita de pagina web (desi browserele de obicei afiseaza pagina chiar
daca aceasta declaratie nu exista).
HTML 5
<!DOCTYPE html>
HTML 4
<!DOCTYPE html PUBLIC "
-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Codul HTML este realizat din caractere care se afla in interiorul parantezelor ascutite <>.
Acestea se numesc elemente HTML.
<title>
Continutul elementului <title> este afisat in
partea superioara a paginii, fie deasupra
spatiului in care se introduce URL-ul paginii
pe care vrem sa o vizitam sau pe tab-ul
pentru pagina respectiva
Atribute
<style type="text/css">
h1 {color:red;}
p {color:blue;}
</style>
<script>
document.write("Hello World!");
</script>
Stiluri CSS
• Definesc stilul de afisare a elementelor in pagina
• Pot fi specificate in 3 moduri:
1.Stil css inline: <p style="color: #000ff00;">Text verde</p>
Stilurile de text pot fi imbricate (mai multe stiluri pot fi suprapuse simultan pe acelasi
element)
<i><b> Text inclinat si ingrosat </b></i>
Elemente HTML pentru afisarea
textului
Sunt utilizate pentru a preciza o destina ie specific pentru un anumit bloc de text.
Exemple:
• Paragraf (p): - permite împartirea unui text mai lung în paragrafe
• Titluri (h1, h2, h3, h4, h5 i h6): h1 – fontul cel mai mare i mai îngro at
• Elemente de citat (blockquote i q) : pentru introducerea unor citate lungi
blockquote – afi at începând cu rând nou ; î i indenteaz con inutul
q – destinat citatelor inline
• Linii orizontale (hr): utilizate pentru a separa diferite sec iuni ale unei pagini web;
• Elemente de grupare (div i span)
• Bloc de text preformatat (pre)
Sunt importante pentru SEO (search engine optimization) – motoarele de cautare folosesc titlurile
pentru indexarea structurii si a continutului paginilor web.
Trebuie folosite doar pentru titluri si nu pentru a afisa un text mai mare.
Imagini
In HTML, imaginile sunt inserate folosind elementul <img>.
Elementul imagine are doar tag de inceput, nu are continut si nici tag de sfarsit.
<iframe src="URL"></iframe>
Pentru tag-ul <iframe> se pot specifica urmatoarele atribute: width, height, src,
frameborder, scrolling, name, id, etc.
<iframe
src="http://maps.google.co.uk/maps?q=moma+new+york&output=embed">
width="450"
height="350"
frameborder="0"
scrolling="no">
</iframe>
Tipuri de liste
O list este o secven de articole. Într-o pagin web pot fi inserate mai multe tipuri de liste:
• liste neordonate (f o ordine specific )
• liste ordonate
• liste de defini ii
List neordonat :
• este inserat cu blocul <ul>…</ul>
• pentru a insera un articol în list se utilizeaz elementul <li> .
• atributului type al elementului <ul> i se poate asocia una din urm toarele valori: disc (valoare
prestabilit ), circle, square.
<dl>
<dt>Coffee</dt>
<dd>- black hot drink</dd>
<dt>Milk</dt>
<dd>- white cold drink</dd>
</dl>
Gruparea textului si a elementelor
intr-un bloc
<div id="header">
Elementul <div> permite gruparea unui set <img src="images/logo.jpg" alt=“Party" />
de elemente intr-un container/bloc.
<ul>
De exemplu, se poate crea un element <li><a href="index.html">Home</a></li>
<div> care sa contina toate elementele <li><a
pentru headerul unui site (logo-ul si href="biography.html">Biography</a></li>
navigarea).
<li><a href="works.html">Works</a></li>
Intr-un browser, continutul elementului <li><a href="contact.html">Contact</a></li>
<div> va incepe pe un rand nou. </ul>
</div><!-- end of header -->
De asemenea se pot folosi atributele id si
class ale elementului <div> pentru a defini
o regula CSS prin care sa se stabileasca cat
spatiu ar trebui sa ocupe elementul <div>
pe ecran.
Gruparea textului si a elementelor
inline
<!DOCTYPE html>
<html>
<span> <head>
Elementul <span> este utilizat cand se <style>
doreste schimbarea stilului unei sectiuni .gallery {
de text dintr-un paragraf (de ex pentru text-transform: uppercase;
colorarea unei parti de text) color: #045FB4;
}
</style>
Cel mai important motiv pentru care
elementul <span> este folosit este ca prin </head>
intermediul unei reguli CSS putem <body>
controla modul in care continutul <p>Anish Kapoor won the Turner Prize in 1991
and
elementului <span> este afisat.
exhibited at the <span class="gallery">Tate
Modern</span> gallery in London in
Folosit fara o regula CSS, elementul 2003.</p>
<span> nu conduce la nicio modificare </body>
vizuala. </html>
REZULTAT:
TABELE
Un tabel prezinta informatii intr-un format grid. Tabele se pot folosi in foarte multe situatii, de
exemplu: pentru prezentarea rapoartelor financiare, a orarelor programelor TV sau a
rezultatelor sportive.
Structura de baza a tabelelor
<table>
<table>
• un element <table>…</table> este utilizat pentru a crea un
tabel. <tr>
• continutul unui tabel este adaugat apoi rand cu rand. <td>15</td>
<td>15</td>
<td>30</td>
<tr> (table row) </tr>
• inceputul unui rand este indicat prin intermediul tag-ului <tr>
deschis <tr> ; <td>45</td>
• acest tag este urmat apoi de unul sau mai multe elemente <td>60</td>
<td> …</td> (cate unul pentru fiecare celula a randului); <td>45</td>
• la finalul randului se utilizeaza tag-ul de inchidere </tr>. </tr>
</table>
• Cel mai cunoscut formular de pe web este probabil casuta de cautare care sta in
mijlocul paginii Google. Exemple de situatii in care se folosesc formulare:
inregistrarea pe un site, cumparaturi online, autentificare pentru contul de mail,
etc..
Elementele formularului
INSERARE TEXT:
Camp text: folosit pentru o Elementul ascuns: similar cu Textarea: folosit pentru mai
singura linie de text (adrese de campul text dar caracterele nu multe linii de text, cum ar fi
email, nume). sunt afisate. mesajele si comentariile.
LUAREA DE DECIZII:
Butoane radio: userul trebuie Casete de validare (checkboxes): Lista de selectie: userul trebuie
sa selecteze o singura user-ul poate selecta sau deselecta sa aleaga o optiune dintr-o lista
optiune. una sau mai multe optiuni. de optiuni.
TRIMITEREA FORMULARELOR:
Butonul de trimitere: folosit pentru Butonul imagine: similar cu Incarcarea unui fisier:
a trimite datele din formular catre butonul de trimitere dar permite permite utilizatorilor sa
alta pagina web. utilizarea unei imagini. incarce fisiere (de ex.
imagini) intr-un site.
Cum functioneaza formularele?
Un formular consta din mai multe
elemente, fiecare colectand cate o
informatie. Serverul trebuie sa stie de la
ce element al formularului primeste
informatia respectiva.
REZULTAT:
Elementul <input> este utilizat pentru a crea diferite elemente ale formularului. Valoarea atributului
type determina ce fel de element va fi creat.
REZULTAT:
type=“password” – daca atributul type are valoarea ‘password’ atunci se creeaza o intrare cu o singura
linie de text si caracterele sunt ascunse.
De asemenea se pot folosi si atributele name, size si maxlength.
Textarea
<form action="http://www.example.com/login.php">
<p> What do you think of this gig?</p>
<textarea name="comments" cols="20" rows="4"> Enter your comments… </textarea>
</form>
REZULTAT
Elementul <textarea> este folosit pentru mai multe linii de text. Spre deosebire de alte elemente de
intrare, acest element nu este un element gol ci este compus dintr-un tag de deschidere si unul de
inchidere.
Atributul cols specifica numarul de caractere afisate intr-o linie iar atributul rows numarul de linii
afisate simultan. Se recomanda ca in locul acestor atribute sa se utilizeze CSS pentru a controla
inaltimea si latimea elementului <textarea>.
Butoane radio
<form action="http://www.example.com/profile.php">
<p>Please select your favorite genre: <br />
<input type="radio" name="genre" value="rock" checked="checked" /> Rock
<input type="radio" name="genre" value="pop" /> Pop
<input type="radio" name="genre" value="jazz" />Jazz
</p>
</form>
REZULTAT:
name – atributul name este trimis la server impreuna cu valoarea optiunii selectate de user.
Cand un user are posibilitatea sa aleaga dintre mai multe optiuni pentru a raspunde la o
intrebare, valoarea atributului name trebuie sa fie aceeasi pentru toate acele butoane radio.
value – atributul value indica valoarea trimisa la server pentru optiunea selectata.
checked – Atributul checked poate fi utilizat pentru a indica ce valoare este selectata implicit
cand pagina este incarcata. Valoarea acestui atribut este ‘checked’.
Casete de validare (checkboxes)
<form action="http://www.example.com/profile.php">
<p>Please select your favorite music service(s): <br />
<input type="checkbox" name="service" value="itunes" checked="checked" /> iTunes
<input type="checkbox" name="service" value="lastfm" /> Last.fm
<input type="checkbox" name="service" value="spotify" /> Spotify
</p>
</form>
REZULTAT:
<input type=“checkbox”> – permite user-ului sa selecteze (si deselecteze) una sau mai multe optiuni
name – atributul name este trimis la server impreuna cu valorile optiunilor selectate de user.
– valoarea atributului name trebuie sa fie aceeasi pentru toate acele butoane checkbox.
value – atributul value indica valoarea trimisa la server pentru optiunea bifata.
checked – Atributul checked poate fi utilizat pentru a indica valoare bifata implicit atunci cand pagina
este incarcata. Valoarea acestui atribut este ‘checked’.
Lista de selectie
<form action="http://www.example.com/profile.php"> REZULTAT:
<p>What device do you listen to music on?</p>
<select name="devices">
<option value="ipod">iPod</option>
<option value="radio">Radio</option>
<option value="computer">Computer</option>
</select>
</form>
Lista de selectie <select>…</select> permite user-ului sa aleaga unul sau mai multe elemente
dintr-o lista finita. Aceasta contine doua sau mai multe elemente <option>.
value – elementul <option> utilizeaza atributul value pentru a indica valoarea trimisa la server
impreuna cu numele listei de selectie, daca aceasta optiune este selectata.
selected – atributul ‘selected’ poate fi folosit pentru a indica optiunea selectata implicit in
momentul in care pagina este incarcata. Valoarea acestui atribut este ‘selected’. Daca acest
atribut nu este folosit, atunci prima optiune va fi afisata cand pagina este incarcata. De asemenea
daca userul nu selecteaza nicio optiune atunci prima optiune va fi trimisa la server.
Incarcarea unui fisier
<form action="http://www.example.com/upload.php" method="post">
<p>Upload your song in MP3 format:</p>
<input type="file" name="user-song" /><br />
<input type="submit" value="Upload" />
</form>
REZULTAT:
<input> - pentru a se permite userilor sa incarce un fisier (de exemplu o imagine, un film video
mp3 sau un document PDF) se foloseste elementul <input> cu atributul type="file“.
type=“file” – creeaza un buton browse. Cand userul apasa pe acest buton o fereastra se va
deschide, permitand astfel sa selecteze un fisier local care sa fie incarcat pe site-ul web .
Cand permitem userilor sa incarce fisiere, atributul method al formularului trebuie sa aiba
valoarea POST (nu putem trimite fisiere folosind metoda HTTP GET).
Butonul Submit
<form action="http://www.example.com/subscribe.php">
<p>Subscribe to our email list:</p>
<input type="text" name="email" />
<input type="submit" name="subscribe" value="Subscribe" />
</form>
REZULTAT:
<input>
type=“submit” - butonul submit este utilizat pentru a trimite un formular la server.
name – se poate utiliza atributul ‘name’ dar nu este necesar
value – atributul ‘value’ este utilizat pentru a controla textul afisat pe buton.
Browserele vor afisa butonul submit in diferite moduri. Se poate folosi CSS pentru a controla
modul in care este afisat sau se poate folosi o imagine pentru buton
Butonul Imagine
<form action="http://www.example.com/subscribe.php">
<p>eSubscribe to our email list:</p>
<input type="text" name="email" />
<input type="image" src="images/subscribe.jpg" width="100" height="20" />
</form>
REZULTAT:
<input>
type=”image” – daca se doreste utilizarea unei imagini pentru butonul de submit.
Butonul <button>
<form action="http://www.example.com/add.php">
<button><img src="images/add.gif" alt="add" width="10" height="10" /> Add</button>
</form>
REZULTAT:
<button>
Elementul <button> a fost introdus pentru a acorda userilor un control mai mare asupra modului in care
butoanele sunt afisate cat si pentru a permite altor elemente sa apara in interiorul butonului.
Etichetarea elementelor formularului
<label>
Fiecare element al formularului trebuie sa aiba propriul <label> (astfel formularul este accesibil si
pentru cei cu probleme de vedere).
<form action="http://www.example.org/profile.php">
<label>Age: <input type="text" name="age" /></label> <br/ >
Gender:
<input id="female" type="radio" name="gender" value="f">
<label for="female">Female</label>
<input id="male" type="radio" name="gender" value="m">
<label for="male">Male</label>
</form>
for
• atributul for specifica asupra carui element al formularului se aplica eticheta.
• valoarea atributului for este identica cu valoarea atributului id a elementului formularului
pentru care eticheta este creata.
Gruparea elementelor formularului
<form action="http://www.example.org/profile.php">
<fieldset>
<legend>Contact details</legend>
<label>Email:<br />
<input type="text" name="email" /></label><br />
<label>Mobile:<br />
<input type="text" name="mobile" /></label><br />
<label>Telephone:<br />
<input type="text" name="telephone" /></label>
</fieldset>
</form>
<fieldset>
• diferite elemente ale formularului pot fi grupate prin intermediul unui element <fieldset>.
• Se utilizeaza mai ales la formularele lungi.
<legend>
• elementul <legend> poate fi plasat imediat dupa tagul de deschidere <fieldset>
• contine un titlu care ajuta la identificarea scopului grupului de elemente ale formularului.
HTML 5 – validarea formularelor
Frecvent, formularele pe paginile web afiseaza userilor mesaje daca un element al formularului
nu a fost completat corect. Acesta actiune este cunoscuta sub denumirea de validare a
formularelor.
Traditional, validarea formularelor este realizata prin intermediul JavaScript. Incepand cu HTML 5
o parte din actiunile de validare se realizeaza la nivel de browser.
Prin validare se garanteaza faptul ca informatiile din formular care ajung la server pot fi
interpretate de acesta
REZULTAT:
Un exemplu de validare a formularelor cu HTML 5 este atributul required, care poate fi utilizat
pentru orice element al formularului pe care userul trebuie sa-l completeze
Validarea intrarilor de tip data
<form action="http://www.example.com/bookings/" method="post">
<label for="username">Departure date:</label>
<input type="date" name="depart" />
<input type="submit" value="Submit" />
</form>
REZULTAT
(in Chrome):
Multe formulare trebuie sa colecteze informatii precum date calendaristice, adrese de email si
URL-uri. In mod traditional aceste informatii se introduc in campuri de text.
HTML 5 introduce noi elemente pentru formulare pentru a standardiza modul in care unele
informatii sunt colectate. Browserele care nu recunosc aceste elemente le vor trata ca pe o
singura linie de text.
<form action="http://www.example.org/subscribe.php">
<p>Please enter your email address:</p>
<input type="email" name="email" required="required"/>
<input type="submit" value="Submit" />
</form>
<form action="http://www.example.org/profile.php">
<p>Please enter your website address:</p>
<input type="url" name="website" required="required"/>
<input type="submit" value="Submit" />
</form>
• http://www.w3.org/html/
• http://www.w3schools.com/html/
• http://www.tutorialehtml.com/
• http://ro.wikipedia.org/wiki/HTML5
• http://html5games.com/