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 :
|
|||||||||||||
Il est impératif de travailler avec des exemples. Pour obtenir un agencement ainsi : Il faut employer les balises suivantes :
|
|||||||||||||
Le même pour un agencement vertical
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 :
|
|||||||||||||
Pour l'instant, nos frames sont vides. On va donc leur donner à manger par des attributs de la balise <FRAME>.
On construit 3 fichiers Html élémentaires que l'on place dans le même répertoire que le fichier de frames.
On reprend le fichier de frame précédent que l'on complète.
|
|||||||||||||
Les ascenseurs, comme à la fenêtre A, apparaissent automatiquement. Par l'attribut de la balise <FRAME>
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 :
Et on met un lien vers A.htm dans le fichier B.htm en désignant comme cible la frame C.
|
|||||||||||||
L'attribut TARGET peut aussi prendre certaines valeurs prédéfinies :
|
|||||||||||||
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 <NOFRAME></NOFRAME> 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.
|
|||||||||||||