Vous avez sûrement remarqué sur certains sites, qu'il y avait
différentes zones dans la page. Comme par exemple, sur la gauche
de l'écran un menu qui affiche des pages dans la partie principale.
Il s'agit d'un ensemble de cadres, aussi appelé de son nom anglais
frame. C'est une page dans laquelle est défini l'agencement des
cadres et la localisation des pages affichées dans ces cadres. On
définit tout d'abord l'agencement des cadres à l'aides de la balise
<frameset> dont voici les attributs
:
Puis on dit "quoi va où..." A chaque volet
ainsi créé correspond un contenu défini par <frame>
:
Après l'indigeste, voici le "un peu plus compréhensible"
avec un petit exemple :
1.
<frameset rows="100, *">
2.
<frame name="titre"
src="titre.htm" />
3.
<frameset cols="250,
*">
4.
<frame
name="navigation" src="nav.htm"
/>
5.
<frame
name="content" src="main.htm" />
6.
</frameset>
7.
</frameset>
8.
9.
<noframes>
10.
Votre navigateur ne supporte pas les
cadres, téléchargez-en un plus récent!
11.
</nofames>
Et maintenant les explications ! Ici a été défini un encadrement
du type de celui se trouvant sur ce
site. Il comporte trois fenêtres différentes. La première
ligne contient juste un cadre (titre) de 100px de haut, destiné
à mettre un titre ou le logo du site (page titre.htm). La seconde
ligne comporte deux cadres ; le premier (navigation) de 250px de
large servira de menu, alors que le deuxième (content) affichera
les informations principales. La petite nouveauté concerne la
balise <noframe> qui permet d'afficher
un message d'erreur personnalisé au cas où le navigateur de votre
visiteur ne serait pas assez récent... eh oui il y a encore des
dinosaures sur le Net ! Vous pouvez bien sûr entre ces balises,
construire une page évoluée (avec un <body>,
des liens, etc.) à la place d'une simple phrase, comme dans l'exemple.
Comme
expliqué précédemment pour ouvrir une page dans un cadre à partir
d'un autre il faut utiliser l'attribut target
des liens. Pour reprendre l'exemple précédent les liens contenus
dans "nav.htm" devront être de la forme :
1.
<a href="page.htm"
target="content">Lien</a>
"content" est ici le nom choisi pour le cadre (mais
vous choisissez celui que vous voulez ! ) ; la page "page.htm"
s'ouvrira alors dans le cadre principal. Cependant il peut s'avérer
fastidieux de rajouter target à chaque lien, surtout si la page
en contient beaucoup, vous pouvez remédier à cela en plaçant la
balise <base> entre les balises <head> du document contentant
les liens (ici nav.htm).
1.
<head>
2.
<base target="content"
/>
3.
</head>
Tous les liens contenus dans cette page seront effectifs
dans le cadre "content". Si vous souhaitez sélectionner
un nouveau cadre comme cible utilisez de nouveau l'attribut target.