Le langage HTML/Cadres
Un cadre (frame en anglais) est une section de page web contenant elle-même une autre page web. La technique des cadres permet de faire évoluer plusieurs pages web simultanément. Par exemple, un cadre peut contenir le menu d'un site, et un autre son contenu (ce qui évite de devoir insérer un menu sur chaque page du site).
Le principal inconvénient des cadres est qu'ils brisent la sémantique des données, en particulier la gestion de l'historique des pages devient complexe. Pour cette raison, leur utilisation n'est plus encouragée.
Définition d'un jeu de cadres : la balise frameset
modifier
Les attributs cols
et rows
modifier
Ces attributs servent à déterminer la disposition et les dimensions des cadres : cols
pour les colonnes, rows
pour les lignes (ou, plus précisément, une séparation verticale ou horizontale).
Imbrication de cadres
modifierComme vous l'aurez remarqué, la balise frameset
ne peut diviser qu'à l'horizontale ou à la verticale. Pour combiner les deux, il est possible d'imbriquer les balises frameset
. Ce résultat s'obtient en définissant un jeu de cadres (toujours avec la balise frameset
donc) dans un cadre.
La balise noframe
modifier
Certains navigateurs très anciens ne savent pas comment interpréter les cadres. La balise noframe
permet d'indiquer à ces navigateurs comment produire la page web d'une manière alternative. Cette balise est ignorée par les navigateurs sachant interpréter les cadres.
Définition d'un cadre : la balise frame
modifier
L'attribut src
modifier
L'attribut src
contient l'adresse (relative ou absolue) de la page à afficher dans le cadre.
L'attribut name
modifier
L'attribut name
permet de donner un nom à un cadre. Ceci permet par exemple d'identifier précisément quel cadre mettre à jour lorsque l'on suit un lien hypertexte.
L'attribut longdesc
modifier
L'attribut longdesc
s'adresse particulièrement aux non-voyants qui utilisent une interface vocale pour "lire" les pages web. Certains logiciels dédiés ont parfois des difficultés à rendre les contenus des cadres dans un ordre pertinent. L'attribut permet d'effectuer un lien vers une description longue des cadres et de leur intérêt. Il s'agit généralement d'une page web séparée contenant un texte explicatif.
Les marges : les attributs marginwidth
, marginheight
et frameborder
modifier
L'attribut marginheight
accepte une valeur (pixels ou pourcentage) correspondant à une marge par rapport aux bords verticaux (supérieur et inférieur) du cadre. L'attribut marginwidth
correspond aux marges horizontales (droite et gauche). L'attribut frameborder
accepte les valeurs 1 ou 0 (ou bien TRUE et FALSE) et détermine si le cadre est délimité par une bordure ou non.
Les bordures : les attributs border
, bordercolor
et frameborder
modifier
Les attributs noresize
et scrolling
modifier
noresize
détermine si l'internaute peut ou non changer la taille du cadre.
scrolling
détermine la présence de barres de défilement (toujours, automatique ou jamais).
Cadres uniques : la balise iframe
modifier
Iframes ou fenêtres intégrées dans une page Web
L'intérêt est d'ajouter dans une page propre, une autre page. Cette méthode est utilisée entre autres pour afficher des bannières de publicité.
L'élément iframe
contient une alternative textuelle affichée au cas où les cadres ne seraient pas supportés ou activés.
Les attributs d'iframe
modifier
Exemple de code pour la balise Iframe :
<iframe name="lesteph" src="https://fr.wikibooks.org/w/index.php?title=Le_langage_HTML/Cadres" width="468" height="60" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no">Texte alternatif quand les cadres ne sont pas affichés.</iframe>
Les valeurs de l'attribut target
modifier
target
est un attribut de la balise a
, la balise servant à inclure des liens hypertexte. Il détermine la cible (signification de "target" en anglais) du lien, c'est-à-dire où ce lien doit être ouvert, en se basant sur l'attribut name
des cadres présents.
target
peut prendre différentes valeurs :
nom_du_cadre
- ouvre le lien dans le cadre dont l'attribut
name
a la valeur "nom_du_cadre". _self
- le lien s'ouvre dans le même cadre.
_parent
- le lien s'ouvre dans le cadre parent du cadre de la page. C'est à dire à la place de la page contenant le
<frameset>
qui détermine le cadre de la page ou se trouve le lien. _top
- le lien s'ouvre dans la fenêtre courante (annule donc tous les cadres).
_blank
- ouvre le lien dans une nouvelle fenêtre.
Note : Certains navigateurs (Mozilla Firefox, Konqueror, Opera, ...) proposent une navigation par onglets, permettant d'afficher plusieurs pages dans une seule fenêtre. Bien que ce type de navigation soit de plus en plus courant et de plus en plus utilisé, il n'existe pas de valeurs à attribuer à target
permettant d'ouvrir un lien dans un nouvel onglet (ceci est notamment dû au fait que ce type de navigation n'était pas encore très courante quand HTML 4 est sorti - les onglets ne sont donc pas un standard, mais bien une fonctionnalité supplémentaire proposée par certains navigateurs). Cependant, certains navigateurs, éventuellement munis d'une extension, peuvent proposer d'ouvrir tous les liens ayant _blank comme valeur de l'attribut target
dans un nouvel onglet, à voir dans les options de votre navigateur.