Structura unui document HTML. Notiuni de baza.
1.1 Ce este HTML?
HTML (HyperText Markup Language) a fost dezvoltat initial de Tim
Berners-Lee in anul 1989, ca urmare a necesitatii de publicare a informatiilor la nivel global. Pe parcursul anilor,
limbajul a evoluat (HTML 3.0, HTML 3.2, HTML 4 si cel
mai recent HTML 4.01), fiecare versiune oferind noi facilitati.
Se remarca cateva trasaturi cum ar fi:
- independenta de platforma
(modul de afisare al unui document este acelasi, indiferent de computerul
pe care se realizeaza afisarea);
- structurarea formatarii;
- posibilitatile
hypertext (orice cuvant, imagine sau alt element al documentului
vizualizat de utilizator poate face referinta la un alt document, ceea ce
usureaza navigarea in cadrul aceluiasi document sau intre documente
diferite).
HTML este
un limbaj simplu, compus din coduri speciale (marcaje) care se insereaza
intr-un text pentru a adauga informatii despre formatare. Este derivat din SGML
(Standard Generalized Markup Language), un sistem
pentru definirea tipurilor de documente structurate, destinat sa reprezinte
instante ale acestor tipuri de documente. La baza SGML si a HTML
se afla acelasi principiu: descrierea continutului unui document se face
intr-un fisier text obisnuit (ASCII). S-a urmarit ca aceste fisiere sa fie editabile cu aplicatii software nepretentioase (ex.
NotePad, WordPad).
In cadrul unui document HTML, un marcaj (tag, in limba engleza) va avea
forma <nume_marcaj> .
Parantezele unghiulare sunt elementele care indica prezenta
unui marcaj; numele marcajelor poate fi scris oricum, limbajul nefiind senzitiv
la literele mari/mici (case sensitive). Unele marcaje permit utilizarea
unor atribute care se vor scrie in marcajul de inceput:
<nume_marcaj optiune1=valoare1 optiune2=valoare2
>
.
</nume_marcaj>
|
Exista doua tipuri de
marcaje:
- individuale (ex. <br>)
- perechi (ex. <p></p>) - de mentionat ca sfarsitul
unui marcaj este indicat prin utilizarea caracterului '/' in fata numelui
de marcaj
In functie de modul de formatare a paginii, avem marcaje de tip:
- block: este afisat sub elementul anterior (ex. <p>)
- inline: este afisat dupa elementul anterior (ex. <span>)
- table: este afisat sub forma unui tabel
Marcajele perechi pot fi imbricate:
<nume_marcaj1>
<nume_marcaj2>
.
</nume_marcaj2>
</nume_marcaj1>
|
|
|
Browserele vor ignora marcajele si optiunile pe care nu le recunosc.
1.2 Structura unui document HTML
Un document HTML 4 are urmatoare structura:
- o linie continand versiunea
HTML
- sectiunea HEAD, delimitata de
marcajele <HEAD> </HEAD>
- sectiunea BODY, delimitata de
marcajele <BODY> </BODY> sau <FRAMESET> </FRAMESET>
|
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'https://www.w3.org/TR/html4/strict.dtd'> <html> <head> <title>Prima mea pagina web</title> </head> <body> .. </body> </html> |
|
|
Un document HTML valid contine declaratia versiunii
HTML utilizate. Declaratia se face prin intermediul DTD (document type
definition). Pe scurt, fisierul DTD contine definitiile
marcajelor din versiunea respectiva de HTML.
HTML 4.01 specifica 3 variante DTD :
- HTML 4.01 Strict DTD
include toate elementele si atributele care nu sunt 'invechite'
(elemente si atribute a caror utilizare nu este
recomandata deoarece se doreste renuntarea la acestea pe viitor) sau care
nu apar in documentele ce contin cadre.
- HTML 4.01 Transitional DTD
include Strict DTD plus elementele si atributele
'invechite'.
- HTML 4.01 Frameset DTD
include Transitional DTD plus cadrele (frames).
HTML 4.01 Strict DTD
|
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML
4.01//EN' 'https://www.w3.org/TR/html4/strict.dtd'>
|
HTML 4.01 Transitional DTD
|
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01
Transitional//EN' 'https://www.w3.org/TR/html4/loose.dtd'>
|
HTML 4.01 Frameset DTD
|
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01
Frameset//EN' 'https://www.w3.org/TR/html4/frameset.dtd'>
|
1.2.1 Sectiunea HEAD
Cuprinde informatii care nu vor fi afisate in browser, cu exceptia
marcajului <title>.
Marcajul <title> este obligatoriu si
poate apare doar in sectiunea HEAD. El va
contine un titlu relevant pentru pagina, fiind deosebit de important pentru
motoarele de cautare.
Alte marcaje care apar in sectiune HEAD:
- <META> - poate
contine cuvinte cheie, o descriere a paginii, numele autorului paginii, frecventa
(teoretica) cu care motoarele de cautare ar trebui sa reindexeze pagina,
etc. Declaratiile META implica in general declararea unei proprietati si a
valorii asociate acelei proprietati.
<META
NAME='nume' CONTENT='continut'>
Declararea setului de caractere se face astfel:
<META
http-equiv='Content-Type' content='text/html;
charset=set_caractere'>
|
Precizarea setului de caractere face posibila afisarea in browserul
utilizatorului a caracterelor specifice unor limbi precum romana, rusa,
araba, etc.
|
|
- <style>-
cascading style sheets - stiluri pentru formatarea textului din documentul
HTML.
<style type='text/css'></style>
- <script> - scripturi
JavaScript sau VBScript
<script language='JavaScript1.2'
type='text/javascript' src='lib.js'></script>
- <base>
- stabileste URL-ul de 'baza' al documentului. Toate referintele
(<a href=''></a>, respectiv <img
src=''>) din documentul respectiv vor fi deschise relativ
la marcajul <base>.
<head>
<base href='https://www.xprim.ro/index.php'
target='_top'>
</head>
- <link>
- stabileste o legatura cu un document extern, spre exemplu un fisier de
definitii CSS.
<link rel='stylesheet'
href='stiluri.css' type='text/css'>
|
Sectiunea HEAD a unui document HTML poate arata in
felul urmator:
<head> <title>Titlul paginii mele</title> <META http-equiv='Content-Type' content='text/html; charset=windows-1250'> <META name='author' content='Popescu Ion'> <META name='copyright' content=' 2003 InsideMedia'> <META name='keywords' content='curs, html, gratuit, elearning'> <link rel='stylesheet' href='stiluri.css' type='text/css'> </head> |
|
|
1.2.2 Sectiunea BODY
Este inclusa intre marcajele <body> </body>
<BODY [ BACKGROUND='adresa_imagine']
[ BGCOLOR='#rrggbb'|'culoare'] [
TEXT='#rrggbb'|'culoare'] [
LINK='#rrggbb'|'culoare'] [
VLINK='#rrggbb'|'culoare'] [
ALINK='#rrggbb'|'culoare'] [ LEFTMARGIN=marg_st] [
TOPMARGIN=marg_top]>
.
continut document
..
</BODY>
Marcajul de sfarsit (</BODY>) nu este
obligatoriu
In sectiunea BODY se gaseste informatia care va
fi afisata in browser (text, imagini, etc.) (<body>.
</body>).
|
LEFTMARGIN si TOPMARGIN sunt extensii Microsoft (nu
functioneaza decat in Internet Explorer 3+).
- LEFTMARGIN
precizeaza, in pixeli, marginea stanga a documentului (distanta
dintre fereastra si continutul documentului);
- TOPMARGIN
precizeaza, in pixeli, marginea de sus a documentului (distanta
dintre fereastra si continutul documentului)
|
|
|
Ca in orice limbaj de programare in HTML exista
posibilitatea de a introduce comentarii, folosind marcajul
<!-- . textul
comentariului -->
|
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'https://www.w3.org/TR/html4/strict.dtd'> <html> <head> <title>Titlul paginii mele</title> <META http-equiv='Content-Type' content='text/html; charset=windows-1250'> <META name='author' content='Popescu Ion'> <META name='copyright' content=' 2003 InsideMedia'> <META name='keywords' content='curs, html, gratuit, elearning'> <link rel='stylesheet' href='stiluri.css' type='text/css'> </head> <body bgcolor='#999999' leftmargin=0 topmargin=0> <!--Aceasta linie nu va fi afisata in browser --> <p>text text text text text text text text text text </p> <p>alt text alt text alt text alt text alt text </p> </body> </html> |
|
|
In exemplul de mai sus a aparut un nou marcaj <p>
(paragraf). Alaturi de el trebuie mentionate marcajele <h1>,
<h2>, <h3>, <h4>, <h5>, <h6> (headings -
toate necesita marcaj de inchidere) care sunt folosite in general pentru
evidentierea titlurilor. (exemplu)
Pentru formatarea textului pot fi folosite si marcajele:
- <b></b>
- caractere ingrosate
- <i></i>
- caractere inclinate
- <u></u>
- caractere subliniate
- <s></s>
- caractere 'taiate'
- <pre></pre>
- marcajul de informatie preformatata
- conserva toata
caracterele si spatierile de linii
- utilizeaza un font
diferit (Courier)
- <sup></sup>
- exponent
- <sub></sub>
- indice
- <br> -
'rupe' textul, trecand pe o linie noua - poate apare oriunde in
text
- <hr> - traseaza
o linie subtire orizontala
Acest exemplu evidentieaza efectele marcajelor
mentionate mai sus.
Marcajul <font></font> ofera posibilitatea modificarii
dimensiunii, culorii si a tipului de font utilizat (exemplu)
Ultimele 2 marcaje asupra carora ne vom opri in aceasta lectie sunt
marcajele <span> si <div>(ambele necesita marcaj de
inchidere):.
- <span>
este un marcaj de tip 'inline'. Se foloseste in general in
interiorul marcajelor de tip 'block' (ex. <p>) in
combinatie cu stilurile CSS, pentru a impune o formatare diferita de
restul continutului din marcajul 'block' respectiv (exemplu).
- spre
deosebire de <span>, marcajul <div> este de tip
'block'. Se foloseste in general pentru pozitionare in cadrul
documentului si pentru specificarea unor proprietati CSS care sa fie aplicate textului din interiorul lui (exemplu).
<DIV [ ALIGN='left|center|right']
style='..'>
</DIV>
|
- Conform
specificatiilor HTML 4.01, este recomandata
folosirea marcajului <div> pentru centrarea textului,
in locul marcajului <center> exemplu.
- <div> poate fi folosit ca un container
pentru alte elemente de tip 'block'.
Exemplu: se pot include 2 sau mai multe paragrafe intr-un
marcaj <div>, insa pentru a se evita formatarea
explicita pe fiecare paragraf in parte (ex. fontul), se va defini
stilul de formatare pentru marcajul <div>, stil care va
fi preluat de paragrafele mentionate.
|
|
|
|
- Vizualizeaza
sursele exemplelor si comenteaza-le in seminarul online
- Realizeaza o
pagina HTML (folosind NotePad) care sa
includa toate marcajele prezentate in aceasta lectie. Valideaza
pagina la adresa https://validator.w3.org/
|
|
|