Cours de Dreamweaver Cours de css Cours de Flash Cours d'HTML
Cours de javascript Quelques jeux Cours de Photoshop Cours de php
Cour de Référencement Cour de sql Cour de vidéo  

Les frames présentées comme LA solution aux problèmes de navigation est progressivement abandonné par les professionels au profit d'autres systèmes de navigation, donc vous savez à quoi vous vous esposez si vous les utilisez.
Surtout, sauf si c'est pour un besoin artistique, n'en utilisez pas de trop, sinon cela devient trés vite invisitable.

Donc les frames...heu oui c'est vrai, au fait c'est quoi une frame?
Ben une frame est une technique qui permet d'afficher plusieurs page html dans le navigateur de l'internaute. Par exemple, les sites où vous avez un menu de navigation à gauche et le contenu des différentes catégories qui apparait à droite, un exemple concret: www.caramail.com (pour les abonner).

Donc pour faire des frames, il vous faut en réalité créer au moins 3 pages:
la première avec le frameset
les 2 autres sont des pages html toutes bêtes.

Le frameset est la définition des zones du navigateur où l'on va afficher les pages html précisées dans celui-ci. Il remplace les balises <BODY></BODY>.
Cela nous donne:
<FRAMESET COLS="134,480" ROWS="*">
<!--On définit 2 frames verticales-->
<FRAME SRC="navigation.html" NAME="navig">
<!--On définit la page à afficher dans la première frame et le nom de cette frame-->
<FRAMESET ROWS="90,265" COLS="*">
<!--On découpe la deuxieme frame en 2 frames dans le sens de la largeur-->
<FRAME SRC="publicite.html" NAME="pub">
<!--Ont définis la page à afficher dans la frame du haut-->
<FRAME SRC="navigation.html" NAME="affiche">
<!--Ont définis la page à afficher dans la frame de bas-->
</FRAMESET>
</FRAMESET>
<!--On ferme les 2 framesets-->

Cols permet de définir la largeur des différentes colonnes de votre frameset en partant de la gauche vers la droite, cette dimension est à exprimer en pixels ou en pourcent.
Rows, c'est la même chose mais pour les lignes.

La bordure de séparation entre les frames est configurable grâce à BODER="n", avec n en pixels.

Et la zone qui sépare les frames entre elles est définie par FRAMESPACING="n", avec n en pixels

Vous pouvez faire "disparaître" la coupure entre 2 frames grâce à l'attribut FRAMEBORDER="no", cette astuce est très pratique pour les sites graphiques.

Et vous pouvez indiquer la couleur de la bordure de la frame grace à BORDERCOLOR="#666678".

Ensuite dans les balises frame vous indiquez le chemin d'accès au fichier html (src=""), et le nom de la frame (name="") qui sera utilisée pour la navigation.

Vous pouvez aussi interdire l'affichage des ascenceurs grâce à SCROLLING="no", ou yes:-)) et auto pour que le navigateur décide.

MARGINWIDTH et MARGINHEIGHT permetttent de définir l'espace qui sépare le bord de la frame et sont contenu.

On obtient donc au final:
<FRAME SRC="toto.html" NAME="affichage" SCROLLING="yes" NORESIZE>

Et vous avez encore la possibilité de définir si pour la frame courant le bord va être visible ou on avec FRAMEBORDER="1" ou ="0" et la couleur de ce bord avec BORDERCOLOR="#343434"

Pour la navigation dans une page avec des frames il vous suffit de préciser dans quelle frame doit apparaitre la page.
Ex: pour afficher la page de toto dans la frame d'affichage à partir d'un lien qui se trouve dans la frame navig.
<A HREF="toto.html" TARGET="affiche">La page de toto</A>

Autres solutions de navigation:
Personnellement bien que je ne l'ai pas mis en pratique pour le moment sur mon site je vous conseille d'étudier les navigations de ces sites:
www.apple.fr
www.respublica.fr

Par contre un cas où les frames sont conseillées, dans le cas d'un moteur de recherche qui transmet des informations par le biais de l'url de la page, par exemple:.com/search.html?nom=toto&prenom=sucellus
Dans ce cas là il est intéressant de cacher ces informations donc il vous suffit de créer 2 frames dont une de 0 ou 1 pixel.

Pour finir, pensons aux navigateurs qui ne supporttent pas les frames et aux moteurs de recherche qui vont étudier le contenu de votre page, vous voyez souvent le texte "Désolé, votre navigateur ne prend pas les frames en charge" afficher dans la présentation d'un site correspondant à votre requête. Pour éviter ce problème c'est tout simple il vous suffit d'insérer à la suite de la balise </FRAMESET> la balise <NOFRAMES> suivi du code d'une page normale, <BODY>coucou</BODY>, puis de la balise fermante </NOFRAMES>. Attention à bien mettre les balises BODY dans les noframes sinon le résultat sera aléatoire.

Retour à l'index
Pour m'aider cliquez ici
Fais avec un mac
Sucellus 2001 ©
Les noms des logiciels, jeux, matériels, marques, images de ce site sont la propriété de leurs auteurs et/ou de leurs éditeurs.