: | hauteur de la sous-zone en pixels. | |
: | hauteur de la sous-zone exprimée en % de la taille de la zone mère. | |
* | : | la hauteur de la sous-zone occupe la taille disponible restante dans la zone mère. Si plusieurs sous-zones utilisent ce format, la taille disponible est répartie équitablement. |
: | ne s'utilise que lorsque la taille d'au moins une sous-zone a été définie
avec le format *. Ceci indique alors que la sous-zone doit recevoir une proportion |
ZONE 1 |
---|
ZONE 2 |
ZONE 3 |
correspond au code suivant:
<FRAMESET ROWS="40%,40%,20%"> ... </FRAMESET>ou
<FRAMESET ROWS="2*,*,*"> ... </FRAMESET>Entre les balises <FRAMESET> et </FRAMESET>, il faut insérer, pour chaque sous-zone définie, la balise <FRAME> permettant de rattacher la sous-zone à un document. Cette balise accepte six attributs:
SRC="URL" | : | indique l'emplacement du document devant être affiché dans la zone. |
NAME="NOM" | : | donne un nom à la frame afin qu'elle puisse devenir la cible d'un lien hypertexte. |
MARGINWIDTH="n" | : | espace en pixels entre les frontières gauches et droites de la zone et le document HTML à afficher. |
MARGINHEIGHT="n" | : | espace en pixels entre les frontières hautes et basses de la zone et le document HTML à afficher. |
SCROLLING="YES|NO|AUTO" | : | indique si la zone doit posséder une barre de défilement, ou si ce choix est géré automatiquement par le browser. |
NORESIZE | : | indique au browser qu'il doit inhiber la possibilité de redéfinir la taille de la zone à l'aide de la souris. |
Une autre balise peut s'insérer entre les définitions de <FRAMESET> et </FRAMESET>, la balise <NOFRAMES>. Tout ce qui se trouve entre <NOFRAMES> et </NOFRAMES> sera affiché à la place des frames si le browser ne gère pas ces dernières (ce qui est de plus en plus rare).
10.2. Imbrication de frames
Il est possible d'imbriquer les balises <FRAMESET> afin de diviser une fenêtre en
un ensemble de lignes et de colonnes.
Exemple: Le découpage suivant
ZONE 1 | ||
---|---|---|
ZONE 2.1 | ZONE 2.2 | ZONE 2.3 |
est obtenu par:
<FRAMESET ROWS="75%,25%"> <FRAME SRC="fic1.html" NAME="haut"> <FRAMESET COLS="*,*,*"> <FRAME SRC="fic2.html" NAME="basgauche"> <FRAME SRC="fic3.html" NAME="basmilieu"> <FRAME SRC="fic4.html" NAME="basdroite"> </FRAMESET> <NOFRAMES> Votre browser ne gère pas les frames ! </NOFRAMES> </FRAMESET>Il est déconseillé d'utiliser cette méthode. En effet, dans ce cas, si on veut afficher un document dans la zone inférieure, il faut absolument le faire dans l'une des 3 sous-zones disponibles, il est impossible de le faire dans la zone inférieure complète. C'est pourquoi, il est préférable de décrire la structure ci-dessus en 2 étapes:
<FRAMESET ROWS="75%,25%"> <FRAME SRC="fic1.html" NAME="haut"> <FRAME SRC="zonebas.html" NAME="bas"> </FRAMESET>2. Le fichier zonebas.html contient alors la description des trois sous-zones:
<FRAMESET COLS="*,*,*"> <FRAME SRC="fic21.html" NAME="basdroite"> <FRAME SRC="fic22.html" NAME="basmilieu"> <FRAME SRC="fic23.html" NAME="basgauche"> </FRAMESET>Avec cette description, on possède un contrôle total sur le découpage de la fenêtre. Un document peut occuper entièrement la zone inférieure (car elle possède maintenant un nom) ou bien l'une des trois sous-zones qui la composent.
10.3. Activation d'une zone via un lien hypertexte
Avec l'utilisation des frames, la balise <A HREF="URL"> accepte l'attribut
TARGET qui permet de spécifier le nom de la zone devant recevoir le document
correspondant au lien.
Exemple: <A HREF="test.html" TARGET="basgauche">
permet avec la structure définie précédemment d'afficher le contenu du fichier
test.html dans la fenêtre inférieure gauche du browser. Deux autres cas sont
à considérer:
a) l'attribut TARGET a une valeur qui ne correspond à aucune des frames existantes. Le browser ouvre alors une nouvelle fenêtre et y affiche le document. Cette fenêtre est considérée comme une frame dont le nom est la valeur de l'attribut TARGET.
b) l'attribut TARGET prend l'une des valeurs prédéfinies suivantes:
_blank | : | le browser crée une nouvelle fenêtre sans nom. |
_self | : | le document est chargé dans la même zone que celle dans laquelle se trouve le lien. |
_top | : | le browser supprime toute la hiérarchie des frames existantes et le document occupe toute la surface du browser. |
_parent | : | affiche le document dans la zone mère de la frame dans laquelle se trouve le lien. |