Domaines d'application des cadres
Les développeurs de documents HTML disposent d'un choix assez large de formulaires pour afficher des informations sur les pages. Texte et informations graphiques peut être ordonné et organisé à l'aide de listes, de tableaux ou simplement en utilisant des options d'alignement, en définissant des lignes horizontales et en divisant en paragraphes. Parfois, ces fonctionnalités ne suffisent pas et vous devez alors diviser la fenêtre du navigateur en zones ou cadres distincts. Dans un certain nombre de descriptions en russe du langage HTML, le terme frames est utilisé à la place du terme frames. La fréquence d'utilisation des deux termes est à peu près la même.
Le choix d'une structure de trame pour l'affichage des informations sur le WWW se justifie dans les cas suivants :
- si nécessaire, gérer le chargement des documents dans une des sous-zones de la fenêtre de visualisation du navigateur tout en travaillant dans une autre sous-zone ;
- localiser des informations à un certain endroit de la fenêtre de visualisation qui doivent toujours être sur l'écran, quel que soit le contenu des autres sous-zones de l'écran ;
- pour présenter des informations commodément disposées dans plusieurs sous-zones adjacentes de la fenêtre, chacune pouvant être visualisée indépendamment.
La liste donnée n'épuise pas tous les cas possibles dans lesquels les cadres peuvent être appliqués, mais a un caractère de recommandation.
Considérons d'abord les utilisations typiques des cadres à l'aide d'exemples de documents HTML réels, puis passons aux règles de développement de documents contenant des cadres.
En figue. La figure 5.1 montre l'une des pages HTML de l'agence Finmarket, spécialisée dans la fourniture d'informations sur les marchés financiers et boursiers de Russie.
Riz. 5.1. Un document Web typique avec une structure de trame
Cette page divise la fenêtre du navigateur en trois cadres. La partie inférieure de la fenêtre occupe 20% de la hauteur de toute la fenêtre et contient des informations permanentes, qui dans ce cas est un menu graphique qui permet d'accéder à tout moment aux sections les plus importantes. Ce cadre ne peut pas modifier sa taille en fonction des commandes utilisateur et ne comporte pas de barres de défilement. La partie supérieure la fenêtre (80% de la hauteur) est divisée horizontalement en deux cadres. Le cadre de gauche contient la table des matières des documents consultables par l'utilisateur. Le cadre de droite, qui occupe la majeure partie de la fenêtre de visualisation, est destiné à afficher les documents eux-mêmes. Lors du chargement initial, ces deux cadres divisent la fenêtre du navigateur horizontalement dans un rapport de 15 % à 85 %. Ce rapport peut être modifié par l'utilisateur lors de la visualisation, ce qui permet de sélectionner les tailles d'image optimales en tenant compte du contenu des documents chargés. Chacun de ces cadres possède sa propre barre de défilement, vous permettant de visualiser l'intégralité du contenu du cadre, quelle que soit la taille du cadre lui-même, l'intégralité de la fenêtre du navigateur ou les polices utilisées. Lorsque vous sélectionnez un lien dans le cadre de gauche, le document correspondant sera chargé dans le cadre de droite. Cette structure permet de voir simultanément à l'écran à la fois la table des matières des documents et le contenu du document sélectionné.
Voici, sans explication, un fragment du code HTML utilisé pour construire un document avec cette structure :
Cet exemple montre l'utilisation la plus typique des structures de cadre, où un cadre sert de table des matières pour les documents et un autre est utilisé pour charger leur contenu. La résolution d'un tel problème sans utiliser de cadres se fait généralement comme suit. Sur l'une des pages se trouve une table des matières, composée de liens vers d'autres documents ou leurs fragments individuels. Lorsque vous cliquez sur un tel lien, la table des matières disparaît et le document requis est chargé à sa place, après lecture duquel vous devez généralement revenir à la table des matières. Lors de l'utilisation de frames, ce retour devient inutile, puisque la table des matières est toujours située sur une partie de l'écran.
Vous pouvez le trouver sur Internet site Internet de l'édition électronique de l'annuaire téléphonique et d'adresses populaire "Tous les Pétersbourg" à Saint-Pétersbourg.
La version électronique de l'annuaire est disponible à http://www.allpetersburg.ru et vous permet de trouver les informations nécessaires en fonction des demandes des utilisateurs. Cette page Le document a également une structure de cadre et se compose de deux cadres, le premier ayant une largeur de 100 pixels et le second occupant toute la largeur restante de la fenêtre d'affichage. Le cadre situé sur le côté gauche est utilisé pour menu graphique, constamment présent à l'écran, et contient également le logo de la société Nevalink. Le deuxième cadre contient le document, qui est dans ce cas un formulaire de demande utilisateur. La structure de cette page est définie par le code HTML suivant :
Les cadres sont très similaires aux tableaux : ils divisent tous deux la fenêtre du navigateur en zones rectangulaires dans lesquelles se trouvent certaines informations. Cependant, à l'aide de cadres, vous pouvez non seulement résoudre le problème du formatage des pages du document, mais également organiser l'interaction entre elles. La différence fondamentale entre les cadres et les tableaux est que chaque cadre doit avoir son propre document HTML distinct, mais le contenu de toutes les cellules du tableau fait toujours partie du même document. De plus, la page affichée dans le cadre peut défiler lorsqu'elle est visualisée indépendamment des autres. Chaque cadre est essentiellement un « mini-navigateur » distinct. Contrairement aux cadres dont la structure entière est toujours présentée à l'écran, les tableaux peuvent ne pas tenir complètement dans la fenêtre et ne peuvent être visualisés que par parties. Il s'ensuit que si dans les tableaux HTML le nombre total de cellules est pratiquement illimité et peut atteindre plusieurs centaines, alors le nombre de cadres dans un document ne dépasse généralement pas plusieurs unités.
Conseil
Si vous avez uniquement besoin de formater un document, il suffit alors de vous limiter à l'utilisation de tableaux. Si vous devez résoudre des problèmes plus complexes, par exemple organiser l'interaction entre les sous-zones de la fenêtre ou créer des sous-zones situées en permanence sur l'écran, il est alors pratique d'utiliser des cadres.
En fin de compte, le choix de la structure du document - tabulaire ou encadré - dépend de nombreux facteurs et ne peut être prédéterminé sans ambiguïté.
Il y a aussides pages qui semblent être construites de la même manière que les précédentes. Par exemple, vous pouvez prendre page d'une collection mondiale très populaire de produits logiciels conçus principalement pour travailler avec Internet. Adresse du serveur http://www.tucows.com. Notez que le nom du serveur a été déterminé par une abréviation dérivée de l'abréviation nom et prénom collection - La collection ultime de logiciels Winsock. Étant donné que l'abréviation tucows s'est avérée être en accord avec l'expression deux vaches (deux vaches), des images de vaches se trouvent souvent sur les pages du serveur, et l'évaluation des produits logiciels est estimée en nombre de meuglements (« Moo ») et est représenté graphiquement comme une rangée du nombre correspondant de vaches. La plupart des pages du serveur sont construites de la même manière : sur le côté gauche de la fenêtre se trouve une liste des sections disponibles et sur le côté droit, une liste de produits logiciels pour la section sélectionnée. À première vue, la structure du document devrait être à peu près la même que dans les exemples précédents. Cependant, ce document n'utilise pas de frames ! Cette page est construite à l’aide d’un tableau composé d’une seule ligne avec deux cellules. Le tableau n'a pas de cadre et sert uniquement à formater la page. L'impression d'un écran divisé verticalement est créée en utilisant un graphique d'arrière-plan contenant ligne verticale, et pas du tout une grille de table. Vous pouvez le vérifier en visualisant la page sans charger d'images. L'utilisation d'un tableau ici est apparemment due à des considérations de plus grande accessibilité des documents, puisque les frames ne permettent pas l'affichage dans tous les navigateurs.
L'inconvénient de cette approche dans ce cas est la nécessité de répéter la liste complète des sections (côté gauche de la page) dans chaque document, ce qui augmente légèrement la taille du fichier.
Une comparaison des exemples ci-dessus montre que l'utilisation de tables et de cadres peut parfois être interchangeable et déterminée par les souhaits des développeurs. Notez que souvent, lorsque l'on regarde une page sur laquelle un document est affiché, il est impossible de déterminer comment il est construit. L'utilisateur final n'a pas besoin de connaître la structure interne du document, mais lors du développement de ses propres pages Web, une familiarisation avec le code source des documents existants serait extrêmement utile. Dans le premier exemple (voir Fig. 5.1), la structure des cadres du document est immédiatement visible - la présence de deux barres de défilement verticales détermine déjà la présence de cadres individuels. Les deux exemples suivants sont très similaires en apparence et il est impossible de déterminer que le premier d'entre eux est construit à l'aide de cadres et le second à l'aide de tableaux. Les différences n'apparaîtront qu'en travaillant avec eux. Dans l'exemple d'un annuaire téléphonique, lors du défilement d'un document, la partie gauche de la fenêtre restera en place, ce qui n'est possible que s'il existe une structure en frame. Dans l'exemple suivant (une collection de produits logiciels), le défilement déplacera tout le contenu de la fenêtre.
Vous pouvez afficher la structure du document lorsque vous travaillez avec le navigateur Netscape à l'aide de l'élément Page Info (dans les versions 3.x du navigateur Netscape, cet élément de menu s'appelait Informations sur le document) du menu Affichage (Fig. 5.2).
Riz. 5. 2 . Menu Affichage du navigateur Netscape
De plus, vous pouvez toujours vérifier Code source HTML l'intégralité du document en utilisant l'élément Source de la page du menu Affichage (ou l'élément Afficher la source du cadre du menu contextuel du clic droit pour afficher le code HTML du document chargé dans le cadre sélectionné).
Conseil
Il ne faut pas abuser inutilement de l'utilisation des frames, et leur nombre ne doit pas dépasser trois ou quatre.
Souvent, sur de vraies pages sur Internet, vous pouvez voir les cas suivants d'utilisation de frames :deux cadres adjacents sont utilisés pour charger des documents faciles à visualiser simultanément et à comparer les uns avec les autres. Chacun des deux documents chargés dans les cadres utilise une forme tabulaire pour présenter les informations. Grâce à cette organisation des données, chacun des deux tableaux peut être consulté (ou imprimé) séparément, ou étudié en comparaison avec l'autre.
Tous les exemples donnés dans cette section sont tirés des pages de serveurs WWW populaires et peuvent peut-être servir d'exemples d'utilisation de cadres dans des documents HTML.
Les sections suivantes de ce chapitre couvrent les règles d'écriture de documents contenant des cadres.
Règles de description des cadres
Passons maintenant à l'examen des règles d'écriture des balises utilisées pour les documents comportant des structures de trame.
Examinons d'abord le code HTML complet qui crée un document avec des frames de complexité moyenne :
Cet exemple crée la page encadrée illustrée dans la figure. 5.3. Comme vous pouvez le constater, ce code HTML définit quatre frames. Le cadre supérieur s'étend sur toute la largeur de la page et contient le titre. Viennent ensuite deux cadres centraux, dont l'un est situé sur le côté gauche et occupe 25 % de la largeur de l'écran, et le second occupe l'espace restant. La dernière et quatrième image occupe le quart inférieur de l'écran. Un document HTML distinct est chargé dans chaque cadre, dont le nom est déterminé par le paramètre SRC.
Comme le montre l'exemple, les balises sont utilisées pour décrire la structure des cadres
Riz. 5. 3 . Le résultat du navigateur Netscape affichant le document HTML avec les cadres montrés dans l'exemple
Étiqueter
Les cadres sont définis dans une structure appelée FRAMESET, qui est utilisée pour les pages contenant des cadres au lieu d'une section BODY. document régulier. Les pages Web composées de frames ne peuvent pas contenir de section BODY dans leur code HTML. À leur tour, les pages comportant une section BODY ne peuvent pas utiliser de cadres.
Conseil
Étant donné que les pages encadrées n'ont pas de section CORPS, il n'existe aucun moyen de définir une image d'arrière-plan et une couleur d'arrière-plan pour la page entière. Rappelons que ces réglages sont déterminés par les paramètres BACKGROUND et BGCOLOR écrits dans la balise BODY. Cependant, cela ne vous empêche pas de charger des documents avec leurs propres paramètres d'arrière-plan dans chaque cadre.
Conteneur de balises
Étiqueter
Note
Certains navigateurs autorisent des paramètres de balise supplémentaires
Vous pouvez définir des valeurs pour ROWS ou COLS, ou les deux. Il est nécessaire de définir au moins deux valeurs pour au moins un de ces paramètres. Si un autre paramètre est omis, sa valeur est supposée être de 100 %.
Conseil
Si dans une balise
Liste des valeurs des paramètres de balise ROWS et COLS
définit un ensemble de trois cadres. Ces valeurs sont des valeurs absolues de pixels. En d’autres termes, la première image (première ligne) a une hauteur de 100 pixels, la seconde une hauteur de 240 pixels et la dernière une hauteur de 140 pixels.
Définir les valeurs de taille d'image en pixels n'est pas très pratique. Cela ne prend pas en compte le fait que les navigateurs fonctionnent dans des versions différentes. systèmes d'exploitation et avec différentes résolutions d'affichage. Parallèlement, il est possible de définir des valeurs de taille absolues dans certains cas, par exemple pour afficher une petite image aux dimensions connues. La meilleure option les valeurs seront précisées en pourcentages ou en unités relatives, par exemple :
Cet exemple crée trois cadres positionnés sous forme de lignes sur toute la largeur de l'écran. La rangée du haut occupera 25 pour cent de la hauteur de l'écran disponible, la rangée du milieu 50 pour cent et la rangée du bas 25 pour cent. Si la somme des pourcentages spécifiés n'est pas égale à 100 %, alors les valeurs seront mises à l'échelle proportionnellement afin que le résultat soit exactement de 100 %.
Les valeurs en unités relatives sont les suivantes :
Un astérisque (*) est utilisé pour diviser l'espace proportionnellement. Chaque étoile représente une partie du tout. En additionnant toutes les valeurs des nombres à côté des astérisques (si un nombre est omis, alors on en suppose un), on obtient le dénominateur de la fraction. Dans cet exemple, la première colonne occupera 1/6 de la largeur totale de la fenêtre, la deuxième colonne en occupera 2/6 (ou 1/3), et la dernière occupera 3/6 (ou 1/ 2).
N'oubliez pas qu'une valeur numérique sans aucun caractère spécifie le nombre absolu de pixels pour une ligne ou une colonne. Une valeur avec un signe de pourcentage (%) spécifie la proportion de la largeur totale (pour COLS) ou de la hauteur (pour ROWS) de la fenêtre, et une valeur avec un astérisque (*) spécifie la répartition proportionnelle de l'espace restant.
Voici un exemple qui utilise les trois options pour définir les valeurs :
Dans cet exemple, la première colonne aura une largeur de 100 pixels. La deuxième colonne occupera 25 pour cent de la largeur totale de la fenêtre, la troisième colonne occupera 1/3 de l'espace restant et enfin la dernière colonne occupera 2/3. Il est recommandé d'attribuer d'abord les valeurs absolues dans l'ordre de gauche à droite. Ceux-ci sont suivis de pourcentages de la taille totale de l’espace. Enfin, des valeurs sont enregistrées qui déterminent la division proportionnelle de l'espace restant.
Conseil
Si vous utilisez des valeurs COLS ou ROWS absolues, gardez-les petites afin qu'elles puissent s'adapter à n'importe quelle fenêtre de navigateur, et complétez-les avec au moins un pourcentage ou une valeur relative pour remplir l'espace restant.
Si la balise est utilisée
Cette ligne de code HTML crée une grille de cadres avec trois lignes et deux colonnes. La première et la dernière ligne occupent chacune 1/4 de la hauteur et la ligne médiane en occupe la moitié. La première colonne occupe les 2/3 de la largeur et la seconde 1/3.
Récipient
Note
Certaines sources sur le langage HTML indiquent que les paramètres COLS et ROWS de la balise
Étiqueter
Étiqueter définit un seul cadre. Il doit être situé à l'intérieur d'une paire de balises
Veuillez noter que l'étiquette n'est pas un conteneur et contrairement à
Il y a tellement de tags à enregistrer combien de cadres individuels sont définis lors de la spécification de la balise
Étiqueter a six paramètres : SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING et NORESIZE.
Note
Certains navigateurs vous permettent d'utiliser un certain nombre de paramètres de balises supplémentaires . Présentation des fonctionnalités des navigateurs Netscape et Microsoft Internet Explorer est donnée à la fin du chapitre.
Voici l'entrée de la balise : avec tous les paramètres :
MARGINWIDTH="valeur" MARGINHEIGHT="valeur" NORESIZE>
En pratique dans le tag Il est rare que tous les paramètres soient utilisés en même temps.
Le paramètre le plus important est SRC (abréviation de source). Assez souvent dans le tag un seul paramètre SRC est spécifié. Par exemple:
.
La valeur du paramètre SRC détermine l'URL du document qui sera chargé initialement dans ce frame. Généralement, cette adresse est le nom d'un fichier HTML situé dans le même répertoire que le document principal. Ensuite, la ligne de définition du cadre ressemblera par exemple à ceci :
.
Notez que tout fichier HTML spécifié dans la définition du cadre doit être un document HTML complet et non un fragment. Cela signifie que le document doit avoir des balises HTML, HEAD, BODY, etc.
Bien entendu, la valeur SRC peut être n’importe quelle URL valide. Si, par exemple, le cadre est utilisé pour afficher une image GIF qui se trouve sur le serveur de l'éditeur de ce livre, alors vous devez écrire :
.
Conseil
N'incluez aucun contenu dans le document décrivant la structure du cadre.
Le texte brut, les titres, les graphiques et autres éléments ne peuvent pas être utilisés directement dans un document décrivant une structure de cadre. Tout le contenu des frames doit être défini dans des fichiers HTML séparés, dont les noms sont spécifiés par le paramètre SRC de la balise .
Le paramètre NAME spécifie un nom de trame qui peut être utilisé pour faire référence à cette trame. Généralement, le lien est défini à partir d'un autre cadre situé sur la même page. Par exemple:
.
Cette entrée crée un cadre nommé "Frame_1" qui peut être référencé. Par exemple:
Cliquez ici pour télécharger
documentez other.htm dans un cadre nommé Frame_1.
Notez le paramètre TARGET, qui fait référence au nom du cadre. Si un cadre ne reçoit pas de nom, un cadre sans nom sera créé et il ne sera pas possible de le référencer à partir d'un autre cadre. Les noms de trames doivent commencer par un caractère alphanumérique.
Les paramètres MARGINWIDTH et MARGINHEIGHT permettent de définir la largeur des marges du cadre. Celui-ci s'écrit ainsi :
MARGINWIDTH="valeur",
où « valeur » est la valeur absolue en pixels. Par exemple:
Ce cadre a des marges en haut et en bas de 5 pixels, et à gauche et à droite de 7 pixels. N'oubliez pas que nous parlons ici de marges et non de cadres. Les paramètres MARGINWIDTH et MARGINHEIGHT définissent l'espace à l'intérieur du cadre dans lequel aucune information ne sera localisée. Le minimum valeur admissible de ces paramètres est égal à un.
Les cadres créeront et afficheront automatiquement des barres de défilement si le contenu du cadre ne rentre pas entièrement dans l'espace alloué. Parfois, cela casse le design de la page, il serait donc pratique de pouvoir contrôler l'affichage des barres de défilement. Le paramètre SCROLLING est utilisé à ces fins. Format d'enregistrement :
.
Le paramètre SCROLLING peut prendre trois valeurs : OUI, NON ou AUTO. La valeur AUTO a le même effet que s'il n'y avait pas de paramètre SCROLLING. La valeur OUI fait apparaître les barres de défilement, qu'elles soient ou non nécessaires, et NON les empêche d'apparaître. Par exemple:
.
En règle générale, l'utilisateur peut redimensionner les cadres lorsqu'il affiche la page. Si vous placez le curseur de la souris sur le cadre du cadre, le curseur prendra une forme indiquant la possibilité de redimensionner et permettra de déplacer le cadre à l'emplacement souhaité. Cela brise parfois la structure de cadres magnifiquement conçus. Pour empêcher l'utilisateur de modifier la taille des frames, utilisez le paramètre NORESIZE :
.
Ce paramètre ne nécessite aucune valeur. Naturellement, lorsque le paramètre NORESIZE est défini pour l'une des images, la taille de l'une des images adjacentes ne peut pas non plus être modifiée. Parfois, selon la disposition des frames, l'utilisation du paramètre NORESIZE sur l'un des frames suffira à empêcher qu'aucun d'entre eux ne soit redimensionné à l'écran.
Étiqueter
La possibilité de travailler avec des cadres n'était prévue ni dans la norme HTML 3.0 ni dans HTML 3.2. Ici, jusqu'à récemment, il existait une situation assez typique où les fonctionnalités réellement utilisées sont activement utilisées sur de nombreuses pages WWW, mais ne font pas partie de la norme. Cela signifiait que les navigateurs pouvaient légitimement ignorer les frames. Avec l'avènement de la norme HTML 4.0, la situation a changé : la prise en charge des structures de cadre est désormais inscrite dans la norme. Notez que la plupart des navigateurs modernes reconnaissaient les frames avant même l'avènement de HTML 4.O. Il est cependant nécessaire de fournir des informations aux utilisateurs utilisant des navigateurs ne prenant pas en charge les frames. Pour de tels navigateurs, il est possible de fournir des informations alternatives écrites entre une paire de balises.
document HTML entier
Tout ce qui est placé entre les balises
Notez que dans la vraie vie, les développeurs de pages HTML n'utilisent souvent pas les capacités de la balise.
Caractéristiques de la description des structures de cadre
L'une des balises les plus importantes utilisées pour décrire les structures de trame est la balise . Une balise comporte un certain nombre de paramètres, dont aucun n’est obligatoire ou ne dépend des autres, mais il y a un certain nombre de choses à prendre en compte lors de leur écriture.
Il s'avère que si vous devez créer un cadre dans lequel un document pourra être chargé ultérieurement, par exemple, par commande depuis un autre cadre, vous devez utiliser la balise écrire le paramètre SRC. Si ce
le paramètre est omis, le cadre ne sera pas créé, bien qu'un espace lui soit laissé. Par exemple, un enregistrement comme est tout à fait logique et pourrait définir un cadre nommé "B" dans lequel aucun document n'est initialement chargé. Cependant, en raison de l'absence du paramètre SRC, un cadre portant ce nom n'existera pas, donc les tentatives ultérieures pour y charger un document resteront infructueuses et l'espace dans la fenêtre alloué à ce cadre sera vide. De plus, certains navigateurs (par exemple Microsoft Internet Explorer version 3 pour Windows Z.xx) afficheront un message d'erreur et se fermeront lorsque vous tenterez de charger un document dans un tel cadre.
La nécessité de définir le paramètre SRC ne peut pas être expliquée logiquement, il est donc préférable de simplement en prendre note. Ensuite, même s'il n'y a aucun document à charger dans ce cadre dès le début, vous devez spécifier le nom d'un fichier dans le paramètre SRC. Par exemple, un tel fichier peut être appelé vide.htm (vide), dont le contenu sera le minimum de document HTML correct possible, à savoir :
Vous pouvez réduire ce document à deux balises :
Riz. 5. 4 . Message d'avertissement lors du téléchargement d'un fichier de longueur nulle
Dans ce cas, vous devez répondre à ce message en appuyant sur la touche
Vous pouvez également spécifier le nom d'un fichier inexistant, mais dans ce cas, le navigateur Netscape affichera un message d'avertissement (Fig. 5.5), ce qui n'empêchera pas la poursuite des travaux, mais entraînera des inconvénients similaires.
Riz. 5. 5 . Message d'avertissement lors de la tentative de téléchargement d'un fichier inexistant
Conseil
Créez un fichier appelé empty.htm d'une taille d'un octet et contenant un caractère espace. Faites-en une règle lors de l'écriture d'un tag spécifiez toujours SRC=empty.htm s'il est impossible de spécifier immédiatement le nom d'un fichier spécifique.
Exemples de cadres
Cette section fournit quelques exemples typiques de définitions de trames.
Revenons à l'exemple donné au début de cette section (Fig. 5.3). Cet exemple utilise une structure imbriquée
Dans le cadre de cette définition, la première et la dernière ligne sont de simples cadres :
Chacune de ces lignes remplit toute la largeur de l'écran. La première ligne en haut de l’écran occupe 25 pour cent de la hauteur et la troisième ligne en bas occupe également 25 pour cent de la hauteur. Entre eux, cependant, il y a une balise imbriquée
Cette balise définit deux colonnes dans lesquelles la ligne du milieu de l'écran est divisée. La ligne contenant ces deux colonnes occupe 50 % de la hauteur de l'écran, telle que définie dans la balise externe.
Les cadres de ces colonnes sont définis dans une paire de balises imbriquées
La structure des enregistrements est facile à comprendre si vous la considérez comme un bloc imbriqué
La question peut maintenant se poser de savoir si la valeur du paramètre de balise SRC peut être définissez le nom du fichier, qui, à son tour, contient une description de la structure du cadre. Oui, c'est acceptable. Dans ce cas, la balise sera utilisé pour pointer vers un document HTML qui est une structure de cadre et est utilisé comme cadre séparé.
Revenons à l'exemple et remplaçons l'imbriqué
Votre navigateur ne peut pas afficher les cadres
Le deuxième fichier, nommé frameset.htm, contient le code suivant :
Dans ce cas, les lignes du haut et du bas se comportent de la même manière. Mais la deuxième ligne est désormais un simple cadre comme les autres. Cependant, le fichier frameset.htm pointé par le paramètre SRC définit sa propre structure de trame. En conséquence, l’écran affichera exactement la même chose que dans l’exemple d’origine.
Note
Il est en principe possible de créer des structures imbriquées
Conseil
Utiliser des structures imbriquées
Voici un exemple de création d'une grille rectangulaire régulière de cadres :
Cet exemple crée une grille de cadre avec deux lignes et trois colonnes (Figure 5.6). Puisqu’un ensemble de six frames est défini, il est également nécessaire de définir six frames individuelles . Veuillez noter que les définitions des cadres sont données ligne par ligne. Autrement dit, la première balise définit le contenu de la première colonne de la première ligne, le second définit le contenu de la deuxième colonne et le troisième termine la définition des données de la dernière colonne de la première ligne. Les trois dernières images remplissent alors les colonnes de la deuxième ligne.
Riz. 5. 6 . Grille de cadre 2 par 3
Notez également que la somme des valeurs en pourcentage dans le paramètre COLS n'est pas 100, mais seulement 90 pour cent. Il n'y a rien de mal à cela, puisque le navigateur modifiera automatiquement proportionnellement la largeur des colonnes pour éliminer cette contradiction.
Fonctionnalités de navigation lors de l'utilisation de frames
Travailler avec des documents dotés d'une structure de cadre présente certaines fonctionnalités que vous devez connaître. Ces fonctionnalités de JB se manifestent principalement dans la navigation lors du chargement de documents. Des différences significatives dans la navigation sont caractéristiques non seulement des différents navigateurs, mais également différentes versions le même navigateur.
Les versions 3.x et 4.x du navigateur Netscape, lorsque vous cliquez sur le bouton Précédent, ramènent le document au cadre sur lequel la dernière action a été effectuée. Les mêmes actions seront effectuées si l'élément Retour est sélectionné lors de l'appel du menu contextuel dans l'un des cadres. Rappelons que le menu contextuel s'appelle en cliquant sur le bouton droit de la souris. Ainsi, quel que soit le cadre dans lequel le menu contextuel a été appelé, appuyer sur le bouton Retour annulera dernière opération, même s'il a été réalisé dans un cadre différent.
Le navigateur Netscape 2.x fonctionnait complètement différemment. Le menu contextuel contient la commande Retour dans le cadre, qui renvoie le document au cadre actuel plutôt que d'annuler la dernière opération.
Dans n'importe quelle version de Netscape, vous pouvez ajouter un document contenu dans un cadre sélectionné à vos favoris. Pour ce faire, vous devez sélectionner le mode Ajouter un signet dans le menu contextuel mentionné ci-dessus. Si vous sélectionnez simplement le mode Ajouter un signet dans le menu principal du navigateur, un signet sera créé sur le document avec une description de la structure du cadre.
Interaction entre les images
La forme la plus simple de visualisation d'informations sur le WWW consiste à lire des pages et à suivre des liens dans lesquels le document actuel dans la fenêtre du navigateur est remplacé par un autre document. Lorsque vous travaillez avec des cadres, vous pouvez organiser un schéma de chargement de documents plus convivial.
L'interaction entre les cadres est la possibilité de charger des documents dans le cadre sélectionné à l'aide des commandes d'un autre cadre. A cet effet, le paramètre de balise TARGET est utilisé<А>. Ce paramètre précise le nom du frame ou de la fenêtre du navigateur dans lequel le document pointé par ce lien sera chargé. Par défaut, s'il n'y a pas de paramètre TARGET, le document est chargé dans le frame (ou fenêtre) courant. Cette valeur par défaut peut être remplacée en spécifiant une balise
Les noms de cadres doivent commencer par une lettre ou un chiffre latin. Le nom peut être le nom d'une fenêtre ou d'un cadre existant, ou un nouveau nom peut être spécifié sous lequel une nouvelle fenêtre sera ouverte. Il existe quatre noms réservés qui effectuent des actions spéciales lorsqu'ils sont spécifiés. Ces noms commencent par un trait de soulignement (_) : "_blank", "_self", "_parent" et "_top". Tout autre nom commençant par un trait de soulignement n'est pas valide.
CIBLE="_blank" - s'assure que le document est chargé dans une nouvelle fenêtre. Cette fenêtre n'aura pas de nom, et il ne sera donc pas possible d'y charger un autre document.
CIBLE="_soi" - le document sera chargé dans le cadre (ou fenêtre) actuel. Cette entrée doit être utilisée pour contourner la valeur par défaut spécifiée par la balise
CIBLE="_top" - provoque le chargement du document dans la fenêtre complète. Si le document est déjà dans une fenêtre pleine, alors valeur donnée agit de la même manière que"_soi".
CIBLE="_parent" - provoque le chargement du document dans la zone occupée par le cadre parent du cadre courant. S'il n'y a pas de cadre parent, la valeur de ce paramètre a le même effet que"_haut" .
Note
Certaines sources HTML déclarent à tort que si un cadre n'a pas de parent, la valeur "_parent" est équivalente à "_self". Cette affirmation n'est pas toujours correcte.
Avertissement
Les noms de cadres réservés "_blank", "_self", "_parent" et "_top" doivent être écrits en lettres latines minuscules. Notez qu'une telle exigence est unique à Netscape. Microsoft Internet Explorer reconnaît correctement les noms réservés écrits dans tous les cas.
Voici des exemples d'interaction entre les cadres et les fenêtres individuelles du navigateur. Considérez le code HTML suivant :
Ce document HTML décrit une structure composée de trois cadres nommés « A », « B » et « C ». Les noms de cadres seront nécessaires ultérieurement pour organiser les liens entre les cadres. Notez que le cadre nommé "A" dans dans cet exemple il n'y aura aucune référence, donc il aurait pu rester sans nom du tout. Lorsque vous chargez le document ci-dessus dans un navigateur, les cadres afficheront les informations contenues dans les fichiers identifiés par le paramètre SRC. Le cadre "A" recevra le contenu du fichier frame_a.htm et les deux cadres restants recevront les données du fichier empty.htm, qui n'a aucune donnée à afficher. Rappelons encore une fois que le document HTML décrivant la structure des frames ne comporte pas de section
.Voici le texte du fichier nommé frame_a.htm :
D
4. Chargement d'un document dans une nouvelle fenêtreА>
5. Chargement d'un document en pleine fenêtreА>
6. Chargement d'un document dans le cadre actuelА>
Ce document est un document HTML complet avec des sections Le texte du fichier test.htm est extrêmement simple :
Texte du document de test
Le fichier frame_a.htm, dont le contenu a été chargé dans le frame "A", comporte six liens vers le même fichier test.htm avec des valeurs différentes pour le paramètre TARGET.
Considérons les actions qui se produiront lors de la mise en œuvre de ces liens. Le premier lien avec la valeur TARGET="B" chargera le fichier test.htm dans un cadre nommé "in". Notez qu'après avoir implémenté l'un des six liens, le navigateur Netscape les colorera automatiquement tous les six d'une couleur différente, puisqu'ils pointent vers le même fichier. Microsoft Internet Explorer marque uniquement les liens réellement implémentés.
Le deuxième lien fera de même pour le cadre "C". Initialement, il n'y a rien dans les cadres « B » et « C » (plus précisément, le contenu du fichier vide vide.htm est chargé). La mise en œuvre des premier et deuxième liens remplira ces cadres.
Le troisième lien avec la valeur TARGET=MD" conduira à la formation d'une nouvelle fenêtre de navigateur portant le nom "D" et au chargement du fichier test.htm dedans. Notez que la forme d'écriture de ce lien n'est pas différente du premier 2. La différence est que dans le premier Dans deux cas, des références ont été données à des cadres existants, dont les noms ont été définis dans le fichier avec la structure du cadre, et dans ce cas, la référence a été donnée à un objet inexistant. cette référence est faite au moins une fois, puis une fenêtre portant le nom "D" sera créée et un clic répété sur le lien ne fera que recharger les données dans la fenêtre "D" désormais existante. Bien entendu, l'utilisateur peut la fermer à tout moment. temps et recréez-le en sélectionnant ce lien. La figure 5.7 montre la situation après la mise en œuvre des trois premiers liens. Rappelons que l'emplacement et la taille des fenêtres sur l'écran sont déterminés par l'utilisateur.
Riz. 5. 7 . La situation obtenue après mise en œuvre séquentielle des trois premiers liens disponibles dans le cadre de gauche
Le cinquième lien avec la valeur TARGET="_top" chargera le document dans la fenêtre complète au lieu de la structure entière du cadre. Avec cette valeur du paramètre TARGET, aucune nouvelle fenêtre n'est créée. Il est possible de revenir à la structure du cadre en cliquant sur le bouton Retour.
Note
Les noms des cadres ou des fenêtres du navigateur ne doivent pas être confondus avec les noms des documents téléchargés. Les noms des cadres ne sont visibles nulle part lors de la visualisation, ils ne sont nécessaires qu'à organiser l'interaction et sont donc cachés à l'utilisateur. Vous ne pouvez les voir que lorsque vous visualisez le texte source des fichiers HTML.
Conseil
Rappelons que les noms des documents téléchargés sont précisés par la balise
Regardons un autre exemple intéressant d'organisation de l'interaction entre les cadres et les fenêtres du navigateur. Soit le texte du document HTML principal chargé :
Un document avec une structure de cadre dans une nouvelle fenêtreА>
Veuillez noter que si le document principal est un document HTML standard, alors le fichier frame.htm chargé à partir d'un lien du document principal contient la structure du cadre et, à son tour, renvoie au fichier vide.htm.
Après avoir chargé le document principal, la fenêtre du navigateur ressemblera à celle illustrée sur la Fig. 5.8 (fenêtre de gauche). L'ensemble du document se compose de deux liens. Suivons le premier lien. Une nouvelle fenêtre sera créée avec le nom « D », dans laquelle apparaîtra le texte du fichier test.htm (Fig. 5.8, fenêtre de droite). Répéter ce lien ne fera que recharger les données dans la fenêtre "D".
Riz. 5.8. Exemple de fenêtres à cadre interactif
Suivons le deuxième lien. Une nouvelle fenêtre sans nom sera formée, dans laquelle le fichier frame.htm sera chargé, définissant deux cadres avec les noms « C » et « D » (Fig. 5.8, fenêtre du bas). Il n'y a rien dans les deux cadres (plus précisément, un document vide vide.htm est chargé). Notez qu'il y a maintenant une fenêtre ouverte nommée "D" et une fenêtre avec des cadres, dont l'un est également nommé "D". Suivons à nouveau le premier lien. Contrairement au premier cas, les données ne seront pas chargées dans la fenêtre « D », mais dans un cadre nommé « D ». Le résultat de toutes les actions décrites est présenté sur la Fig. 5.8.
Note
L'apparence des fenêtres qui s'ouvrent et leur contenu peuvent parfois même dépendre de l'ordre des actions de l'utilisateur. Travailler avec des documents dont le comportement est difficile à prévoir provoque généralement une irritation justifiée pour l'utilisateur et indique un manque de réflexion dans la structure des données de la part des développeurs.
Si vous modifiez l'ordre des actions, c'est-à-dire exécutez d'abord le deuxième lien, puis le premier, alors la fenêtre nommée « D » n'apparaîtra pas du tout ! Cela se produira car après avoir implémenté le deuxième lien, un cadre nommé "D" sera créé et il ne sera pas nécessaire d'ouvrir une nouvelle fenêtre pour le premier lien.
Cet exemple n'est pas du tout un modèle, mais montre seulement la complexité possible de l'organisation de l'interaction. Au contraire, vous devez essayer de ne pas compliquer inutilement l'organisation des données, et encore moins de créer des situations dans lesquelles le résultat change en fonction de l'ordre des actions de l'utilisateur.
Conseil
Évitez les collisions dans les noms de cadres et de fenêtres. Même s’il n’est pas formellement interdit d’avoir des montures portant les mêmes noms, cela peut prêter à confusion.
Avertissement
Les noms de cadres et de fenêtres sont comparés en respectant la casse. Ainsi, par exemple, les cadres nommés « frame_1 » et « Frame_1 » seront différents.
Exemples d'interactions plus complexes entre les images
Des exemples typiques assez simples d’interaction entre les trames ont été discutés ci-dessus. Les tâches de création de nouvelles fenêtres, de remplacement du contenu des cadres individuels, ainsi que d'affichage d'un document dans une fenêtre complète avec destruction de la structure entière du cadre ont été envisagées. Des exemples sont donnés d'utilisation de noms de cadres personnalisés, ainsi que des noms réservés "_blank", "_self" et "_top". L'utilisation du dernier nom réservé "_parent" est plus complexe et sera décrite ci-dessous.
Cette section examinera des options plus complexes d'interaction entre les images. En particulier, le remplacement du contenu de plusieurs trames adjacentes sera mis en œuvre.
L'une des utilisations les plus courantes des frames, déjà évoquée dans ce chapitre, est le cas de deux frames, dont l'un contient une liste de liens et l'autre contient les documents eux-mêmes (Fig. 5.1).
Essayons d'élargir la formulation du problème. Supposons que vous souhaitiez afficher à l'écran le contenu d'un document assez volumineux composé de chapitres divisés en sections. Un exemple typique est la littérature technique sur un sujet particulier. Décrivons la présentation souhaitée d'un tel document à l'écran. Divisons l'écran en trois cadres, dont l'un contiendra une liste de chapitres de livre, le second - une liste de sections du chapitre sélectionné et le troisième - le texte de la section sélectionnée. Lorsque vous sélectionnez un lien dans le deuxième cadre, le contenu du troisième cadre doit changer. La mise en œuvre de cette exigence est triviale. Lorsque vous sélectionnez un lien dans la première image, le contenu des deuxième et troisième images doit changer simultanément. À première vue, implémenter cette tâche en HTML est impossible (sans utiliser de programmation en JavaScript ou autres), puisque lorsqu'un lien est exécuté, un seul document est chargé, et non deux ou plus. Néanmoins, résoudre ce problème est tout à fait possible.
Montrons une solution possible à un tel problème à l’aide d’un exemple simple. Supposons que vous souhaitiez afficher trois cadres à l'écran et y charger des documents. Fixons-nous pour tâche de créer des liens dans chacune de ces frames, dont la mise en œuvre, par exemple, échangeait le contenu de deux frames. Laissez le premier cadre occuper 50 % de la largeur de la fenêtre et 100 % de sa hauteur et positionnez-le sur le côté gauche de la fenêtre. La moitié droite de la fenêtre est également divisée en deux horizontalement et contient deux autres cadres. Cette structure est décrite par le code suivant :
En utilisant ce code HTML, la structure requise sera créée, mais il est impossible de résoudre le problème. Il est nécessaire de supprimer la structure imbriquée
Fichier créé avec une structure imbriquée
À première vue, rien n’a changé. Dans les deux cas, il y a trois cadres dans lesquels sont chargés respectivement les documents left.htm, 1.htm et 2.htm. Cependant, lorsque les cadres interagissent, la différence apparaîtra. Si dans le premier cas aucune des frames n'a de frame parent, alors dans le second cas pour deux frames le parent sera une frame nommée "Two_Frames". Par conséquent, si dans l'une des deux images vous appliquez un lien avec une valeur de paramètre TARGET égale à "_parent", alors le résultat sera différent pour le premier et le deuxième cas. Dans le premier cas, la mise en œuvre d'un tel lien chargera le document dans une fenêtre complète, remplaçant ainsi la structure de trame existante. C'est là qu'intervient la propriété de valeur "_parent", qui agit comme "_top" en l'absence de frame parent. Dans le second cas, un cadre nommé "Two_Frames" sera remplacé, qui occupe la moitié droite de l'écran et se compose essentiellement de deux cadres.
Le deuxième cas diffère formellement du premier également par la présence d'un cadre nommé "Two_Frames" auquel des références peuvent être faites. C'est précisément cette fonctionnalité qui nous permettra de résoudre le problème.
Voici le contenu du fichier left.htm, initialement chargé dans la première des frames considérées :
documents dans deux cadres situés sur le côté droit de la fenêtre.
Sélectionnez l'option d'emplacement du document :
1 _2.htm" TARGET="Two_Frames">Option 1-2А>
Notez que le texte des fichiers 1_2.htm et 2_1.htm ne diffère que par l'ordre des liens vers les fichiers 1.htm et 2.htm.
Considérons maintenant la construction d'un document chargé dans le cadre de gauche. Il contient deux liens avec le paramètre TARGET="Two_Frames". L'implémentation de l'un de ces liens crée deux cadres à l'emplacement du cadre « Two_Frames » (c'est la moitié droite de l'écran), chargeant les documents 1.htm et 2.htm dans un ordre ou un autre. Ainsi, lors du choix de l'option 1-2, le document 1.htm est chargé dans le cadre supérieur droit et 2.htm dans le cadre inférieur droit. Lorsque vous sélectionnez l'option 2-1, l'ordre des documents change. En conséquence, la sélection alternée des options crée l’impression que les documents dans les deux cadres changent de place. C’est exactement l’effet que nous cherchions à obtenir (Fig. 5.9).
Le contenu des documents 1.htm et 2.htm n'a pas d'importance pour l'exemple décrit. Cependant, par exemple, au lieu de documents triviaux, nous créerons des documents avec des liens qui mettent en œuvre les mêmes actions.
Texte du fichier 1.htm :
Document 1
Options 1-2
Option 2-1
Le fichier 2.htm diffère du 1.htm uniquement par l'en-tête.
Il existe deux liens avec la valeur TARGET="_parent" qui pointent vers le cadre parent. Ces liens peuvent également être écrits avec un nom explicite du frame parent, c'est-à-dire TARGET="Two_Frames", mais utiliser un nom implicite est généralement plus pratique. Par exemple, si vous excluez les liens du cadre de gauche (document left.htm), vous pouvez omettre le nom du cadre « Two_Frames » spécifié lors de la description de la structure du cadre principal. Cela créerait un cadre sans nom, mais les liens des documents 1.htm et 2.htm avec TARGET="_parent" fonctionneraient toujours correctement.
Conseil
Dans la mesure du possible, utilisez un nom de trame implicite. Par exemple, "parent", "top", "self" au lieu de spécifier des noms spécifiques.
Riz. 5.9. Fenêtres frame interactives avec pour effet de modifier les documents chargés
Différence entre les cadres et les fenêtres du navigateur
Lorsque l'on travaille avec des frames, la question se pose de la différence fondamentale entre organiser la structure des frames d'une fenêtre de navigateur et créer plusieurs fenêtres. À première vue, il peut sembler que vous pourriez vous contenter de la possibilité de créer plusieurs fenêtres, car travailler avec des fenêtres et des cadres est très similaire. Chaque cadre nécessite le chargement d'un document distinct, a la capacité de faire défiler le contenu indépendamment et peut être modifié par des commandes provenant d'autres cadres. Ces propriétés des frames sont similaires à celles des fenêtres du navigateur. Avec une organisation tabulaire des données, il est impossible d’obtenir une telle liberté d’action.
Il existe cependant une différence significative entre les cadres et les fenêtres. Avec l'organisation des cadres, la division de la zone de visualisation en cadres est effectuée par le document HTML lui-même, en indiquant les dimensions et leur emplacement. Lors de la visualisation, l'utilisateur peut modifier la taille des cadres, sauf si cela est interdit dans la description de leur structure. La disposition des fenêtres est déterminée par les règles générales de travail avec le système Windows - l'utilisateur peut étendre n'importe quelle fenêtre en plein écran, la réduire en icône ou définir arbitrairement sa taille et son emplacement. Les fenêtres, contrairement aux cadres, peuvent se chevaucher. Cette richesse de choix a son inconvénient : vous devez à chaque fois positionner manuellement les fenêtres sur l'écran et les redimensionner pour obtenir l'option d'affichage optimale. En cas de cadres Meilleure option Le rapport de taille est généralement spécifié par le développeur dans la description de la structure du cadre et n'a souvent pas besoin d'être modifié.
Conseil
Bien que les cadres ne puissent pas offrir toutes les possibilités de travail avec des fenêtres individuelles, leur organisation rationnelle créera un maximum de confort pour l'utilisateur.
Travailler avec Windows présente également d'autres inconvénients. La création de chaque fenêtre nécessite beaucoup de mémoire. Essentiellement dans Netscape, chaque fenêtre est une autre copie du navigateur et est livrée avec ensemble complet boutons et menus. La même situation est typique pour Microsoft Internet Explorer.
Notez que l'organisation des fenêtres individuelles dans les navigateurs se fait différemment. La création d'une nouvelle fenêtre avec un document entraîne l'apparition d'une tâche distincte dans le système Windows, comme vous pouvez le voir en consultant la liste tâches en cours d'exécution. Par conséquent, basculer entre les fenêtres peut se faire de la même manière que basculer entre différentes tâches, par exemple en appuyant sur un raccourci clavier.
De nombreuses applications Windows populaires ont le concept de fenêtre de document. Les exemples incluent le traitement de texte Microsoft Word ou le programme graphique Paint Shop Pro et bien d'autres. Chacune de ces applications permet l'utilisation simultanée de plusieurs fenêtres avec des données et, en règle générale, il existe un menu Fenêtre, qui fournit une liste de fenêtres et permet de basculer entre elles. La création d'une nouvelle fenêtre dans de telles applications se produit généralement lors de l'ouverture d'un fichier existant ou de la création d'un nouveau. Cependant, dans ces programmes, lorsqu'une nouvelle fenêtre est créée, une nouvelle tâche en cours n'est pas créée.
Netscape dispose également d'un menu Fenêtre qui répertorie les fenêtres existantes. (Dans les versions Netscape 4.x, cette fonctionnalité est fournie par l'élément Fenêtre du menu Communicator.) Revenons à la Fig. 5.8. Dans cet exemple, trois fenêtres sont ouvertes en même temps, chacune étant essentiellement un navigateur distinct. Cependant, pour l’utilisateur, ce sont toutes des fenêtres d’un même navigateur qui peuvent interagir entre elles. Dans n'importe laquelle de ces fenêtres, vous pouvez ouvrir le menu Fenêtre et voir une liste de trois fenêtres. En figue. La figure 5.10 montre la situation dans laquelle cela est fait pour la fenêtre inférieure.
Riz. 5.10. Ouverture de fenêtres Frame dans le navigateur Netscape
Chaque fenêtre peut être fermée séparément (à l'aide de la commande Fermer du menu Fichier). Pour terminer de travailler avec le navigateur dans n'importe quelle fenêtre, vous pouvez ouvrir le menu Fichier et sélectionner Quitter (Fig. 5.11).
Si plusieurs fenêtres étaient ouvertes, elles seront toutes fermées, mais avant cela, un message d'avertissement apparaîtra (Fig. 5.12).
Chaque fenêtre du navigateur peut avoir ses propres paramètres (mais pas tous). Regardez la fig. 5.11. Deux fenêtres sont ouvertes dont une divisée en trois cadres. Le même document est chargé dans deux des trois frames, ainsi que dans une fenêtre séparée. La possibilité de configurer indépendamment les paramètres de chaque fenêtre permet d'afficher différemment le même document. Dans l'exemple ci-dessus, la taille de police du document dans une fenêtre est plus grande que dans l'autre. Cet effet est obtenu en définissant des encodages différents pour chaque fenêtre (l'élément Encodage du document du menu Options ou l'élément Jeu de caractères du menu Affichage pour la version 4.x), les deux encodages utilisant la même police, mais de tailles différentes. La modification d'un élément du menu Préférences générales affecte toutes les fenêtres.
Riz. 5.11. Quitter le navigateur Netscape
Riz. 5.12. Avertissement concernant la fermeture des fenêtres dans le navigateur Netscape
Fonctionnalités supplémentaires du navigateur
Toutes les balises de description de cadre ci-dessus avec les paramètres correspondants sont implémentées de manière presque identique dans les navigateurs Netscape et Microsoft Internet Explorer, cependant, chacun de ces navigateurs vous permet d'utiliser en plus ses propres balises ou paramètres uniques.
Fonctionnalités du navigateur Netscape
Le navigateur Netscape, à partir de la version 3.0, autorise trois options supplémentaires : BORDER, FRAMEBORDER et BORDERCOLOR. Le paramètre BORDER s'applique uniquement à la balise
Le paramètre FRAMEBORDER peut être utilisé aussi bien dans la balise
Notez que les paramètres BORDER et FRAMEBORDER fonctionnent indépendamment les uns des autres. Par exemple, si FRAMEBORDER est défini sur NO et BORDER est défini sur une valeur autre que zéro, alors la bordure entre les images ne sera pas dessinée, mais l'espace spécifié par la valeur du paramètre BORDER lui sera toujours alloué.
Le paramètre BORDERCOLOR peut être utilisé comme dans la balise
Voici un exemple :
La première ligne de ce code HTML spécifie trois cadres, avec un espace entre eux pour un cadre de 10 pixels d'épaisseur (Figure 5.13).
Riz. 5.13. Dessiner des bordures entre les cadres dans le navigateur Netscape
Entre les fenêtres frame "A" et "B", aucun frame n'est dessiné en raison de la valeur NO du paramètre FRAMEBORDER, cependant la couleur rouge est définie pour le frame. Pour la dernière image "c", la valeur FRAMEBORDER est définie sur Oui et remplace la valeur définie sur la première ligne. Ainsi, entre les cadres nommés « B » et « C », un cadre rouge d'une épaisseur de 10 pixels sera toujours dessiné.
Note
Si les bordures entre les cadres ne sont pas dessinées, le navigateur Netscape ne permettra pas de redimensionner les cadres en les faisant glisser avec la souris, même sans le paramètre NORESIZE. Pour Microsoft Internet Explorer, la situation est différente.
Notez que les cadres sans bordures ne sont pas très rarement utilisés. Rappelons que l'absence de frames n'empêche pas l'apparition de barres de défilement (Fig. 5.14).
Riz. 5.14. Barres de défilement dans un cadre sans bordures
Fonctionnalités du navigateur Microsoft Internet Explorer
Le navigateur Microsoft Internet Explorer vous permet d'utiliser le paramètre FRAMEBORDER aux mêmes fins que celles décrites ci-dessus, mais ne vous permet pas de définir la couleur et l'épaisseur des cadres. Cependant, seule la valeur numérique « O » peut être utilisée comme valeur du paramètre FRAMEBORDER pour annuler le dessin d'un cadre, ou une valeur numérique non nulle pour dessiner un cadre.
La différence dans les règles de définition des valeurs du paramètre FRAMEBORDER pour différents navigateurs est très désagréable. Essayez, par exemple, de définir FRAMEBORDER=Yes. Cette entrée est correcte pour Netscape, mais pour Microsoft Internet Explorer, elle entraînera l'absence de cadre. L'exemple précédent (Fig. 5.13), lorsqu'il est visualisé dans Microsoft Internet Explorer, sera présenté sans cadre.
Conseil
Il est recommandé de toujours écrire la valeur du paramètre FRAMEBORDER sous forme numérique, par exemple FRAMEBORDER=0. Cela suit les règles d'écriture d'un paramètre pour Microsoft Internet Explorer, mais viole les règles de Netscape (bien que cela soit correctement perçu par ce dernier).
Note
Si les cadres entre les cadres ne sont pas dessinés, alors le navigateur Microsoft Internet Explorer (contrairement à Netscape), en l'absence du paramètre NORESIZE, permettra de « toucher » redimensionner les cadres en faisant glisser les cadres avec la souris. Vous pouvez trouver l'endroit où doit se trouver le cadre en modifiant la forme du pointeur de la souris.
Le navigateur Microsoft Internet Explorer permet l'utilisation d'un paramètre FRAMESPACING supplémentaire écrit dans la balise
Donnons un exemple dont le résultat d'affichage est présenté sur la Fig. 5.15.
Riz. 5.15. Espace vide entre les images dans Microsoft Internet Explorer
Note
Malheureusement, de nombreuses descriptions du langage HTML indiquent à tort que le paramètre FRAMESPACING doit être utilisé dans la balise. . Microsoft Internet Explorer autorise uniquement l'utilisation de ce paramètre dans une balise
Cadres flottants
Le navigateur Microsoft Internet Explorer permet l'utilisation d'une balise unique
De plus, les paramètres supplémentaires suivants peuvent être utilisés pour définir la position et la taille du cadre flottant dans le document : WIDTH, HEIGHT, HSPACE, VSPACE, ALIGN. Leur objectif et leur ordre d'utilisation coïncident avec les paramètres correspondants pour les images intégrées, qui sont spécifiés par la balise .
Voici un exemple d'utilisation de frames flottants :
Un exemple d'utilisation du concept de frames flottants
СЕМТЕК>
Votre navigateur n'autorise pas l'affichage de frames flottants
Microsoft Internet Explorer est le premier navigateur (et jusqu'à présent le seul) à prendre en charge les cadres dits « flottants ».
Ces cadres peuvent être placés n'importe où sur l'écran, tout comme les graphiques et les tableaux.
Le cadre à droite de ce texte est placé sur la page à l'aide d'une balise spéciale
Le résultat de l'affichage de cet exemple par le navigateur Microsoft Internet Explorer est présenté dans la Fig. 5.16. Les navigateurs qui ne prennent pas en charge le concept de cadres flottants afficheront, pour cet exemple, au lieu d'afficher le contenu du document float.htm, le texte "Votre navigateur n'autorise pas l'affichage de cadres flottants".
Riz. 5.16. Cadre flottant dans Microsoft Internet Explorer
Notez que le concept de cadres flottants est similaire en idéologie aux images ou aux tableaux intégrés. Ici, un autre document HTML est entièrement intégré à l'endroit souhaité dans le document HTML.
Conseil
Actuellement, l'utilisation des cadres flottants est limitée à un seul navigateur : Microsoft Internet Explorer version 3.0 et supérieure. Veuillez noter que les utilisateurs d'autres navigateurs (notamment Netscape) ne pourront pas voir le contenu des iframes.
Outils de création de documents contenant des cadres
Un document HTML contenant des cadres, comme tout autre document, peut être créé ou modifié manuellement à l'aide de n'importe quel éditeur de texte disponible. La plupart des éditeurs HTML spécialisés ne disposent pas de capacités de cadrage visuel ou ont des capacités très limitées. Il existe plusieurs éditeurs spéciaux axés sur la création de cadres. Décrivons brièvement les capacités de certains d'entre eux.
Éditeur de cadres FrameGang
L'un de ces éditeurs est l'utilitaire FrameGang, développé par la société australienne Sausage Software, mieux connue pour son populaire éditeur HTML HotDog.
Des informations sur ce produit logiciel peuvent être obtenues à l'adresse http://www.sausage.com, ainsi que de la collection de produits logiciels pour Internet (à http://www.tucows.com ou tout autre parmi plusieurs dizaines de serveurs miroirs disséminés dans le monde).
L'utilitaire FrameGang est un ajout à tout éditeur HTML ou éditeur de texte standard exécuté dans l'environnement Windows, qui vous permet de concevoir visuellement la structure de cadre nécessaire, puis de générer le code HTML correspondant. Le code HTML résultant peut être transféré vers l'éditeur HTML via le presse-papiers de Windows (Clipboard). Le programme FrameGang vous permettra de construire rapidement la structure de trame souhaitée.
Regardons les capacités du programme. Après avoir installé ce programme sous Windows et l'avoir lancé, il vous est demandé de sélectionner l'une des deux structures de cadre possibles du premier niveau (supérieur) - disposition des cadres en colonnes (colonnes) ou en lignes (lignes), et également de déterminer leur nombre. A l'avenir, chacune des trames de premier niveau pourra, si nécessaire, être divisée en plusieurs trames de deuxième niveau. Un plus grand nombre de niveaux de trame n'est pas fourni, mais il ne s'agit pas d'une limitation significative, car en pratique plus de deux niveaux sont rarement utilisés.
A titre d'exemple, sélectionnons quatre cadres disposés en colonnes. Ensuite, vous devez créer une structure de cadres de deuxième niveau, en divisant les cadres existants dans la direction opposée. Pour cet exemple, les images ne peuvent être divisées qu’horizontalement. La création de cadres de deuxième niveau est effectuée dans l'élément de menu Ajouter, dont la mise en œuvre ajoute le cadre suivant à celui actuel.
Veuillez noter que les images amusantes dans les cadres n'ont aucune signification et ne servent qu'à remplir un espace vide. Leur dessin peut être annulé dans le menu Options. Nous notons également que le nom même du fabricant (saucisse - saucisses) et le nom de certains de ses produits logiciels (HotDog - n'a pas besoin de traduction) ont déterminé le style d'interface de ce package - dans de nombreux éléments de menu, il y a une image de saucisses. .
Après avoir défini la structure des cadres, vous devez définir leurs tailles. Cela se fait en déplaçant simplement les bordures des cadres avec la souris de la même manière que pour redimensionner les fenêtres Windows. Les dimensions définies pour le cadre actuel sont affichées sous forme de pourcentage dans les fenêtres nommées Largeur et Hauteur. Si vous devez définir la taille des images non pas en pourcentages, mais en pixels ou en unités relatives, vous devez modifier manuellement le code HTML résultant en dehors du programme FrameGang.
Ensuite, pour chaque cadre, vous devez définir son nom (Name), qui peut être omis, l'URL du document initialement chargé dans ce cadre (Frame URL), et également sélectionner la valeur du paramètre Resizeable Frame Border et du paramètre de défilement. pour le contenu du cadre (Frame Scrolling).
A tout moment, vous pouvez visualiser la structure du cadre en cours de création dans le navigateur externe sélectionné sans quitter le programme FrameGang. Le bouton Aperçu est utilisé à cet effet. La définition du nom du navigateur se fait dans le menu Options. Après avoir défini tous les paramètres, vous devez générer du code HTML correspondant à la structure de frame sélectionnée, qui sera écrit dans le presse-papiers de Windows (bouton HTML Compile). Le code résultant peut être collé du presse-papiers à l'endroit souhaité dans le fichier HTML lorsque vous travaillez dans n'importe quel éditeur.
Les boutons Enregistrer et Ouvrir le fichier permettent d'enregistrer et de lire le fichier uniquement dans un encodage spécial spécifique au programme FrameGang et non destiné à un autre usage.
Ci-dessous le code HTML généré par FrameGang pour l'exemple décrit :
Pour obtenir un document HTML correct, il suffit de mettre le code résultant entre des balises Et. Vous pouvez ajouter une section d'en-tête de document
, dans lequel définir les données nécessaires, par exemple le titre du document (rappelez-vous que le titre du document est écrit entre les balisesLe programme FrameGang vous permet de concevoir visuellement des cadres, est assez pratique et facile à utiliser, mais n'est pas sans quelques inconvénients. En particulier, il n'est pas possible de spécifier la taille des cadres en écrivant les nombres requis dans les fenêtres Largeur et Hauteur, car elles n'affichent que les tailles définies lors du déplacement des limites du cadre avec la souris. Les paramètres de trame généralement acceptés MARGINWIDTH et MARGINHEIGHT ne sont pas définis. Il n'existe aucun moyen d'écrire un fichier au format texte sur le disque, ce qui rend impossible l'utilisation de ce programme hors ligne.
Éditeur de cadres Frame-It
Un autre éditeur de cadres spécialisé est Frame-It, dont les informations peuvent être trouvées sur :
http://www.iinet.net.au/~bwh/frame-it.html
Travailler avec ce programme est à bien des égards similaire au précédent. Vous devez d’abord déterminer la structure de base des cadres et leur nombre. Ensuite, chaque cadre, si nécessaire, est divisé en plusieurs, formant des structures de deuxième niveau. Tout comme le programme précédent, le nombre de niveaux d'imbrication de trames est limité à deux.
Pour chaque image, tous les paramètres nécessaires sont définis en remplissant les champs appropriés. Contrairement au programme précédent, il est possible de définir les valeurs des paramètres MARGINWIDTH et MARGINHEIGHT. De plus, l'indicateur Invisible Frame Borders a été introduit, qui, lorsqu'il est défini, génère le fragment de code suivant :
FRAMEBORDER="NON" BORDER="0" FRAMESPACING="0".
Après avoir défini les paramètres de cadre requis, vous pouvez enregistrer le code HTML généré dans un fichier ou l'écrire dans le presse-papiers de Windows. Le code généré contiendra non seulement une description de la structure du cadre, mais également une balise de début , ainsi que quelques balises
Pour un exemple spécifique, le code suivant sera généré :
FRAMESACING="0">
avec structure de cadre
Si dans cet exemple vous décochez la case Invisible Frame Borders, le code généré changera considérablement :
défilement = redimensionnement automatique>
défilement = redimensionnement automatique>
défilement = redimensionnement automatique>
défilement = redimensionnement automatique>
défilement = redimensionnement automatique>
Votre navigateur ne peut pas afficher les documents
avec structure de cadre
Informations sur l'utilisation des frames sur le WWW
Pour plus d'informations sur les frames, vous pouvez vous référer aux adresses suivantes sur le WWW :
http://www.spunwebs.com/sites2c/frmtutor.html
http://union.ncsa.uiuc.edu/HyperNews/get/www/html/guides.html
http://cox.asu.edu/Trial/faq/webfaqs/frame/
http://www.netlingo.com/more/framestarget.html
http://www.aubg.bg/beast/students/raduluc/teach/fr/
http://www.as.net/frame/
http://www.cqi.com/~pmurphey/instruction/
http://www.iwaynet.net/~rtyler/htmltutorial/frames.html
http://edbo.com/frames/
http://bela.fei.tuke.sk/netscape/frames/
http://www.newbie.net/frames/2ed/rnenu.htmtfcontents
http://infoserver.etI.vt.edu/coe/COE_Students/laughon/frame.html
http://www.htmlhelp.com/frames/syntax/
http://www.woodhill.co.uk/html/
http://www.htmlhelp.com/design/frames/
Bonne journée à tous! Andrey Bernatsky est avec vous.
Avant de passer directement à l'article, je voudrais vous donner un lien vers la version vidéo de ce sujet :
Dans cet épisode, nous parlerons cadres en HTML. Cadres en substance, ils sont très similaires aux tableaux, mais contrairement aux tableaux, chaque cadre est indépendant et chacun d'eux peut avoir une page Web distincte avec sa propre adresse.
Sur la figure, nous voyons une structure de site assez courante. Il peut être présenté sous forme de tableau, ou tout cela peut être réalisé à l'aide de cadres. Dans le cadre supérieur, vous pouvez charger une page avec un logo et un menu, dans le cadre de gauche vous pouvez charger une page avec la navigation du site, dans le cadre central il y aura une page avec le contenu principal du site, dans le cadre de droite vous peut charger une page avec des bannières publicitaires et dans le cadre inférieur, vous pouvez charger une page avec des informations de contact. Voici en un mot ce que sont les cadres.
Voyons maintenant comment tout cela peut être réalisé.
La particularité d'un document contenant des frames est qu'il ne contient pas de conteneur CORPS. Un conteneur est utilisé à la place CADRE. La syntaxe générale des frames est la suivante :
XHTML
…
…
|
Dans un conteneur
À l'étiquette
lignes = nombre– nombre de lignes (seuils horizontaux).
colonnes = nombre– nombre de colonnes (seuils verticaux).
De manière générale, les valeurs des paramètres rows et cols ne sont pas spécifiées exactement par des nombres, mais en répertoriant les nombres séparés par des virgules. Autant il y a de nombres, autant il y aura de lignes ou de colonnes, et les nombres déterminent la taille du cadre. L'essentiel est que la somme de ces nombres soit égale à toute la largeur de l'écran.
Regardons cela avec un exemple, et tout sera clair. Créons maintenant un document cadre comme celui-ci :
Le code qui définira pour nous cette structure de frame ressemblera à ceci :
XHTML
|
La première ligne du code ci-dessus ouvre le conteneur frameset, le paramètre cols indique qu'il y aura trois frames imbriquées. Le premier aura une largeur de 30 % de la largeur totale de l’écran. Le troisième aura également 30 % de la largeur totale de l’écran. Et le deuxième cadre occupera tout l'espace restant. Oui symbole "*" (astérisque) signifie qu'il occupe tout l'espace restant sur l'écran.
Au fait, regardons comment les frames peuvent être définis dans les paramètres cols et rows :
Vous pouvez définir la taille en entrant simplement un nombre. Ce nombre déterminera la taille du cadre en pixels.
Vous pouvez définir la largeur en pourcentage. De plus, si la somme des pourcentages de toutes les colonnes dépasse 100 %, alors toutes les trames seront réduites proportionnellement pour que la somme totale soit égale à 100 %. La situation sera similaire : si la somme des pourcentages de toutes les colonnes est inférieure à 100 %, alors toutes les trames augmenteront proportionnellement pour que la somme totale soit égale à 100 %.
Vous pouvez définir la taille du cadre avec un symbole “*”
(étoile). Cela signifie que le cadre doit occuper tout l'espace restant. Si spécifié, par exemple
Vous pouvez combiner des options pour définir la taille des cadres en HTML. Par exemple:
XHTML
Ce code signifie que la première image fera 70 pixels, la troisième fera 40 % de la largeur de l'écran et la seconde occupera le reste de l'espace.
Nous avons complètement compris la première ligne de code. Poursuivre.
Les balises suivent . Depuis séparé par des virgules dans le paramètre colsétiqueter jeu de cadres si trois nombres sont donnés (c'est-à-dire qu'il y aura trois cadres), alors les balises il doit y en avoir trois aussi. La valeur du paramètre src est l'adresse de la page web qui sera chargée dans ce frame. L'adresse, comme le montre l'exemple, peut être absolue et relative.
Et la dernière ligne ferme le conteneur
Si nous remplaçons le paramètre cols par des lignes dans la première ligne de code, nous obtiendrons le même document frame, composé de trois frames. Seule la division en frames sera verticale.
XHTML
|
Possibilités Lignes Et cols ne peuvent pas être utilisés simultanément. Cela entraîne des erreurs et un affichage incorrect du contenu.
Tout le monde se pose désormais la question de savoir comment créer une telle structure, dont j'ai parlé au tout début de l'article. Nous y reviendrons un peu plus tard, mais pour l’instant tournons-nous vers ce qui se passe actuellement dans notre navigateur.
Dans le navigateur, nous voyons trois pages, chacune étant dans son propre cadre.
En même temps, en déplaçant le curseur de la souris sur les bordures des cadres, nous pouvons modifier la taille des cadres ; les barres de défilement et les bordures entre les cadres sont également visibles. Ce n’est pas toujours nécessaire, en fait, ce n’est pas du tout nécessaire. Et tout cela peut être contrôlé grâce aux paramètres des balises cadre Et jeu de cadres.
Options de balise cadre Et jeu de cadres:
src="url"– paramètre requis. Spécifie l'adresse de la page qui sera affichée à l'intérieur du cadre. Utilisé uniquement pour le cadre.
noredimensionner– annule la possibilité de redimensionner. Utilisé uniquement pour cadre.
défilement="oui/non/auto"– détermine la présence de barres de défilement. La valeur oui – indique la présence de barres de défilement. La valeur no spécifie qu'il n'y aura pas de barres de défilement. Lorsqu'il est défini sur auto, le navigateur détermine lui-même s'il y aura des barres de défilement. Utilisé uniquement pour cadre.
name="nom-cadre"– nom du cadre. Ce paramètre est utilisé pour l'interaction entre les images. Nous en reparlerons un peu plus tard. Utilisé uniquement pour cadre.
bordure=numéro– épaisseur des bordures entre cadres. S'il prend la valeur 0, alors les bordures entre les images ne sont pas affichées. Utilisé uniquement pour le jeu de cadres.
framepacing="numéro"– distance entre les cadres. Utilisé uniquement pour le jeu de cadres.
En utilisant ces paramètres, vous pouvez obtenir une page dans laquelle les bordures entre les cadres ne sont pas affichées, il n'y a aucun moyen de modifier la taille des cadres et le défilement est interdit pour les deux derniers cadres. Le code d'une telle page ressemble à ceci :
XHTML
|
Il existe quelques autres options, mais elles ne fonctionnent pas clairement, donc je pense qu'il est logique de ne même pas les mentionner dans la version.
C'est peut-être tout avec les paramètres. Nous avons examiné un exemple de la façon de les utiliser.
Créons maintenant la structure de cadre dont j'ai parlé au tout début de la version.
Pour ce faire, nous créons une structure de trois cadres divisés verticalement.
XHTML
En conséquence, au lieu de la balise
, nous devons insérer un autre conteneur
XHTML
"../leçon3/Sans titre-1.html" />
|
Après cela, nous insérons notre troisième cadre avec les informations de contact et fermons le conteneur principal
XHTML
|
Le code complet de cette page est ci-dessous :
XHTML
"../leçon3/Sans titre-1.html" />
|
Bien sûr, j’ai pris les adresses des cadres des numéros précédents de la newsletter, et nous n’avons vu ici aucun menu, logo, navigation, etc. Mais nous avons la structure dont nous avions besoin. Mais si vous créez les pages dont vous avez besoin, vous pouvez obtenir une belle structure.
Ce que nous avons obtenu à la fin. C'est à vous de décider si cela est pratique ou peu pratique, mais avec une structure de cadres, tous nos cadres restent toujours sur la page. Quelle que soit la taille du contenu, nous verrons toujours le logo et le menu du site, le bas du site avec les coordonnées, le bloc de navigation et les bannières. C’est en général l’essence et la signification des cadres.
Il y a la possibilité d'interaction entre les images. Vous pouvez faire en sorte qu'en cliquant sur un lien dans un cadre, l'information apparaisse dans un autre. Nous allons maintenant voir comment cela se fait.
Créons un cadre comme celui-ci :
Nos liens seront situés dans le cadre de gauche. Et à droite se trouvent les pages vers lesquelles mènent ces liens.
Créons un cadre comme celui-ci :
XHTML
La fenêtre du navigateur peut être divisée en cadres, c'est-à-dire dans des zones situées les unes à côté des autres. Vous pouvez télécharger vos propres pages HTML dans chacune de ces zones. Ce sera plus clair avec un exemple, créez un nouveau fichier appelé index.html avec le code suivant :
Cadres en HTML
Dans la fenêtre du navigateur, cela ressemblera à ceci :
La fenêtre du navigateur est divisée en 3 parties. Je dois dire que c'est le seul cas où il n'y a pas de balises dans un document html
. Des balises sont utilisées à la place
Le nombre de ces zones et la façon dont elles seront localisées dépendent de deux paramètres de balise
- Lignes- spécifie de diviser la fenêtre en zones horizontales. De plus, le nombre de valeurs de ce paramètre, le nombre de zones. Dans notre exemple lignes="30%, 10%, 60%", c'est à dire. trois zones horizontales : la largeur de la première est de 30 % de la largeur de l'écran, la largeur de la seconde est de 10 % et la troisième est de 60 %.
- cols- spécifie de diviser la fenêtre en zones verticales.
Nous examinerons les paramètres des balises avec des exemples.
Nous avons donc regardé tous les paramètres des balises .
La touche finale : retirer les cadres du cadre. Pour faire cela dans la balise
Cadres en HTML
Maintenant, notre page ressemble à ceci :
Avantages et inconvénients des cadres
Maintenant que vous comprenez les frames, il est temps de parler des avantages et des inconvénients des sites Web framed.
Un avantage incontestable est la réduction de la quantité d’informations téléchargées sur l’ordinateur de l’utilisateur. Après tout, l'en-tête et le menu du site ne sont chargés qu'une seule fois, puis seul le contenu change. Bien entendu, cela réduit les temps de chargement.
Mais il existe bien d’autres lacunes. Premièrement, il est facile de se perdre dans la structure des cadres.
Deuxièmement, notre menu se trouve dans un fichier séparé. Cela signifie que si un utilisateur trouve, par exemple, votre page content.html via un moteur de recherche, il ne pourra alors que la lire, car il n'y a aucun lien ou élément de menu sur cette page.
Enfin, tous les navigateurs ne prennent pas en charge la structure de trame. Par conséquent les balises existantes
D'où la conclusion : n'utilisez pas de cadres sauf si cela est absolument nécessaire.
Exemples de structures à ossature
Comme vous vous en souvenez, deux paramètres sont responsables de la division en images : Lignes Et cols. En les combinant, vous pouvez diviser la fenêtre en cadres de n'importe quelle manière. Nous considérerons des exemples d'un tel partitionnement.
Exemple 1:
Cadres en HTML
Nous obtenons trois cadres verticaux. La largeur du premier est de 150 pixels, la seconde de 300 et la troisième représente le reste de l'espace de la fenêtre.
Résultat:
Exemple 2 :
Cadres en HTML
Nous obtenons deux cadres verticaux. La largeur du premier est prise égale à un, et le second est pris deux fois plus large que le premier (soit 33% et 67% de la largeur de la fenêtre).
Résultat:
Exemple 3 :
Cadres en HTML
Nous obtenons deux cadres horizontaux. La hauteur du premier est de 100 pixels et le second représente le reste de l'espace.
Nous allons diviser le deuxième cadre horizontal en deux cadres verticaux : l'un mesure 200 pixels de large et le second occupera le reste de l'espace. Ceci est réalisé en utilisant des balises imbriquées
Disposition verticale du cadre
Comment créer une colonne de cadres à partir de trois documents différents.
Disposition horizontale des cadres
Comment créer une rangée de cadres à partir de trois documents différents.
(Vous trouverez d'autres exemples en bas de cette page).
Cadres HTML
Avec les cadres, vous pouvez afficher plusieurs documents HTML dans la même fenêtre de navigateur. Chaque document HTML est appelé un cadre et chaque cadre est indépendant des autres.
Inconvénients de l'utilisation de cadres :
- Les cadres pourraient ne plus être pris en charge dans les futures versions de HTML
- Les cadres sont difficiles à utiliser. (Il est difficile d'imprimer la page entière).
- Un développeur Web doit suivre de nombreux documents HTML.
Élément de jeu de cadres HTML
L'élément frameset contient un ou plusieurs éléments frame. Chaque élément du cadre peut contenir un document distinct.
L'élément frameset spécifie COMBIEN de colonnes ou de lignes il y aura dans le frameset, et COMBIEN de pourcentages/pixels d'espace chaque cadre occupera.
Élément de cadre HTML
Étiqueter définit une seule fenêtre (cadre) dans un jeu de cadres.
Dans l'exemple ci-dessous, nous avons un frameset avec deux colonnes.
La première colonne occupe 25 % de la largeur de la fenêtre du navigateur. La deuxième colonne occupe 75 % de la largeur de la fenêtre du navigateur. Le document "frame_a.htm" est placé dans la première colonne, et le document "frame_b.htm" est placé dans la deuxième colonne :
|
Commentaire: La taille d'une colonne dans un jeu de cadres peut également être spécifiée en pixels (cols="200,500"), et l'une des colonnes peut utiliser l'espace restant en spécifiant un astérisque au lieu de la largeur (cols="25%,*") .
Conseil: Si le cadre comporte des bordures visibles, l'utilisateur peut le redimensionner en faisant glisser la bordure. Pour éviter que le cadre soit redimensionné de cette manière, vous pouvez ajouter noresize="noresize" à la balise .
Commentaire: Ajouter une balise
Important: Vous ne pouvez pas utiliser de balises
avec des balises
! Voyez comment cela se fait dans le premier exemple ci-dessous.
Plus d'exemples |
Utiliser une balise
Comment utiliser une balise
Jeux de cadres imbriqués
Comment créer des jeux de cadres imbriqués.
Un ensemble de frames avec l'attribut noresize="noresize"
Comment utiliser l'attribut noresize. Déplacez votre souris vers la bordure entre les cadres et assurez-vous que vous ne pouvez pas la faire glisser.
Cadre de navigation
Comment créer un cadre de navigation. Ce cadre contient une liste de liens avec un deuxième cadre comme destination où ces liens seront ouverts. Le fichier "tryhtml_contents.htm" contient trois liens. Code source du lien :
Encadrer un
Cadre b
Cadre c
Le deuxième cadre montre le document lié.
Accéder à une section spécifique dans un cadre
Deux cadres. L'un des cadres contient un lien vers une section spécifique du fichier. Cette section est marquée comme dans le fichier "link.htm".
Alors les montures... à quoi servent-elles et quels avantages apportent-elles ? Je vais essayer d'en parler dans ce chapitre, et bien sûr de comment les mettre en œuvre et travailler avec eux.
Souvent, lors de la création d'un site Web, il devient nécessaire d'ouvrir plusieurs documents HTML en même temps dans une seule fenêtre de navigateur... des cadres ont donc été créés pour définir les zones de travail de chaque document. De plus, les cadres sont un bon outil avec lequel vous pouvez faire une mise en page, ils servent d'« alternative » intéressante à la méthode tabulaire de mise en page... Je mets le mot « alternative » entre guillemets car c'est une manière complètement différente de créer un site Web avec ses propres avantages et inconvénients et il est assez difficile de le comparer avec la construction de site jusqu'à présent familière.. mais commençons par le commencement..
Commençons ? Supposons que nous devions ouvrir trois documents HTML à la fois dans une seule fenêtre de navigateur et les organiser, par exemple, de cette manière :
De quoi avons-nous besoin pour cela ? Pour commencer, bien sûr, nous devons créer trois documents HTML distincts que nous ouvrirons dans une seule fenêtre. Laissez le premier document contenir une image graphique et agir comme un logo, appelons-le logotype.html, le deuxième document sera du contenu... appelons-le menu .html, et le troisième est un document avec beaucoup de texte. texte.html. Bien sûr, vous pouvez proposer vos propres noms, ainsi que le contenu des documents, mais pour l'instant il vaut mieux copier le mien... ce sera plus pratique pour moi et pour vous.
Il y a donc trois fichiers logotype.html, menu.html et text.html... que nous devons placer sous un même toit, mais nous n'avons pas encore de toit.
Nous écrivons « toit », le document principal auquel nous connecterons nos fichiers. Puisqu'il s'agira du principal, nous lui donnons le nom index.html.
Voici la structure du document qui nous est familière, que nous avons mâchée au tout début de notre formation : les frames brisent les stéréotypes existants ! La structure du cadre du document ressemble à ceci :
Aucun tag
compense la nouvelle balise
Étiqueter
Dans notre cas, nous avons besoin d'un placement horizontal des cadres... donc nous écrivons comme ceci :
Les pourcentages après le signe égal ne sont rien de plus que les tailles de nos fenêtres frame dans une grande fenêtre de navigateur ; nous sommes censés placer trois fenêtres - il y a donc également trois valeurs séparées par des virgules. Rappelez-vous comment nous définissons la taille des cellules du tableau, le même principe s'applique ici. Comme dans le cas des cellules du tableau, la taille des cadres peut être spécifiée en pourcentage de la surface totale et en pixels.
Voici quelques exemples d’écriture :
Nous avons fini de placer les documents, il ne reste plus qu'à les connecter et à profiter du premier résultat.
Étiqueter et son attribut src indiquera au navigateur le chemin d'accès au document html qui devra être ouvert dans l'espace prévu à cet effet. Nous avons trois documents distincts logotype.html, menu.html et text.html, nous devons maintenant spécifier un chemin pour chacun, ce que nous faisons réellement. (Je suppose que les quatre fichiers se trouvent dans le même dossier et que leurs chemins d'accès ont la notation la plus simple telle que : )
Fichier index.html
Fichier logotype.html
Menu Fichier.html
Menu:
Soupe aux champignons
Haricots en pot, à l'italienne
Salade d'été australienne
... ... ...
Fichier texte.html
beaucoup de texte..
Dans cet exemple, j'ai posté les quatre documents HTML, où index.html est le principal, et les trois autres sont des pages de plug-in, dont chacune, en principe, peut fonctionner de manière autonome et contenir n'importe quoi, des images, des tableaux, des textes, des liens. .. Je l'ai fait. C'est pour vous faire comprendre le principe du travail avec les frames. Dans d'autres exemples, je publierai uniquement le fichier principal avec les cadres (sinon ils prennent tous trop de place sur la page), et vous savez que j'ai « quelque part là-bas » tous les autres fichiers contenant des graphiques, des textes, peut-être quelque chose comme ça. sinon.. eh bien, ne restez pas derrière moi, éditez lentement vos propres pages pour le futur site de formation.. Je ne sais pas sur quoi vous allez écrire le vôtre, mais j'ai promis d'aider une fille à écrire un site Web dédié à la cuisine..)) alors j'ai décidé, pour ainsi dire, de faire d'une pierre deux coups.. la fille lapin et le site Internet..)) quelque chose comme ça..))
Dans l'exemple ci-dessus, nous avons positionné toutes les fenêtres horizontalement, en changeant l'attribut Lignes sur cols vous pouvez les disposer verticalement. Mais que se passe-t-il si vous devez placer nos fenêtres ?
comme ça ? : ou comme ça ? : ou même comme ça ? :
Il y a une sortie. Regardons des exemples.
Commençons par le premier cas... que voit-on ? Et nous voyons deux lignes, où la seconde est divisée en deux colonnes.
Et maintenant, dans l'ordre :
- chargez notre logo en première ligne
- dans le premier il y aura un menu
- et dans le second il y a beaucoup de texte
En général, il est incorrect de dire des colonnes et des lignes, puisque les cadres n'ont rien à voir avec les tableaux autre que la similitude visuelle ; il est correct de dire des cadres horizontaux et verticaux.. eh bien, je le dis de cette façon pour que ce soit plus clair pour toi..
Bon, regardons un exemple :
Dans le deuxième cas, nous avons deux colonnes dans lesquelles la seconde est divisée en deux lignes, nous écrirons donc ainsi :
- le premier contiendra le contenu
-logo
- et le texte principal
Le troisième cas est un peu plus compliqué, mais il ne faut pas en avoir peur... d'autant plus que j'ai personnellement choisi ce genre de construction pour un site sur l'art culinaire ; je vous explique pourquoi ci-dessous. Ce que nous avons? trois colonnes, et la deuxième colonne contient essentiellement notre premier cas.
-dans la première colonne on charge un document html qui remplira une fonction purement décorative
-
-
-
- dans la troisième colonne on charge le même fichier avec les décorations
Regardez l'exemple, puis j'expliquerai pourquoi j'ai choisi la voie des cinq fenêtres
Alors pourquoi cinq fenêtres ? Je me souviens avoir déjà écrit sur le fait que différents utilisateurs d'Internet ont des résolutions différentes sur leurs moniteurs et, par conséquent, différents écrans notre site aura un aspect différent... et s'il n'y a pas de tailles spécifiques, toutes nos images, textes, tableaux « flotteront » pour les utilisateurs dont les résolutions d'écran sont différentes de la vôtre. Lorsque nous avons aménagé le site à l'aide d'un tableau, le problème des dimensions des pages a été résolu en attribuant une largeur et une hauteur spécifiques à ce tableau ; malheureusement, cela ne peut pas être fait avec des cadres... même si vous spécifiez la largeur des cadres qui n'est pas dans pourcentages, mais en pixels, c'est toujours la dernière colonne qui s'étendra sur la largeur restante de la fenêtre du navigateur et la page, comme on dit, perdra son « aspect commercialisable ». Alors, que devrions-nous faire? Il faut recourir à des petites astuces... En définissant la colonne centrale (dans laquelle nous avons en fait la page entière) à une taille de 800 pixels, nous déterminons une fois pour toutes sa largeur, ainsi que les première et troisième colonnes sans dimension, dans en plus de la décoration, ils agissent comme une sorte de « ressorts » sur lesquels repose la colonne centrale. Ainsi, pour les personnes ayant une petite résolution d'écran, ces fenêtres/champs seront étroites, et pour les personnes ayant une haute résolution, elles seront larges, la colonne centrale ne sera donc en aucun cas affectée et nous pouvons désormais y placer n'importe quel objet en toute confiance, avec une référence précise localement, sans se soucier de son sort futur. Comparez le premier exemple, où il y a trois fenêtres, et le troisième, où il y en a déjà cinq, n'est-ce pas mieux ?
Nous terminerons par le placement et les tailles des cadres... et cela fait longtemps que nous sommes bloqués ici... passons à autre chose.
Nous donnons aux cadres un aspect soigné.
Dans notre dernier exemple, la première chose qui attire votre attention est tout un tas de barres de défilement, qui sont là où elles sont nécessaires et là où elles ne sont pas nécessaires.. Débarrassons-nous-en, eh bien, vous pouvez les laisser quelque part.. Cela se fait en utilisant l'attribut défilement- étiqueter , il peut avoir l'une des trois valeurs suivantes :
- Non
- Oui- montre toujours
- auto
défilement = "non">
défilement = "non" >
défilement = "non">
Les champs du cadre, ou autrement la distance entre les limites du cadre et le texte ou l'image, comme dans notre cas, sont spécifiés en pixels à l'aide d'attributs largeur de marge Et hauteur de la margeétiqueter
margelargeur="0" margehauteur="0">
margelargeur="10" margehauteur="10">
Parlons un peu du cadre autour de nos cadres.
Si vous avez remarqué, dans le dernier exemple, en passant le curseur sur la bordure du cadre, le curseur, c'est-à-dire, prend une apparence différente (saisir et déplacer) et maintenant cette bordure peut être déplacée dans n'importe quelle direction tout en maintenant la touche gauche bouton de la souris. Parfois, cette « mobilité » des limites des frames fait le jeu du webmaster, mais le plus souvent elle gêne encore.. Afin d'éviter que l'utilisateur ne joue avec les tailles de fenêtre pour le tag j'ai trouvé un attribut noredimensionner
noredimensionner>
noredimensionner>
noredimensionner>
noredimensionner>
noredimensionner>
Mais c'est un attribut qui nous est familier depuis longtemps frontière définit la largeur en pixels de ces mêmes frames entre les frames.. c'est écrit à l'intérieur de la balise
Cadres et liens.
Il est temps de faire revivre notre site avec des liens, mais voici le problème, le lien ordinaire et familier Haricots en pot, à l'italienne ouvrira ce document dans le même cadre où il se trouve, dans notre cas directement dans le cadre avec le contenu, et le contenu lui-même au moment de cliquer sur ce lien tombera dans l'oubli.. vous pouvez regarder l'exemple maladroit. . cliquez sur n'importe quel lien qu'il contient.. Pour éviter que cela ne se reproduise à l'avenir, il est nécessaire d'indiquer au navigateur dans quel cadre le document dont nous avons besoin doit être ouvert, à moins, bien sûr, que vous ayez vraiment besoin de l'ouvrir dans le même cadre.
Je me souviens que nous avions déjà fait connaissance, dans le chapitre dédié aux liens, avec les attributs nom- nom et cible- objectif, ils sont également utilisés lorsqu'on travaille avec des cadres, le mécanisme est légèrement modifié et c'est presque le même. Tout d'abord, le cadre dans lequel nous souhaitons ouvrir un document doit recevoir un nom individuel.
c'est écrit ainsi :
nom="osnovnoe"> vous pouvez trouver n'importe quel nom.. l'essentiel est de ne pas l'oublier..
C'est écrit ainsi :
cible="osnovnoe">Haricots en pot, à l'italienne
Bon, je pense qu'il n'est pas nécessaire de vous expliquer qu'avant de faire référence à des documents, vous devez les créer... dans mon cas, les fichiers (recettes) portent les noms text.html, text1.html, text2.html ...
Regardez l'exemple:
Fichier index.html
nom="osnovnoe" marginwidth="10" marginheight="10" noresize>
Menu Fichier.html
Menu:
cible="osnovnoe">Soupe aux champignons
cible="osnovnoe">Haricots en pot, à l'italienne
cible="osnovnoe">Salade d'été australienne
... ... ...
Comme auparavant, le document peut être ouvert dans une fenêtre séparée. Je vous rappelle qu'il s'écrit ainsi :
cible="_blank">Haricots en pot, à l'italienne
Ou en attribuant l'attribut cible signification _haut ouvrez-le dans la même fenêtre du navigateur, mais en plein écran… « mettant à zéro » tout ce qui s’y trouve… écrit comme ceci :
cible="_top">Haricots en pot, à l'italienne
Voilà comment est devenu le site... bien sûr, il y a encore du travail et du travail à faire dessus... d'ailleurs, selon mon idée, il aura une structure un peu différente au niveau de la navigation autour du site, il aura tout un tas de pages supplémentaires, beau menu, mais en ce qui concerne la structure du cadre, je pense qu'elle restera la même.
cadre flottant
Parfois, il est nécessaire d'insérer un autre document HTML ou même une série de tels documents dans une page contenant une structure non-frame dans une fenêtre séparée. Pour atteindre cet objectif, il existe une balise
Cette balise possède plusieurs attributs :
src- un attribut obligatoire indiquant le chemin d'accès à la page à ouvrirlargeur- largeur du cadre flottant en pixels ou pourcentages
hauteur- hauteur du cadre flottant
défilement- afficher la barre de défilement
- Non- ne jamais afficher la barre de défilement,
- Oui- montre toujours
- auto- montrez-le si c'est nécessaire.
- gauche- gauche
- droite- sur la droite
- haut- plus haut
- bas- ci-dessous
- 1 - activer le cadre
- 0 - éteindre le cadre
Dans l'ensemble, cela s'écrit ainsi :
Exemple de document avec cadre flottant :
cadre flottant
Le soi-disant « cadre flottant » a été introduit dans cette page.
Dans une fenêtre séparée, il ouvre un autre document HTML à afficher.
… … …
Sans cadres
Certains navigateurs ne prennent pas en charge la structure du cadre de document ou ne l'interprètent pas correctement ; en outre, les utilisateurs désactivent souvent délibérément la prise en charge de la structure de cadre de document HTML dans les paramètres de leur navigateur. Et même si le pourcentage de ces navigateurs et utilisateurs est faible, ils existent néanmoins.
Imaginez maintenant que vous avez construit votre site Web à l'aide d'une structure de cadre et que certains visiteurs, peut-être sans savoir quel est le problème, essaient d'ouvrir votre site Web et que leur navigateur affiche une erreur ! Que penseront-ils de votre site ? Je pense à quelque chose comme : « Ugh… une sorte d’absurdité… je ne reviendrai plus ici !
Afin de faire comprendre à l'utilisateur que son navigateur/paramètres de son navigateur ne prennent pas en charge les frames, il existe une balise
Étiqueter
Le résultat de l'exemple sera perceptible si votre navigateur ne prend vraiment pas en charge les frames (ici, j'y ai pensé pendant longtemps... :) si tel est le cas, alors pourquoi lire ce chapitre ?) ou si vous avez désactivé la prise en charge des frames dans votre navigateur à titre expérimental.
Étiqueter
Avec un cadre flottant, tout est encore plus simple, il suffit d'écrire le texte souhaité entre
Avant de commencer à créer une page à l'aide d'une structure de cadres, analysez sa disposition, la taille de chaque fenêtre, la présence ou l'absence de barres de défilement dans celles-ci, etc. Après cela, vous pouvez créer un plug-in Fichiers HTML sans se soucier particulièrement de leur position relative les uns par rapport aux autres.
Utiliser la balise