Sunteți pe pagina 1din 5

Tag-ul FRAMESET

Cand frame-urile au fost pentru prima data introduse pe Netscape 2 si IE 2.1, ele au fost criticate ca
fiind urate si greu de manevrat. De atunci, implementarea frame-urilor a evoluat si astazi un frameset
bine folosit iti poate face site-ul mai atractiv si mai usor de navigat. Ca exemplu, un site poate folosi
un frame pentru meniu, urmand ca paginile catre care redirecteaza aceste linkuri sa fie afisate intr-un
frame mai mare. Frame-ul de navigare va ramane acelasi, in timp ce continutul paginii va aparea in
frame-ul principal. Frame-urile pot fi utilizate si pentru a pozitiona elementele grafice pe pagina.

Tag-urile FRAME si FRAMESET


Cele doua tag-uri folosite pentru a crea frame-uri sunt <FRAMESET> si <FRAME>. Primul dintre
acestea, <FRAMESET>, este plasat in partea de sus a paginii, unde ai folosi in mod normal tag-ul
<BODY>. Cel de-al doilea tag, <FRAME>, este folosit pentru a specifica fiecare frame din frameset.
In plus, poti avea mai multe tag-uri <FRAMESET> unul intr-altul. Pentru a simplifica lucrurile, nu
vom analiza sintaxa tag-urilor <FRAMESET> si <FRAME> , ci doar optiunile cel mai des folosite. Sa
vedem mai intai cum poate fi utilizat tag-ul <FRAMESET>:

<FRAMESET rows|cols="a,b,c,..." border=n frameborder="1|0" framespacing=n>


.
.
.
</FRAMESET>

OBS: Toate atributele sunt optionale in afara de rows si cols. Primul atribut, rows sau cols, specifica
daca frame-urile sunt aranjate ca linii sau coloane. (Pentru a crea un frameset ce contine atat linii cat
si coloane, trebuie sa ai unul sau mai multe tag-uri <FRAMESET> incluse in frameset-ul principal).
De asemenea, atributele rows si cols iti permit sa specifici acele linii sau coloane care vor aparea in
frameset. Fiecare dintre aceste linii sau coloane este precizata pe rand, ele fiind separate prin virgula.
Forma sub care vor aparea valorile poate fi:

n Inaltimea /Latimea randului/coloanei este de n


pixeli.

n% Randul/coloana reprezinta n% din


latimea/inaltimea frame-ului sau ferestrei.

* Randul/coloana va cuprinde tot spatiul disponibil.

n* Randul/coloana va cuprinde de n ori mai mult


spatiu decat randul, respectiv coloana, care au
fost definite cu *
Atributul border (doar in Netscape!) iti permite sa specifici latimea marginilor dintre frame-uri (in
pixeli). Valoarea sa predefinita este de 5 pixeli. Cu atributul frameborder poti alege ca frame-urile sa
aiba sau nu border. Aceasta optiune iti permite sa realizezi frame-uri fara border (frameborder=0),
dar nu va functiona intotdeauna, deoarece unele browsere au setari aditionale care vor lasa spatii intre
frame-uri. Pentru a fi sigur, specifica border=0, frameborder=0 SI framespacing=0. Prin atributul
framespacing (doar in IE !), poti alege distanta (in pixeli) dintre frame-uri. Acest atribut este de fapt
acelasi cu atributul border din Netscape. Sintaxa tag-ului <FRAME> este urmatoarea:

<FRAME src="sursa" name="nume" scrolling="yes|no|auto" frameborder="1|0"


noresize marginwidth="n" marginheight="n">
.
.
.
</FRAME>

OBS: Toate atributele sunt optionale.

Atribut Descriere
Cuprinde continutul frame-ului, de obicei o pagina HTML. Ca
exemplu, <FRAME src="pag.html"> va crea un frame ce
src
afiseaza pagina pag.html. Este bine sa precizezi sursa pentru
fiecare frame, chiar daca nu este obligatoriu.
Asociaza un nume fiecarui frame din frameset. El devine necesar
name atunci cand dorim ca un link dintr-un frame sa fie deschis in alt
frame. Exemplu: <FRAME name="main">.
Selecteaza daca frame-ul va avea sau nu bara de scroll. Valorile
pe care le poate lua sunt: yes (frame-ul va avea scroll), no
scrolling
(frame-ul nu va avea scroll), auto (frame-ul va avea scroll daca
are un continut prea mare pentru a fi vazut fara scroll).
Functioneaza la fel ca echivalentul sau din tag-ul FRAMESET si iti
frameborder permite sa alegi daca frame-ul respectiv va avea sau nu border.
Exemplu: frameborder=0
Daca este prezent, acest atribut inseamna ca utilizatorul nu poate
noresize
schimba dimensiunea frame-ului prin click si drag cu mouse-ul.
Controleaza cat spatiu(in pixeli) va aparea intre marginile si
marginwidth
continutul frame-ului. Daca nu specifici o valoare, vor fi folosite
si
valorile predefinite (aproximativ 10 pixeli), dar acestea difera de
marginheight
la un browser la altul.

Pentru a intelege mai bine cum functioneaza tag-urile <FRAMESET> si <FRAME>, poti studia
exemplele de frameset-uri de la sfarsitul acestui tutorial.
Linkuri intre frame-uri
De multe ori vei dori ca un link dintr-un frame sa deschida un fisier in alt frame. De exemplu, un
frame poate contine meniul site-ului, urmand ca link-urile din acest meniu sa fie deschise intr-un
frame mai mare. Pentru aceasta, trebuie sa adaugi atributul target in tag-ul <A>, pentru a specifica
numele frame-ului in care vrei sa se deschida pagina corespunzatoare unui link. Sa presupunem ca
avem un frameset ce contine doua frame-uri, denumite main si meniu. Frame-ul meniu are ca sursa
fisierul meniu.html (src=”meniu.html”) . In pagina meniu.html avem un link spre servicii.html si
vrem ca acest fisier sa fie deschis in frame-ul main:

<A HREF="servicii.html" TARGET="main">Servicii</A>

Acest link, plasat in pagina meniu.html, va deschide pagina servicii.html in frame-ul main. Exista
cateva valori speciale ce pot fi utilizate pentru atributul TARGET. Acestea sunt:

_parent Pagina va fi deschisa in frameset-ul ce contine frame-ul curent.


_top Pagina va inlocui frameset-ul aflat cel mai sus, ocupand toata fereastra
browserului. Aceasta valoare este in mod uzual folosita pentru a inlocui
un frameset cu un altul.
_blank Pagina va fi deschisa intr-o fereastra noua a browserului.
_self Pagina se va deschide in acelasi frame in care se afla link-ul. Aceasta
reprezinta valoarea predefinita (default) pentru atributul TARGET.
Pentru a schimba valoarea default, specifica <BASE
target="nume_frame"> in tag-ul <HEAD> al paginii.

Linkuri spre alte site-uri


Cand in frameset ai linkuri catre alte site-uri , este bine ca paginile externe sa fie incarcate in fereastra
principala a browserului (target="_top") sau intr-o fereastra noua (target="_blank"). Ca o
alternativa, poti specifica un nume care nu este rezervat si nu este numele unuia dintre frame-urile
folosite. Acesta va afisa pagina intr-o fereastra noua, dar alte pagini care vor fi deschise de pe site-ul
tau vor aparea in aceeasi fereastra (daca utilizatorul nu inchide fereastra). Daca folosesti _blank,
fiecare pagina va aparea intr-o fereastra noua.

Browserele care nu folosesc frame-uri


Este indicat sa ai o pagina rezervata ca alternativa pentru browserele care nu recunosc frame-urile.
Daca aceasta nu exista, browserele mai vechi vor afisa doar o pagina goala.Pentru a include o pagina
ca alternativa, foloseste tag-urile <noframes> si </noframes> inainte de tag-ul </frameset> .
Browserele care recunosc frame-urile vor ignora codul dintre aceste tag-uri, in timp ce browserele mai
vechi vor afisa continutul. De exemplu:
...
<NOFRAMES>
<center>
<b> Continutul paginii pentru browserele care
nu recunosc frame-urile
</b>
</center>
</NOFRAMES>
</FRAMESET>

Exemple de frameset-uri:
1. Frameset cu meniu in partea stanga. Acesta este un frameset destul de comun, pagina fiind
impartita in doua coloane. Coloana din stanga este mai ingusta si contine de obicei un meniu cu link-
uri care vor fi deschise in partea dreapta. Aceasta inseamna ca tot continutul site-ului va fi afisat
folosind link-urile din acest meniu.

<html>
<head>
<title>Primul exemplu</title>
</head>
<frameset cols="135,648*" frameborder="YES" border="5"
framespacing="5" rows="*" bordercolor="#B1B09E">
<frame name="leftFrame" scrolling="NO" noresize src="leftfr.htm">
<frame name="mainFrame" src="mainfr.htm">
</frameset>
<noframes>
<body bgcolor="#FFFFFF"></body>
</noframes>
</html>

2. Frameset-uri incluse unul intr-altul. Pentru a crea o pagina cu 3 frame-uri trebuie sa avem doua
frameset-uri din care unul sa fie inclus in celalalt.

<html>
<head>
<title>Al doilea exemplu</title>
</head>
<frameset rows="*" cols="180,*" framespacing="2"
frameborder="yes" border="2">
<frame src="stanga.htm" name="leftFrame" scrolling="NO" noresize>
<frameset rows="*,44" cols="*" framespacing="2" frameborder="no"
border="2">
<frame src="sus.htm" name="mainFrame" scrolling="yes">
<frame src="jos.htm" name="bottomFrame" scrolling="NO"
noresize>
</frameset>
</frameset>
<noframes>
<body></body>
</noframes>
</html>

S-ar putea să vă placă și