50837 Membres -  1 Connectés
ALL HTML.COM : 1er portail communautaire dédié aux webmasters et aux développeurs francophones
ACCUEILFORUMSANNUAIRE DES MEMBRESOFFRES SPECIALES
 
 LANGAGES
 ASP
 COLDFUSION
 CSS
 DHTML
 HTML
 JAVA
 JAVASCRIPT
 MATHML
 MYSQL
 PERL
 PHP
 SMIL
 SVG
 UML
 WML
 XHTML
 XML
 XSL
 TECHNO
 Astuces
 Eléments clés
 Atelier pratique
 ACTUALITES
 Agenda
 Chiffres et Etudes
 Dossiers
 Emploi
 Interview
 News
 Sondages
 Webtest
 WEBDESIGN
 Couleurs
 Design
 Flash zone
 Tutoriaux
 REFERENCEMENT
 Analyse moteurs
 Méthodologie
 Meta-Tags
 Promotion
 RESSOURCES
 Annuaire
 Audits et Services
 Chat
 Documentations
 FAQ
 Forums
 Glossaire
 Outils et Solutions
 Téléchargement
 SHOPPING/SERVICES
 AMEN vous offre
 -15% sur le Pack Pro
 Spécial Entreprise !
 vous cherchez une
 vraie agence web?
 c'est IMAGINANCE
 qu'il vous faut !
 Webmasters,
 gagnez
 de l'argent avec
 votre site web !
 Un nom de domaine
 pour 0.90€ ht/mois ?
 C'est possible !
 Chaque semaine
 des promos sur
 toute la gamme
 de produits et
 accessoires DELL
 ACHAT/VENTE à -50%
 dvd | vhs | cd 
 livres | bd 
 portables | pda 
 video | consoles 
 jeux | mode 
 informatique | pc 
 photo | mp3 | hifi 
 électroménager 

Focus - 20 Août 2008
En étant membre d'ALL HTML, vous bénéficiez d'une remise de 15% sur les Pack Pro et 10% sur les transferts chez AMEN. Pour en bénéficier, il vous suffit d'intégrer le code promo demandé à la saisie de votre commande. Vous trouverez ce code dans votre messagerie interne dans votre Zone Membre !

N'attendez-plus : -15 % chez AMEN

HTMLPrécédentRecommanderImprimerAjouter à mon Compte
Frames

1. C'est quoi les frames ?
Auparavant, les navigateurs ne pouvaient afficher qu'un seul fichier HTML mais avec la technologie développée par Netscape, on peut désormais diviser en plusieurs zones la page affichée par le navigateur : ces zones ou fenêtres ou encore cadres se nomment frames. Les frames sont apparues avec la version 3.0. Même si bon nombre de Webmasters les utilisaient, elle n'étaient pas une composante officielle du langage.

2. Le conteneur <frameset>
La balise <frameset> prend la place du tag <body>, c'est elle qui dans un premier temps va définir les cadres, qu'ils soient verticaux ou horizontaux, et leurs dimensions (en % ou en pixels).

Voici deux exemples (les plus courants) ainsi que le code source.
- Le premier contient deux cadres horizontaux appelés Zone 1 et Zone2
- Le deuxième contient aussi deux cadres horizontaux appelés Zone 1 et Zone2 et un cadre vertical appelé Zone 3

Exemple 1

<frameset cols="20%,80%">
<frame src="zone1.htm" name="zone1">
<frame src="zone2.htm" name="zone2">
</frameset>


Exemple 2

Exemple 2

<frameset rows="80%,20%">
<frameset cols="20%,80%">
<frame src="zone1.htm" name="zone1">
<frame src="zone2.htm" name="zone2">
</frameset>
<frame src="zone3.htm" name="zone3">
</frameset>


Exemple 2

Voici les attributs du conteneur <frameset>.

Les attributs rows et cols :

Les attributs rows et cols définissent le type de cadre, qui peut être vertical (rows - rangée) ou horizontal (cols - colonnes). Ils prennent une liste de valeurs séparées par des virgules. Ces valeurs sont exprimées en pourcentage entre 1 et 100 (valeurs relatives) ou en pixel (valeurs absolues).

Deux remarques : si une valeur manque ou est remplacée par une étoile (*) la colonne ou rangée s'ajustera automatiquement, de plus la hauteur de toutes les rangées ou la largeur de toutes les colonnes doit correspondre à la hauteur ou à la largeur de la fenêtre du navigateur, sinon la dernière valeur ne sera pas prise en compte et la fenêtre ou rangée s'ajustera automatiquement à l'écran.

Exemple de deux colonnes, qui ont comme valeurs 20% et 80 %.

<frameset cols="20%,80%">

Exemple de deux colonnes, l'une d'une largeur de 50 pixels et l'autre s'ajustant automatiquement à la fenêtre du navigateur.

<frameset cols="50,*">

L'attribut frameborder.
Cet attribut permet de déterminer si les cadres auront ou n'auront pas de bordure. Il a deux valeurs yes ou no.

frameborder=yes ou frameborder=no

L'attribut border.
Cet attribut permet de déterminer la taille des bordures entourant les cadres. Il peut prendre plusieurs valeurs ex: border=n, n étant une valeur en pixels définissant la taille de la bordure. La valeur 0 indique aucune bordure.

border=0 ou par exemple border=5

L'attribut bordercolor.
Cet attribut permet de déterminer la couleur de l'ensemble des bordures des cadres. Il suffit pour cela de spécifier une couleur sous forme de nom ou de sa valeur hexadécimale .

bordercolor="red" ou bordercolor="#ff0000"

L'attribut framespacing.
Cet attribut permet de déterminer un espace entre les cadres. Il peut prendre plusieurs valeurs ex: framespacing=n, n étant une valeur en pixels définissant l'espace entre les cadres. La valeur 0 indique aucun espace.

framespacing=0 ou par exemple framespacing=5

3. La balise <frame>
La commande frame permet de définir un cadre à l'intérieur du conteneur <frameset>. Elle a plusieurs attributs, les plus importants étant src et name.

L'attribut src.
Cet attribut indique l'URL (chemin) du document HTML qui sera affiché dans un cadre spécifique.

<frame src="zone1.htm">

L'attribut name.
Cet attribut permet de donner un nom à un cadre, ce qui permettra ensuite de l'appeler avec l'attribut target (attention majuscule différent de minuscule).

<frame src="zone1.htm" name="zone1">

Les attributs marginwidth et marginheight.
- marginwidth permet de spécifier la grandeur des marges de gauche et de droite du cadre créé, la valeur doit être exprimée en pixels, elle peut avoir comme valeur 0.
- marginheight permet de spécifier la grandeur des marges de haut et de bas du cadre crée, la valeur doit être exprimée en pixels, elle peut avoir comme valeur 0.

<frame src="zone1.htm" name="zone1" marginwidth=2 marginheight=2>

L'attribut frameborder.
Cet attribut permet de déterminer si les cadres auront ou n'auront pas de bordure. Deux valeurs yes ou no.

<frame src="zone1.htm" name="zone1" frameborder=no>

L'attribut border (Netscape uniquement).
Cet attribut permet d'ajuster l'espace entre les cadres. La valeur doit être exprimée en pixels.

<frame src="zone1.htm" name="zone1" border=2>

L'attribut noresize.
En utilisant cet attribut, vous interdisez à l'utilisateur de redimensionner les cadres. Par défaut les cadres peuvent être redimensionnés.

<frame src="zone1.htm" name="zone1" noresize>

L'attribut scrolling.
Cet attribut permet d'attribuer ou non une barre de défilement (scrollbar) à un cadre. Il possède trois valeurs :
- yes : Indique que la barre de défilement sera toujours visible
- no : Indique que la barre de défilement ne sera jamais visible (à tester avant de l'utiliser)
- auto : Indique que le navigateur déterminera si la barre de défilement est nécessaire
<frame src="zone1.htm" name="zone1" scrolling="auto">

4. Les navigateurs non compatibles
Même si il est de plus en plus rare de trouver des navigateurs non compatibles, il faut néanmoins ne pas négliger cet aspect, sous peine de se passer de quelques visiteurs. La technique consiste à utiliser les balises <noframes> et </noframes>. Ces balises permettent de spécifier un texte HTML en version normale. Entre ces balises il faut donc, théoriquement, développer un deuxième site : vous pouvez pour simplifier le travail (ouf !!) préciser des regrets polis et insérer des liens vers les sites officiels de Microsoft et Netscape pour que le visiteur opte pour une mise à jour.

Exemple d'utilisation des balises <noframes> et </noframes>.

<frameset rows="20%,80%">
<frame src="zone1.htm" name="zone1">
<frame src="zone2.htm" name="zone2">
</frameset>
<noframes>
<body>
Désolé mais ce site comme vous pouvez le voir utilise la technique des frames. Merci de faire la mise à jour de votre navigateur.
</body>
</noframes>


5. Cadres locaux (<iframe>)
La technique des cadres locaux s'obtient avec la balise <iframe> elle permet d'insérer une fenêtre à n'importe quel endroit de votre document. Cette fenêtre fera référence à un autre document HTML, la balise <iframe> doit être dans le corps de votre document, c'est-à-dire entre les balises <body> et </body>. Attention : cette balise est spécifique à I.Explorer malgré son approbation par le W3C. Elle a les même attributs que la balise <frame> c'est-à-dire :
- border
- bordercolor
- frameborder
- marginheight
- marginwidth
- name
- noresize
- scrolling
- src

Elle possède en plus les attributs height et width qui déterminent la hauteur et la largeur du cadre inséré dans votre page. Valeur en pixels. Note : Un texte de remplacement (pour Netscape) peut être mis entre <iframe> et </iframe>

Exemple d'un cadre local.

<iframe src="iframe.htm" name="zone1" height="80" width="150">
Cadres local
</iframe>




6. Liens vers d'autres frames

Normalement, les pages appelées par des liens s'affichent dans la frame où les liens ont été activés. L'attribut target permet d'appeler un autre cadre par le nom défini avec l'attribut name précédemment. Mais il existe des noms réservés de frame cible dont voici les différentes valeurs.

ValeurSignification
_selfL'URL cible va s'afficher dans la même frame que le lien
_parentL'URL cible va s'afficher dans la structure externe
_blankL'URL cible va s'afficher dans une nouvelle fenêtre ouverte par le navigateur
_topL'URL cible va s'afficher dans toute la fenêtre du navigateur et les frames disparaissent
_newIdentique à _blank (nouvelle fenêtre)


Exemple de lien vers un autre cadre.

<a href="page.htm" target="zone2">Lien</a>

Exemple de lien externe avec la valeur _top.

<a href="http://www.allhtml.com" target="_top">Lien</a>





Zone MembreInfo...
Créez gratuitement votre
accès et soyez membre
d'ALL HTML !
Mot de passe oublié ?



Recommander ALL HTML
Si vous appréciez ce site,
n'hésitez pas à le faire
découvrir à vos ami(e)s...
Cliquez ici 
Top
 Tous Droits Réservés  -  Contact  -  Partenaires  -  Info Annonceurs  -  Données personnelles  -  Edition MobileHébergé par IKOULA