Présentation des frames |
Grâce à la technologie des frames il est désormais possible d'afficher plusieurs page HTML dans différentes zones ou cadres (en anglais "frames").
Pour ce faire il faut un fichier qui contiendra l'agencement des cadres, c'est un fichier HTML qui a pour particularité d'avoir sa balise <BODY> remplacée par le conteneur <FRAMESET>. C'est cette balise qui définit les cadres par leur dimension en pixels ou en pourcentage (%).
Voyons ceci sur 3 exemples:
<FRAMESET COLS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="gauche">
<FRAME SRC="frame2.htm" NAME="droite">
</FRAMESET>
<FRAMESET ROWS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="haut">
<FRAME SRC="frame2.htm" NAME="bas">
</FRAMESET>
<FRAMESET ROWS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="gauche">
<FRAMESET COLS="50%, 50%">
<FRAME SRC="frame2.htm"
NAME="droit_haut">
<FRAME SRC="frame3.htm"
NAME="droit_bas">
</FRAMESET>
Les attributs de la balise <FRAMESET> |
Attribut | Valeur | Action |
Rows | pourcentage (entre 1 et 100) valeur en pixels En fixant une seules des valeurs et en laissant l'autre champ libre, la valeur s'ajuste automatiquement |
Cadre vertical |
Cols | pourcentage (entre 1 et 100) valeur en pixels En fixant une seules des valeurs et en laissant l'autre champ libre, la valeur s'ajuste automatiquement |
Cadre horizontal |
Frameborder | YES NO |
Indique si le cadre a une bordure ou non |
Border=n | n est une valeur définissant la taille de la bordure | Indique la taille de la bordure |
Bordercolor | Nom de la couleur Valeur de la couleur en hexadécimal |
Indique la couleur de la bordure |
Framespacing=n | n est une valeur définissant l'espace entre les cadres | Indique l'espace entre les cadres |
Les attributs de la balise <FRAME> |
La balise <FRAME> permet de définir un ou plusieurs cadres au sein de la balise <FRAMESET>
Attribut | Valeur | Action |
Src | URL | Définit l'emplacement de la page à afficher dans le cadre |
Name | "nom" | Définit un nom qui permettra d'afficher un autre document dans le cadre gâce à l'attribut Target |
Marginwidth=n | n est un entier spécifiant le nombre de pixels | Taille des marges latérales |
Marginheight=n | n est un entier spécifiant le nombre de pixels | Taille des marges du haut et du bas |
Frameborder | YES NO |
Détermine si les cadres auront ou non une bordure |
Border=n | n est un entier spécifiant le nombre de pixels | Taille de l'espace entre les cadres (uniquement pour Netscape) |
Noresize | (Aucune) | Interdit à l'utilisateur de redimensionner les cadres (Ce n'est pas la valeur par défaut) |
Scrolling | YES NO AUTO |
Permet ou non l'affichage d'une barre de défilement (Auto laisse le navigateur décider de son utilité) |
Comment éviter les erreurs avec les navigateurs non compatibles? |
On utilisera les balises <NOFRAME> et </NOFRAME> permettant de spécifier un texte HTML à afficher en cas de navigateur ne permettant pas d'afficher les frames. Le texte entre les balises <NOFRAME> et </NOFRAME> doit donc contenir les balises <BODY> ... </BODY>.
Exemple:
<FRAMESET COLS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="gauche">
<FRAME SRC="frame2.htm" NAME="droite">
</FRAMESET>
<NOFRAME>
<BODY>
Cette page HTML nécessite un navigateur supportant les frames,
veuillez nous en excusez
</BODY>
</NOFRAME>
Désigner un cadre avec un lien hypertexte |
Pour faire afficher des liens dans un des cadres, il suffit d'utiliser l'attribut target dans la balise <A HREF ..> pour spécifier le nom du cadre qui a été spécifié dans la balise <FRAME> par l'attribut NAME.
Par exemple: <A HREF="page.htm" TARGET="gauche">
Valeur | Action |
_self | Affiche la cible dans le même cadre que le lien |
_parent | Affiche la cible dans le cadre de niveau supérieur |
_blank | Affiche la cible dans une nouvelle fenêtre |
_top | Affiche la cible dans la fenêtre entière du navigateur |