I frame sono un elemento di una pagina web che solo usati all'interno di un frameset. Cos'è però un frameset ?
Un frameset è come la divisione di una pagina in più reparti contenenti pagine e documenti diversi; è come la suddivisione di una pagina in altre sue pagine più piccole che sono "ferme" sulla pagina. I frameset sono molte volte utilizzati per avere in ogni pagina o il menù o il titolo del sito per comodità sia della navigazione che della costruzione di esso. Infatti come accade con l'iframe i fari frame che compongono il frameset sono elementi a se che sono uniti in una pagina e un di essi può cambiare contenuto e gli altri rimangono "fermi" come fissi sulla pagina. Un framset può essere immaginato come quando ad esempio sul nostro pc facciamo:
start >> cerca >> e ci appare una finestra suddivisa in due :
in una parte a sinistra dove c'è l'input text ove inserire la parola da cercare , e la parte di destra dove scorre il contenuto e i risultati della ricerca.
Passiamo ora alla costruzione di un frameset.
la struttura più semplice di un frameset è la pagina divisa in due orizzontalmente e si forma così :
codice:
<html>
<head>
<title>Pagina con frame 1</title>
</head>
<frameset rows="*,*">
<frame name="superiore" src="Nuova_pagina_1.htm">
<frame name="inferiore" src="Nuova_pagina_2.htm">
</frameset>
</html>
come si vede dal codice il frameset viene "delimitato" da : <frameset> e </frameset>
- rows="*,*" idica la dimensioni dell'frame
- i frame si "delimitano" a loro volta da : <frame> e </frame>
- Ogni frame che compone il frameset si costituisce così :
codice:
<frame name="superiore" src="Nuova_pagina_6.htm">
dove "name" è il nome, scr="" è il percorso per il contenuto o la pagina del frame.
Per perfezionare il codice bisogna inserire una frase per avvertire un utente che non ha la possibilità o la compatibilità per vedere il frema. A tal proposito si inserisce un tag <noframes> che contiene ciò verrà visualizzato caso non si vedesse il frameset. Il codice completo è :
codice:
<noframes>
<body>
La pagina corrente utilizza i frame.
Questa caratteristica non è
supportata dal browser in uso.</p>
</body>
</noframes>
dove <noframes> e </noframes> delimitano il contenuto della visualizzazione , <body> contiene il corpo del messaggio che verrà mostrato all'utente e poi chiuso </body>.
Vediamo ora un frameset che divide la pagina in verticale :
codice:
<html>
<head>
<title>Nuova pagina 8</title>
</head>
<frameset cols="26%,*">
<frame name="sinistra" src="Nuova_pagina_10.htm">
<frame name="destra" src="Nuova_pagina_9.htm">
<noframes>
<body>
La pagina corrente utilizza i frame.
Questa caratteristica non è
supportata dal browser in uso.</p>
</body>
</noframes>
</frameset>
</html>
Le varie parti del codice sono uguali a quello di prima cambia solo la posizione dei singoli frame .
Proprietà
Per personalizzare un frameset si possono cambiare i colori di sfondo , dei bordi , se permettere o no lo scrolling ...
cambiare il bordo
Per cambiare il colore e le dimensioni del brodo di un frame singolo bisogna inserire nel frameset nel frame che si vuola uno style css :
style="border-left: 1 solid #00FFFF; // bordo sinistro ( spessore - tipo - colore )
border-right: 1 solid #800080; // bordo destro ( spessore - tipo - colore )
border-top: 1 solid #C0C0C0; // brodo in alto ( spessore - tipo - colore )
border-bottom: 1 solid #00FF00" // bordo basso ( spessore - tipo - colore )
>
Distanza e spazio tra due frame di un framset
Bisogna aggiungere alla costruzione del frameset :
codice:
<frameset framespacing="0" border="0"
cols="26%,*" frameborder="0">
Dove framespacing è lo spazio tra i due frame e frameborder e il bordo dei due frames
Permettere o no lo scrolling
Nel singolo frame che compone il frameset inerire :
scrolling="no" // se non si vuole permettere lo scrolling dell'iframe
scrolling="yes" // se si vuole che la scrollbar appaia sempre in ogni caso
scrolling="auto" // se si vuole che la barra appaia solo quando necessario
Piero06