Les frames
Les frames sont "deprecated" en XHTML. En outre, elles engendrent des bugs au niveau de l'indexation des moteurs de
recherche. Il est conseillé de ne pas les utiliser pour votre site.
Les frames sont très simples tout en étant très compliquées. En effet, les codes sont élémentaires mais la moindre petite erreur sera fatale pour celles-ci.
Pour faire ces frames, les balises sont peu nombreuses:
<FRAMESET>...</FRAMESET>: début et fin de zone de frames.
:<FRAMESET>...</FRAMESET> remplace <BODY>...</BODY>.
<FRAMESET ROWS> : frame horizontale
<FRAMESET COLS> :frame verticale
Pour obtenir ceci:

il faut employer les balises suivantes:
<HTML><HEAD>
<TITLE>Page de frames</TITLE>
</HEAD>
<FRAMESET ROWS="30%, 70%">
<FRAME>
<FRAME>
</FRAMESET>
</HTML>
Les pourcentages expriment la taille des fenêtres. Le total des deux nombres devra, bien évidemment être 100.
Si on désire
insérer une frame verticale et une frame horizontale, on emploiera la balise suivante:
<HTML><HEAD>
<TITLE>Page de frames</TITLE>
</HEAD>
<FRAMESET ROWS="30%, 70%">
<FRAME>
<FRAMESET COLS="30%,
70%">
<FRAME>
<FRAME>
</FRAMESET>
</FRAMESET></HTML>

Nous allons maintenant remplir ces frames.
Il est important de savoir qu'il est impossible d'y écrire. Une frame affiche un autre fichier et c'est tout. Exemple: on crée 3 fichiers:
A.html
<HTML> <HEAD>
</HEAD><BODY>
A
</BODY> </HTML>
B.html
<HTML> <HEAD>
</HEAD> <BODY>
B
</BODY> </HTML>
C.html
<HTML> <HEAD>
</HEAD> <BODY>
C
</BODY></HTML>
Reprenons ensuite nos frames.
Le fichier devient ceci:
<HTML>
<HEAD><TITLE>Page de frames</TITLE>
</HEAD>
<FRAMESET ROWS="30%, 70%">
<FRAME SRC="A.html">
<FRAMESET COLS="30%,
70%">
<FRAME SRC="B.html">
<FRAME SRC="C.html">
</FRAMESET>
</FRAMESET>
;</HTML>
Voici le résultat:

Une autre
particularité de la frame est la balise "NAME" qui permet de la nommer. Quel en est l'intérêt? Tout simplement de réaliser des ascenseurs.
Exemple: si je mets un lien dans B, la nouvelle page s'affichera dans la frame B. Mais si je veux que le lien B ouvre le ficher A dans la frame C, voici ce
qu'il faut rajouter:
<HTML>
<HEAD><TITLE>Page de frames</TITLE>
</HEAD>
<FRAMESET ROWS="30%, 70%">
<FRAME SRC="A.html">
<FRAMESET COLS="30%,70%">
<FRAME SRC="B.html">
<FRAME SRC="C.html"
<font color="red">NAME="frameC"></font>
</FRAMESET>
</FRAMESET></HTML>
Et dans le fichier B.html, nous indiquons ceci:
<HTML> <HEAD>
</HEAD> <BODY>
<A HREF="A.html" target="frameC">B
</BODY> </HTML>

<NOFRAMES>...</NOFRAMES>:balise prévue pour faire ignorer les frames aux browsers qui ne les comprennent pas. Vous n'aurez
normalement jamais besoin de cette balise car tous les browsers actuels la comprennent