HTML - Les frames
Présentation des frames
Grâce à la technologie des frames (en français "cadres") il est désormais possible
d'afficher plusieurs pages HTML dans différentes zones (ou cadres).
|
Les frames ne font pas partie de la spécification du HTML 3.x,
il faut donc déclarer sa page comme étant écrite
en HTML 4.0 ! |
Créer des frames
Afin de créer un site contenant des cadres, il
suffit de créer un fichier contenant l'agencement des cadres : ce fichier HTML a pour particularité
d'avoir un conteneur <FRAMESET> à la place du jeu de balises <BODY>.
C'est cette balise qui définit les cadres par leur dimension en pixels ou en pourcentage (%).
Voyons ceci sur 3 exemples:
- 2 cadres verticaux
- 2 cadres horizontaux
- 2 cadres horizontaux et un vertical
Exemple n°1
<FRAMESET COLS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="gauche">
<FRAME SRC="frame2.htm" NAME="droite">
</FRAMESET>
Exemple n°2
<FRAMESET ROWS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="haut">
<FRAME SRC="frame2.htm" NAME="bas">
</FRAMESET>
Exemple n°3
<FRAMESET COLS="20%,
80%">
<FRAME SRC="frame1.htm" NAME="gauche">
<FRAMESET ROWS="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 donnant à l'autre la valeur *, la valeur s'ajuste automatiquement |
Cadre horizontal |
Cols |
pourcentage (entre 1 et 100)
valeur en pixels
En fixant une seules des valeurs et en donnant à l'autre la valeur *, la valeur s'ajuste automatiquement |
Cadre vertical |
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 <NOFRAMES> et </NOFRAMES>
permettant de spécifier un texte HTML à afficher en cas de
navigateur ne permettant pas d'afficher les frames. Le texte
entre les balises <NOFRAMES> et </NOFRAMES> 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>
<NOFRAMES>
<BODY>
Cette page HTML nécessite un navigateur supportant les frames,
veuillez nous en excuser.
</BODY>
</NOFRAMES>
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 |
Trucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum