Cadres dans les documents HTML

Voici un document simple cadre:

qui pourrait créer une mise en page de cadre quelque chose comme ceci:

Si l'agent utilisateur ne peut pas afficher les cadres ou est configuré pour ne pas, il va rendre le contenu de l'élément NOFRAMES.







16.2 Disposition des cadres

Un document HTML qui décrit la mise en page du cadre (appelé un document frameset) a un maquillage différent d'un document HTML sans cadres. Un document standard a une section HEAD et un seul corps. Un document frameset a une tête. et un FRAMESET en place du corps.

La section FRAMESET d'un document spécifie la disposition de vues dans la fenêtre principale de l'agent utilisateur. En outre, la section FRAMESET peut contenir un élément NOFRAMES pour fournir un autre contenu pour les agents utilisateurs qui ne supportent pas les cadres ou configurés ne pas les afficher.

Les éléments qui pourraient normalement être placés dans l'élément de corps ne doit pas apparaître avant le premier élément FRAMESET ou FRAMESET seront ignorées.

16.2.1 l'élément frameset

lignes = multi-longueur-list [CN] Cet attribut spécifie la disposition des cadres horizontaux. Il est une liste de pixels séparés par des virgules, des pourcentages, et les longueurs relatives. La valeur par défaut est de 100%, ce qui signifie une ligne. = multi-Col. longueur liste [CN] Cet attribut spécifie la disposition des cadres verticaux. Il est une liste de pixels séparés par des virgules, des pourcentages, et les longueurs relatives. La valeur par défaut est de 100%, ce qui signifie une colonne.

Attributs définis ailleurs

L'élément frameset spécifie la disposition de la fenêtre principale de l'utilisateur en termes de sous-espaces rectangulaires.

Les lignes et les colonnes

Si l'attribut rows n'est pas défini, chaque colonne étend sur toute la longueur de la page. Si l'attribut n'est pas Col. fixé, chaque ligne étend toute la largeur de la page. Si aucun attribut est défini, le cadre reprend exactement la taille de la page.

Les cadres sont créées de gauche à droite pour les colonnes et de haut en bas pour les lignes. Lorsque les deux attributs sont spécifiés, les vues sont créées de gauche à droite dans la rangée du haut, de gauche à droite dans la deuxième rangée, etc.

Le premier exemple divise l'écran verticalement en deux (à savoir crée une moitié supérieure et une moitié inférieure).

L'exemple suivant crée trois colonnes: le second a une largeur fixe de 250 pixels (utiles, par exemple, pour contenir une image d'une taille connue). La première reçoit 25% de l'espace restant et le troisième 75% de l'espace restant.

L'exemple suivant crée une grille de 2x3 de sous-espaces.

Pour l'exemple suivant, supposons que la fenêtre du navigateur est actuellement 1000 pixels de haut. Le premier point de vue est attribué 30% de la hauteur totale (300 pixels). Le second point de vue est spécifiée pour être exactement 400 pixels de hauteur. Cela laisse 300 pixels à répartir entre les deux autres cadres. La quatrième hauteur de châssis est spécifié comme « 2 * », de sorte qu'il est deux fois plus élevé que le troisième cadre, dont la hauteur est seulement « * » (équivalent à 1 *). Par conséquent, la troisième image sera de 100 pixels de hauteur et le quatrième sera de 200 pixels de hauteur.

longueurs absolues qui ne totalisent pas 100% du réel espace disponible doit être ajustée par l'agent utilisateur. Lorsque underspecified, l'espace restant doit être attribué proportionnellement à chaque vue. Lorsque trop précis, chaque vue doit être réduite en fonction de la proportion déterminée de l'espace total.







Dans l'exemple suivant, la FRAMESET externe divise l'espace disponible en trois colonnes égales. Le FRAMESET interne divise ensuite la seconde zone en deux rangées de hauteur inégale.

L'exemple suivant illustre comment un script peut se référer à un élément d'objet défini pour un jeu de cadres:

16.2.2 l'élément de cadre

Attributs définis ailleurs

L'élément de cadre définit le contenu et l'aspect d'une seule trame.

L'attribut src spécifie le document initial du cadre contiendra.

L'exemple suivant le document HTML:

devrait créer une mise en page de cadre quelque chose comme ceci:

et amener l'agent utilisateur de charger chaque fichier dans une vue séparée.

Le contenu d'un cadre ne doit pas être dans le même document que la définition du cadre.

EXEMPLE ILLEGAL:
La définition frameset suivante n'est pas HTML légal puisque le contenu du second cadre sont dans le même document que le frameset.

rendu visuel d'un cadre

Remarque. Pour plus d'informations sur la pratique actuelle pour déterminer la cible d'un cadre, s'il vous plaît consulter les notes sur des cadres en annexe.

target = cadre cible [CI] Cet attribut spécifie le nom d'un cadre dans lequel un document doit être ouvert.

S'il vous plaît consulter la section sur les noms de trame cible pour des informations sur les noms des cadres reconnus.

Cet exemple illustre comment les objectifs permettent la modification dynamique du contenu d'un cadre. D'abord, nous définissons un jeu de cadres dans le document frameset.html. montré ici:

Puis, en init_dynamic.html. nous associons au cadre nommé « dynamique ».

L'activation ou l'autre lien ouvre un nouveau document dans le cadre nommé « dynamique », tandis que l'autre cadre, « fixe », maintient son contenu initial.

Remarque. Une définition frameset ne change jamais, mais le contenu de l'un de ses cadres peuvent. Une fois que le contenu initial d'un changement de cadre, la définition de frameset ne reflète plus l'état actuel de ses cadres.

Lorsque de nombreux liens dans le même document désignent la même cible, il est possible de spécifier la cible une fois et se passer de l'attribut cible de chaque élément. Cela se fait en définissant l'attribut cible de l'élément de base.

Nous revenons à l'exemple précédent, cette fois affacturage l'information cible en définissant dans l'élément de base et le retirer des A éléments.

Les agents utilisateurs devraient déterminer le cadre cible dans lequel pour charger une ressource liée selon les suivants préséances (la plus haute priorité au plus bas):

  1. Si un élément a son attribut cible défini sur une trame connue, lorsque l'élément est activé (à savoir un lien est suivi ou un formulaire est traité), la ressource désignée par l'élément doit être chargé dans la trame cible.
  2. Si un élément n'a pas l'attribut cible défini, mais l'élément de base est le cas, l'attribut cible de l'élément de base détermine le cadre.
  3. Si ni l'élément ni l'élément de base fait référence à une cible, la ressource désignée par l'élément doit être chargé dans le cadre contenant l'élément.
  4. Si un attribut cible se réfère à un cadre inconnu F. l'agent utilisateur doit créer une nouvelle fenêtre et cadre, attribuez le nom F au cadre, et charger la ressource désignée par l'élément dans le nouveau cadre.

Les auteurs doivent fournir un autre contenu pour les agents utilisateurs qui ne supportent pas les cadres ou configurés ne pas les afficher.

16.4.1 L'élément NOFRAMES

Attributs définis ailleurs

Le document suivant décrit deux frameset cadres. Le cadre de gauche contient une table des matières et le cadre de droite contient d'abord une image d'une autruche:

Notez que l'image a été inclus dans le cadre indépendamment de tout élément HTML, de sorte que l'auteur n'a aucun moyen de spécifier un texte alternatif autre que par l'attribut longdesc. Si le contenu du droit changement de cadre (par exemple l'utilisateur sélectionne un serpent à sonnette de la table des matières), les utilisateurs auront pas accès textuel au nouveau contenu du cadre.

Ainsi, les auteurs ne devraient pas mettre une image directement dans un cadre. Au lieu de cela, l'image doit être spécifié dans un document HTML distinct, et qui y sont annotées avec le texte alternatif approprié:

16.5 IFrames: l'élément IFRAME

Attributs définis ailleurs

Les informations à insérer est désignée en ligne par l'attribut src de cet élément. Le contenu de l'élément IFRAME, d'autre part, ne doivent être affichés par les agents utilisateurs qui ne supportent pas les cadres ou configurés ne pas les afficher.

Pour les agents utilisateurs qui prennent en charge les cadres, l'exemple suivant placera un cadre en ligne entourée d'une bordure au milieu du texte.







Articles Liés