Nostradamia : Propriétés des frames


Si vous venez d'ailleurs que de "Frames pour les nuls", retour à l'article sur les frames.

Propriétés
de style

Explication

Syntaxes / Exemple

border

Bordure de cadre et largeur :

L'instruction frameborder placée dans la balise <frame> garantit la bonne interprétation des navigateurs toutes marques confondues. Elle sert à définir la présence de bordures. Et le browser en fixe l'épaisseur selon le réglage utilisateur ou par défaut.

L'épaisseur des cadres ne peut être définie universellement pour tous les navigateurs. L'incompatibilité de ces instructions touche tour à tour IE5 et 6, Netscape 7 et Mozilla 1.

Mais les patchs mis à disposition par les éditeurs corrigent cet état de fait au fur et à mesure.

Syntaxes répandues, avec ou sans guillemets :
<frame name=Cadre1 src=Menu1.htm border=0>
<frame name=Cadre1 src=Menu1.htm border=4>
<frame name=Cadre1 src=Menu1.htm style="border-width:medium">

Alternative dans la balise <frameset> :
<frameset frameborder="NO" border="0" rows=...>

Syntaxe compatible tous navigateurs :
<frame name="Cadre"1 src="Menu1.htm " frameborder="1">

frameborder=1   =>bordure oui
frameborder=0   =>pas de bordure

L'instruction précédente ne définit pas l'épaisseur du cadre, mais sa présence. Le navigateur lui attribue une épaisseur par défaut. Cette syntaxe est à privilégier en y adjoignant border="x", compatible tous navigateurs sauf Netscape 7 (correction effectuée en 7.1).

noresize

Spécifie que le cadre ne peut être redimensionné par l'utilisateur
Redimmensionnement possible par défaut

<frame name=Cadre1 src=Menu1.htm noresize>

scrolling

Présence de barres de défilement
ou
Absence
ou
Automatique selon le besoin

<frame name=Cadre1 src=Menu1.htm scrolling=yes>

<frame name=Cadre1 src=Menu1.htm scrolling=no>

<frame name=Cadre1 src=Menu1.htm scrolling=auto>

marginwidth
marginheight

framespacing

Détermine l'espace entre la bordure du cadre et son contenu.

Espacement entre les frames (interstice vide). Non compatible Netscape 6 et 7. (Vérifier pour la 7.1)

<frameset framespacing=0 rows=.... >

ou /et

<frame name=Cadre1 src=Menu1.htm marginwidth=30 marginheight=20>

 

bordercolor

Spécifie la couleur des bordures

Cette instruction n'est pas compatible avec Mozilla 1 et Netscape 7 (7.1 corrigée).

<frameset cols="1*,5*" bordercolor="black">

ou /et

<frame frameborder="1" bordercolor="red">

Propriétés de styles avec la balise style ou propriétés CSS

Explication de l'exemple

Syntaxe / Exemple

A éviter dans la page de définition des cadres :

Toutes les propriétés de style qui touchent le background et les polices.

A éviter

Spécifient la couleur du fond, l'image de fond, si elle défile ou est figée lors du scroll de page, son positionnement et si elle se répéte sur l'axe x et y.

Ces instructions sont ignorées par la totalité des navigateurs sauf Netscape 7 qui les lit sans problème pour la plupart.

(privilégier la déclaration dans les styles CSS des fichiers contenus dans le cadre, Menu1.htm dans l'exemple)

style="background-color:#000066; background-image:monImage.gif; background-attachment:fixed; background-position:center; background-repeat:y...">

Propriété
de taille

Explication de l'exemple

Syntaxe / Exemple

row=n*

3 cadres en hauteur sur la page de hauteur relative de 20,30 et 50%.
Le premier cadre défini est connu du système en tant que "top.frame"

<frameset rows="2*,3*,5*">

cols=n*

2 cadres, sur la largeur de la page en taille relative de 1 contre 4 (20-80%)

<frameset cols="1*,4*">

row=n

3 cadres, hauteur fixe de 200, 300 et 100 pixels

<frameset rows="200,300,100">

cols=n

2 cadres, largeur fixe de 100 et 200 pixels

<frameset cols="100,200">

row=n%

2 cadres, hauteur définie en pourcentage

<frameset cols="30%,70%*">

cols=n%

3 cadres, largeur définie en pourcentage

<frameset cols="20%,30%,50%">