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 ! |
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:
<FRAMESET COLS="20%, 80%"> <FRAME SRC="frame1.php" NAME="gauche"> <FRAME SRC="frame2.php" NAME="droite"> </FRAMESET>
<FRAMESET ROWS="20%, 80%">
<FRAME SRC="frame1.php" NAME="haut">
<FRAME SRC="frame2.php" NAME="bas">
</FRAMESET>
<FRAMESET COLS="20%, 80%">
<FRAME SRC="frame1.php" NAME="gauche">
<FRAMESET ROWS="50%, 50%">
<FRAME SRC="frame2.php" NAME="droit_haut">
<FRAME SRC="frame3.php" NAME="droit_bas">
</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 horizontal |
| 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 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 |
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é) |
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.php" NAME="gauche">
<FRAME SRC="frame2.php" NAME="droite">
</FRAMESET>
<NOFRAMES> <BODY> Cette page HTML nécessite un navigateur supportant les frames, veuillez nous en excuser. </BODY> </NOFRAMES>
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.php" 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 |