Le langage Html

Quoi de plus simple que les frames? Mais aussi quoi de plus délicat
et dangereux (risque de plantage) que les frames? En outre, tous les
browsers n'ont pas la possibilité de les afficher.
Pour diviser l'écran en plusieurs fenêtres, les balises sont peu
nombreuses :
Zone avec des fenêtres |
<FRAMESET>
</FRAMESET> |
Début de zone avec des fenêtres
Fin de zone avec des fenêtres |
Agencement des
fenêtres |
<FRAMESET ROWS="...">
<FRAMESET COLS="...">
|
Fenêtres horizontales
Fenêtres verticales |

Il est impératif de travailler
avec des exemples. Pour obtenir un agencement ainsi :

Il faut employer les balises suivantes :
<HTML>
<HEAD></HEAD>
<FRAMESET ROWS="30%,70%">
<FRAME>
<FRAME>
</FRAMESET>
</HTML>
|
Attention!
<FRAMESET></FRAMESET>
remplace
<BODY></BODY>
|
L'attribut ROWS="hauteur1,hauteur2,...,hauteurN"
définit la hauteur des différentes fenêtres en cas de division
horizontale.
La hauteur s'exprime en pixels ou en %. Dans ce cas, on veillera à ce
que le total soit égal à100%; |
Le même pour un agencement
vertical
<FRAMESET COLS="30%,70%">
<FRAME>
<FRAME>
</FRAMESET>

L'attribut COLS="largeur1,largeur2,...,largeurN"
définit la largeur des différentes fenêtres en cas de division
verticale
La hauteur s'exprime en pixels ou en %. Dans ce cas, on veillera à ce
que le total soit égal à100%; |
On peut mélanger les deux :
<FRAMESET ROWS="30%,70%">
<FRAME>
 <FRAMESET COLS="30%,70%">
 <FRAME>
 <FRAME>
 </FRAMESET>
</FRAMESET>


 |
Pour l'instant, nos frames sont
vides. On va donc leur donner à manger par des attributs de la balise
<FRAME>. |
SRC="URL" |
adresse du document à afficher dans la
fenêtre |
 |
On construit 3 fichiers Html élémentaires que l'on place dans
le même répertoire que le fichier de frames. |
A.htm |
B.htm |
C.htm |
<HTML><BODY>
<H4>A</H4>
</BODY></HTML> |
<HTML><BODY>
<H1>B</H1>
</BODY></HTML> |
<HTML><BODY>
<H1>C</H1>
</BODY></HTML> |
On reprend le fichier de frame précédent que
l'on complète.
<FRAMESET ROWS="30%,70%">
<FRAME SRC="A.htm">
<FRAMEST COLS="30%,70%">
<FRAME SRC="B.htm">
<FRAME SRC="C.htm">
</FRAMESET>
</FRAMESET>


 |
Les ascenseurs, comme à la fenêtre
A, apparaissent automatiquement. Par l'attribut de la balise <FRAME>
SCROLLING="yes/no/auto"
vous pouvez indiquer si la fenêtre doit ou non posséder une
barre de défilement. |

 |
Un autre attribut de cette balise <FRAME>
est NAME="NOM". Name indique le nom de
la fenêtre de telle sorte que cette frame puisse être utilisée comme
cible d'un lien hypertexte.
Ainsi, je voudrais faire un lien sur B pour afficher le contenu
de ce lien (prenons le fichier a.htm pour éviter de l'encodage) dans
C.
Le fichier de frames devient :
<FRAMESET ROWS="30%,70%">
<FRAME SRC="A.htm">
 <FRAMESET COLS="30%,70%">
 <FRAME SRC="B.htm">
 <FRAME SRC="C.htm"
NAME="fenetreC">
 </FRAMESET>
</FRAMESET>
Et on met un lien vers A.htm dans le fichier B.htm en désignant
comme cible [target] la frame C.
<HTML><BODY>
<A HREF="A.htm" TARGET="fenetreC"><H1>B</H1></A>
</BODY></HTML>
L'attribut TARGET peut aussi prendre certaines valeurs
prédéfinies :
- _blank qui indique au browser
qu'il doit créer une nouvelle fenêtre afin d'y afficher le fichier.
Dans ce cas, vous ouvrer en fait un nouveau browser.
- _self qui indique que le
fichier sera chargé dans la même fenêtre que celle dans laquelle se
trouve le lien.
- _top qui implique l'affichage
du fichier sur toute la surface de la fenêtre du browser.
VERIFIEZ TOUJOURS VOS DIFFERENTS LIENS AVEC DES FRAMES.
Vous éviterez ainsi que votre beau site ne devienne rapidement une
"soupe". |

 |
Par défaut, les cadres sont séparés
par des bordures. Il est possible de supprimer ces bordures mais les
attributs à utiliser diffèrent selon Netscape ou Internet Explorer.
Netscape utilise l'attribut "border=0" et Explorer, les attributs "frameborder=no"
et "framespacing=0" (pour enlever l'espace entre les cadres). Le tout
cohabite sans problème. La balise devient alors par exemple :
<FRAMESET COLS="30%,70%" border=0 frameborder=no
framespacing=0> |

 |
Il y a pour terminer la balise
<NOFRAMES>...</NOFRAMES> qui est
utilisée pour indiquer le texte que doivent afficher les browsers
incapables de gérer les frames. Il est même indiqué de prévoir une
page sans fenêtres pour que ces visiteurs puissent profiter
quand-même de votre site. |

|