SELFHTML

Propriétés des cadres

Page d'information: vue d'ensemble

vers le bas Forcer/empêcher l'affichage de barres de défilement (scrollbars)
vers le bas Espaces minimum entre le bord de la fenêtre et le contenu de la fenêtre
vers le bas Taille de fenêtre non modifiable
vers le bas Épaisseur de la bordure et bordure de fenêtre invisible
vers le bas Bordures de fenêtre colorées
vers le bas Autres informations

 vers le bas 

HTML 4.0XHTML 1.0MSIE 3.0Netscape 2.0 Forcer/empêcher l'affichage de barres de défilement (scrollbars)

Le navigateur WWW gère normalement automatiquement les barres de défilement de chaque fenêtre-cadre. S'il n'est pas nécessaire de passer à la page suivante pour afficher la totalité de la fenêtre, la fenêtre n'aura pas de barre de défilement. Si le contenu est plus grand, les fenêtres-cadres se verront affecter automatiquement des barres de défilement. Dans tous les cas, vous pouvez cependant forcer qu'une fenêtre en soit pourvue ou empêcher qu'elle le soit.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Texte du titre universel</title>
</head>
<frameset cols="250,*">
  <frame src="liens.htm" name="Navigation" scrolling="no">
  <frame src="pagedaccueil.htm" name="donnees" scrolling="yes">
  <noframes>
    <p>Ce projet utilise des cadres. Chez vous les cadres ne sont pas affichés.</p>
  </noframes>
</frameset>
</html>

Explication:

Par la mention scrolling="yes" dans le repère <frame>, vous forcez la fenêtre d'affichage à être pourvue dans tous les cas de barres de défilement. Par scrolling="no" vous l'empêchez. De la même façon il est possible de mentionner scrolling="auto", quoique ce soit identique au réglage par défaut et par là même superflu.

Attention:

Si vous empêchez qu'une fenêtre soit pourvue de barres de défilement, il est possible que les contenus, s'ils sont plus grands que la fenêtre, ne soient pas entièrement affichés. C'est pourquoi n'utilisez scrolling="no" que si vous êtes sûr que le contenu de la fenêtre tienne entièrement dans la fenêtre-cadre. La mention est judicieuse par exemple si un logo doit être affiché en permanence dans une fenêtre cadre à l'exclusion de toute autre chose. Pour des contenus plus importants, il vous faut être prudent pour empêcher qu'une fenêtre soit pourvue de barres de défilement - Pensez que tous les utilisateurs n'ont pas la même définition d'écran que la votre.

 vers le hautvers le bas 

HTML 4.0XHTML 1.0MSIE 3.0Netscape 2.0 Espaces minimum entre le bord de la fenêtre et le contenu de la fenêtre

Il vous est possible d'ajuster exactement l'espace entre le bord de la fenêtre et le contenu affiché de la fenêtre cadre. De cette façon par exemple, vous pouvez créer des marges plus larges dans une fenêtre cadre. Si vous voulez afficher un contenu invariable, par exemple un logo, dans une fenêtre cadre vous pouvez le placer exactement dans une fenêtre cadre en ajustant les espaces.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Texte du titre universel</title>
</head>
<frameset cols="250,*">
  <frame src="liens.htm" name="Navigation" scrolling="no" marginwidth="3" marginheight="30">
  <frame src="pagedaccueil.htm" name="donnees"  marginwidth="60" marginheight="30">
  <noframes>
    <p>Ce projet utilise des cadres. Chez vous les cadres ne sont pas affichés.</p>
  </noframes>
</frameset>
</html>

Explication:

Grâce à l'attribut marginwidth= [pixels] dans le repère <frame>, vous déterminez l'espace entre le bord gauche ou droit de la fenêtre et le contenu de la fenêtre (margin = marge, width = largeur). Grâce à l'attribut marginheight= [pixels] vous déterminez l'espace entre le bord haut ou bas de la fenêtre et le contenu de la fenêtre (height = hauteur). Les marges gauche et droite sont toujours de même taille ainsi que les marges haute et basse.

Attention:

Vous pouvez faire des mentions pour ces deux marges mais aussi seulement pour l'une des deux.

Avec les mentions marginwidth="0" marginheight="0" le contenu de la fenêtre devrait commencer exactement dans le coin en haut et à gauche. Malheureusement Netscape 4.x insère encore toujours un pixel de marge à l'affichage. Il ne reste comme alternative pour le faire que de Autre page d'information  positionner le contenu de façon absolue avec des feuilles de style CSS avec top:0px et left:0px.

 vers le hautvers le bas 

HTML 4.0XHTML 1.0MSIE 3.0Netscape 2.0 Taille de fenêtre non modifiable

En principe l'utilisateur peut modifier la taille des fenêtres cadres distinctes d'un jeu de cadres affiché en plaçant le curseur sur les cadres entre des fenêtres cadres et en "tirant" pour régler les différentes tailles des fenêtres cadres. Dans de nombreux cas, c'est aussi judicieux et vous devez laisser cette liberté à l'utilisateur. Mais si vous avez par exemple une fenêtre cadre avec un contenu invariable, un logo par exemple, vous pouvez empêcher que l'utilisateur puisse modifier la taille de la fenêtre.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Texte du titre universel</title>
</head>
<frameset cols="250,*">
  <frame src="liens.htm" name="Navigation" scrolling="no" noresize>
  <frame src="pagedaccueil.htm" name="donnees">
  <noframes>
    <p>Ce projet utilise des cadres. Chez vous les cadres ne sont pas affichés.</p>
  </noframes>
</frameset>
</html>

Explication:

Grâce à l'attribut noresize dans le repère <frame>, vous empêchez l'utilisateur de modifier sa taille(noresize = no resize = pas de modification de la taille).

Attention:

Il n'y a pas que la fenêtre cadre dans laquelle la mention a été faite qui ne peut plus être redimensionnée mais aussi toutes les fenêtres cadres voisines. Dans l'exemple ci-dessus on ne peut donc modifier ni la fenêtre cadre de gauche ni la fenêtre cadre de droite. C'est somme toute logique mais vous devez tenir compte de cette conséquence si vous envisagez d'empêcher le re-dimensionnement d'une fenêtre cadre.

Quand vous voulez travailler conformément à XHTML, vous devez noter l'attribut décrit ici sous la forme noresize="noresize". D'autres informations à ce sujet dans le chapitre sur Chapitre: vue d'ensemble XHTML et HTML.

 vers le hautvers le bas 

HTML 4.0XHTML 1.0MSIE 3.0Netscape 3.0 Épaisseur de la bordure et bordure de fenêtre invisible

Vous pouvez empêcher que les bordures normalement visibles entre les fenêtres-cadres ne soient visibles. Avec des bordures de fenêtres invisibles, les fenêtres-cadres semblent être des surfaces jointes l'une à l'autre sans couture sur l'écran. Malheureusement la syntaxe pour le faire présente encore à l'heure actuelle des différences entre les navigateurs qui supportent cette propriété depuis longtemps, et le consortium W3 qui veut imposer une autre variante à laquelle les navigateurs ne veulent pas se tenir. Vous avez donc le choix entre écrire conformément à HTML et les navigateurs les plus répandus ignoreront vos mentions ou d'écrire pour les navigateurs en renonçant à la conformité HTML.

Exemple 1 (conforme à HTML):

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Texte du titre universel</title>
</head>
<frameset cols="250,*">
  <frame src="liens.htm" name="Navigation" scrolling="no" frameborder="0">
  <frame src="pagedaccueil.htm" name="donnees">
  <noframes>
    <p>Ce projet utilise des cadres. Chez vous les cadres ne sont pas affichés.</p>
  </noframes>
</frameset>
</html>

Exemple 2 (conforme aux navigateurs):

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html>
<head>
<title>Texte du titre universel</title>
</head>
<frameset cols="250,*" frameborder="0" framespacing="0" border="0">
  <frame src="liens.htm" name="Navigation" scrolling="no">
  <frame src="pagedaccueil.htm" name="donnees">
  <noframes>
    <p>Ce projet utilise des cadres. Chez vous les cadres ne sont pas affichés.</p>
  </noframes>
</frameset>
</html>

Explication:

Quand vous voulez travailler conformément à HTML, notez dans le repère <frame> désiré l'attribut frameborder=. Avec frameborder="0" vous empêchez l'affichage de la bordure visible entre celle-ci et toutes les fenêtres contiguës et avec frameborder="1" vous affichez de façon explicite la bordure visible (cette dernière possibilité correspond il est vrai au réglage par défaut).

Pour la syntaxe soutenue par les navigateurs, Les attributs nécessaires pour cela sont notés dans le repère d'ouverture <frameset> du jeu de cadres auquel s'appliquent alors les mentions - elles concernent alors tous les cadres du jeu de cadres.
border= [pixels] est la syntaxe Netscape et détermine l'épaisseur du cadre en pixels. Sont permises des valeurs numériques comprises entre 0 (ne pas afficher de bordure) et plus (border = bordure).
frameborder= [1/0 ou bien yes/no] signifie d'après la syntaxe Microsoft que des bordures 3D doivent être affichées ou non. Cet attribut est donc un homonyme de l'attribut conforme au standard HTML mais signifie cependant autre chose.
framespacing= [pixels] est de la syntaxe Microsoft et détermine l'espace entre les fenêtres-cadres, et par conséquent l'épaisseur de la bordure en pixels (spacing = espace).

Attention:

Ce n'est qu'avec frameborder="0" framespacing="0" (donc avec les deux mentions) que vous empêchez avec l'Explorer Internet MS l'affichage des bordures. Si vous ne mentionnez que frameborder="0", L'Explorer Internet affiche des espaces visibles entre les fenêtres cadres qui ne sont pas il est vrai les bordures 3D classiques mais des espaces plats. Pour empêcher l'affichage des bordures à la fois pour l'Explorer Internet MS et pour Netscape, vous devez noter les trois mentions frameborder="0" framespacing="0" border="0" (comme dans l'exemple 2 ci-dessus).

Si vous empêchez l'affichage des bordures entre les fenêtres cadres, l'utilisateur ne peut plus modifier la taille de ces fenêtres. Essayez dans la mesure du possible les projets avec des cadres sans bordure pour cette raison avec différentes résolutions d'écran et différentes tailles de fenêtres d'affichage.

 vers le hautvers le bas 

MSIE 4.0Netscape 3.0 Bordures de fenêtre colorées

Vous pouvez forcer la bordure entre les fenêtres cadre à être représentée en couleurs. Ces mentions ne font pourtant pas partie du standard HTML et créent du code HTML invalide.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html>
<head>
<title>Texte du titre universel</title>
</head>
<frameset cols="250,*" bordercolor="#FFFF00">
  <frame src="liens.htm" name="Navigation" scrolling="no">
  <frame src="pagedaccueil.htm" name="donnees">
  <noframes>
    <p>Ce projet utilise des cadres. Chez vous les cadres ne sont pas affichés.</p>
  </noframes>
</frameset>
</html>

Explication:

Avec la mention bordercolor= dans le repère <frameset> du haut, vous pouvez déterminer une couleur de bordure pour toutes les bordures de fenêtres. Pour ce faire, respectez les règles pour Autre page d'information définir les couleurs en HTML.

 vers le hautvers le bas 

Autres informations

Dans le Chapitre: vue d'ensemble sommaire de référence HTML vous trouverez des renseignements sur les attributs autorisés et sur ce à quoi il faut veiller pour ces différents attributs:
Autre page d'information Référence HTML pour les attributs pour les jeux de cadres (<frameset>...</frameset>)
Autre page d'information Référence HTML pour les attributs pour les cadres (<frame>...</frame>)

 vers le haut
page suivante Autre page d'information Lien à des cadres
page précédente Autre page d'information Définir des cadres et jeux de cadres
 

© 2001 Stefan Münz / © 2003 Traduction Adresse électronique Serge François, 13405@free.fr
Adresse électronique selfhtml@fr.selfhtml.org