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