htmlWebLink






Frames ovvero Cornici

I Frames Introdotti a partire dalla versione 2 di NetScape e 3 di Internet Explorer sono oggi un'ottima soluzione per la struttura di un sito più o meno complesso. Essi permettono infatti di suddividere la finestra del browser in sezioni separate ciascuna delle quali può essere aggiornata o contenere dati in modo completamente autonomo rispetto alle altre. Questo mio che state visitando ne è un esempio. Frame principale, il più grande dove visualizzare le varie pagine, di lato invece il frame destinato ad ospitare il menù. Si possono inserire tutti i frames che servono combinandoli nel più svariato dei modi a seconda delle proprie necessità, ho reso bene l'idea ?

<FRAMESET>...</FRAMESET>

L'elemento <FRAMESET> è l'elemento principale possiede due attributi quali ROWS e COLS. Al suo interno può contenere annidati altri elementi quali <FRAMESET>, <FRAME> o <NOFRAME>.

<FRAMESET>
attributi assegnabili:
ROWS
COLS
 

ROWS

L'attributo ROWS raccoglie i valori per l'altezza della riga, questi valori devono essere separati da virgole e possono essere espressi sia in numeri interi che in numeri percentuale, nel primo caso equivalgono al numero di pixel mentre nel secondo caso sono in percentuale delle dimensioni della finestra del browser.

<FRAMESET ROWS="30%, 70%">

L'esempio sopra crea una cornice suddividendo orizzontalmente la finestra in due parti la prima che occupa un 30% delle dimensioni totali lasciado il rimanente 70% alla seconda finestra. Si possono adoperare anche valori numerici senza il simbolo di % percentuale, in questo caso si fa riferimento al numero di pixel dello schermo, queste dimensioni restano tali indipendentemente dalle dimensioni della finestra, vediamo un esempio:

<FRAMESET ROWS="150, 600">

In questo caso pero' forzerei una finestra a dimensioni fisse anche in quei monitor grandi con ampia risoluzione grafica, per evitare questo si possono adoperare i caratteri jolly come asterisco * che significa imposta la massima dimensione rimanente.

<FRAMESET ROWS="150, *">

Così facendo si otterrà un frame orizzontale di dimensione pari a 150 pixel lasciado per il secondo frames tutto lo spazio rimanente qualsiasi esso sia. L'esempio sotto è al solo scopo di rendere l'idea di come avviene la suddivisione.

Frame superiore fisso 150 pixel
Frame inferiore
che varia occupando il rimanente spazio della finestra
 

COLS

L'attributo COLS raccoglie i valori per la larghezza della colonna, questi valori devono essere separati da virgole e possono essere espressi sia in numeri interi che in numeri percentuale, nel primo caso equivalgono al numero di pixel mentre nel secondo caso sono in percentuale delle dimensioni della finestra del browser.

<FRAMESET COLS="25%, 75%">

L'esempio sopra crea una cornice suddividendo verticalmente la finestra in due parti la prima che occupa il 25% delle dimensioni totali lasciado il rimanente 75% alla seconda finestra. Si possono adoperare anche valori numerici senza il simbolo di % percentuale, in questo caso si fa riferimento al numero di pixel dello schermo, queste dimensioni restano tali indipendentemente dalle dimensioni della finestra, vediamo un esempio:

<FRAMESET COLS="150, 600">

In questo caso però avrei due finestre a dimensione fissa anche in quei monitor grandi con ampia risoluzione grafica, per evitare questo si possono adoperare i caratteri jolly come asterisco * che significa imposta la massima dimensione rimanente.

<FRAMESET ROWS="150, *">

Così facendo si otterrà un frame verticale di dimensioni paria a 150 pixel lasciado per il secondo frames tutto lo spazio rimanente qualsiasi esso sia.L'esempio sotto è al solo scopo di rendere l'idea di come avviene la suddivisione.

Frame laterale sinistro fisso 150 pixel Frame laterale destro che varia occupando il rimanente spazio della finestra



 

<FRAME>

L'elemento FRAME definisce le proprietà del frame stesso all'interno di FRAMESET esso ha ben 8 attributi, non necessita del relativo tag /FRAME di chiusura. Vedisamo i suoi attributi:

<FRAME>
attributi assegnabili all'elemento FRAME:
SRC
NAME
MARGINWIDTH
MARGINHEIGHT
SCROLLING
NORESIZE
FRAMEBORDER
FRAMESPACING
 

SRC="url"

L'attributo SRC="url" definisce l'indirizzo del file html che verrà visualizzato nella sezione di frame nel frameset, Sembra complicato ma altro non è che il file html da visualizzare.

<FRAME SRC="nome_file.html">
 

NAME="nome_frame"

L'attributo NAME è di vitale importanza ai fini di un corretto funzionamento, infatti serve per assegnare un nome al frame stesso facendolo diventare bersaglio di collegamenti da altri frames o semplici links tramite l'attributo TARGET, a questo proposito si veda anche la sezione dedicata proprio ai links.Non serve nel caso in cui i collegamenti provengano dallo stesso frame. Se tutto ciò può sembrare complesso a fine pagina un esempio riassuntivo chiarirà meglio il tutto.

<FRAME NAME="TITOLO">
 

MARGINWIDTH="valore"

L'attributo MARGINWIDTH accetta valori in pixel e forza il rientro sui lati destro e sinistro in base a tale valore. Non può essere impostato a zero.

<FRAME MARGINWIDTH="valore">
 

MARGINHEIGHT="valore"

L'attributo MARGINHEIGHT accetta valori in pixel e forza il rientro sui lati superiore e inferiore in base a tale valore. Non può essere impostato a zero.

<FRAME MARGINHEIGHT="valore">
 

SCROLLING="yes|no|auto"

L'attributo SCROLLING serve per il controllo della barra di scorrimento quando il contenuto supera le dimensioni del frame, yes= si alla visualizzazione di questa barra, no= nessuna barra, auto= solo se il contenuto del frame la richiede.

<FRAME SCROLLING="auto">
 

NORESIZE

L'attributo NORESIZE non ha alcun parametro, se impostato evita al frame di essere ridimensionato.

<FRAME NORESIZE>
 

FRAMEBORDER="yes|no"

L'attributo FRAMEBORDER riconosciuto dai soli browser IE serve per far vedere o meno i bordi dei frames, per default si trova a YES quindi impostare no solo nel caso in cui non si voglia ridisegnare il bordo.

<FRAME FRAMEBORDER="no">
 

FRAMESPACING="valore"

L'attributo FRAMESPACING riconosciuto dai soli browser IE serve per impostare spazio aggiuntivo intorno ai frames facendoli sembrare "flottanti" il valore si riferisce al numero di pixel.

<FRAME FRAMESPACING="valore">



 

<NOFRAMES>...</NOFRAMES>

L' elemento NOFRAMES serve per creare un alternativa a quei browser che non supportano i frames. Come detto all'inizio di questo documento non tutti i browser supportano la gestione a frames, conviene creare un'alternativa mettendo delle informazioni fra i tags <NOFRAMES>...</NOFRAMES>

<NOFRAMES>
Spiacente ma il tuo browser non supporta i frames, clicca su questo link per continuare
</NOFRAMES>



 

ESEMPIO

Forse un esempio pratico potrebbe chiarire ogni dubbio, diciamo subito che la struttura di un sito a frames si basa su almeno 3 pagine web, una per dichiarare la struttura stessa e le altre due rispettivamente per almeno due frames.
Ipotizziamo di voler creare un sito simile a questo con un frame laterale per il menu, uno centrale per aprire i vari links ed uno fisso in alto per eventuali sponsor.
Iniziamo con il creare le tre pagine menu.html, home.html e sponsor.html io le ho chiamate così ma qualsiasi altro nome non cambierebbe assolutamente nulla, fatto questo possiamo creare la pagina per i frames che chiamerò index.html Per questa pagina valgono le stesse regole di tutte le altre pagine html, quindi avrà i tags di base quali html body head title meta e tutti gli altri eventuali.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>WebLink Tutto per la tua pagina web </title>
</head>

       
<FRAMESET COLS="20%,80%">

         <FRAME NAME="menu" SRC="menu.html" SCROLLING="auto">

     <FRAMESET COLS="15%,85%">

          <FRAME NAME="sponsor" SRC="sponsor.html" SCROLLING="auto">
          <FRAME NAME="homepage" SRC="home.html" SCROLL ING="auto">

     </FRAMESET>
</FRAMESET>

<body>

<NOFRAMES>
Spiacente il tuo browser non supporta i frames
</NOFRAMES>

</body>
</html>

Il listato sopra produrrà un risultato simile a questo sotto, si noti la struttura nidificata di frameset che crea a sua volta due finestre dalle due precedentemente impostate.

Frame menu Frame Sponsor
Frame Home Page



Andrea Bianchi




Puoi lasciarmi un msg, un suggerimento, una critica.

© Andrea Bianchi 1997-1998-1999-2000