Aller au contenu principal
Niquelao Accessibilité web et développement front-end en espagnol : normes WCAG, widgets accessibles et extensions pour Firefox, expliqués avec du code réel.

Certains liens sur ce site sont des liens d'affiliation : si vous achetez via ces liens, nous pouvons percevoir une commission sans coût supplémentaire pour vous. Cela n'influence jamais nos recommandations. Consultez notre divulgation d'affiliation pour plus de détails. Divulgation d'affiliation.

Niquelao » Archives du blog » Mise en page à trois colonnes et balisage… « le juste »

» Archives du blog » Mise en page à trois colonnes et balisage… « le juste » Niquelao - CSS Mise en page à trois colonnes et balisage… « le juste » 4 juin 2006 par Rumoroso Lorsqu’on souhaite structurer le contenu d’un document web, il faut éviter par tous les moyens de garder à l’esprit ce que sera le design visuel, et en particulier la mise en page. C’est fondamental si l’on veut obtenir un contenu structuré correctement du point de vue du flux de l’information, ainsi qu’un balisage sémantique et un code optimal.

Pour atteindre cet objectif, il faut partir du principe indiscutable de l’utilisation des standards du W3C, en évitant le balisage superflu dont la finalité serait de servir la feuille de styles pour la présentation. Cas développé .- Le contenu du document est structuré en trois zones ou groupes fonctionnels : contenu spécifique, menu de navigation principal et une zone transversale au site (liée soit au document courant, comme pourraient l’être des actualités de la section, soit au site web ou portail, comme par exemple des liens d’intérêt en rapport avec la thématique du portail ou un ensemble de bannières).

L’organisation du contenu dans le code doit être établie en fonction de son niveau de spécificité et de pertinence par rapport à la page courante. Ainsi, le groupe d’informations spécifiques au document devrait apparaître en premier dans le code, suivi de la zone transversale si celle-ci est spécifiquement liée aux informations précédentes et varie en fonction du contenu. Viendrait ensuite le menu de navigation principal.

Dans le cas où les informations transversales sont communes à tout le site et n’ont pas de caractère spécifique dans chaque section, celles-ci seront disposées à la fin, précédées du menu. Dans tous les cas, il faudrait créer des liens dont la finalité serait de pouvoir se déplacer dans le document en sautant de chacun des trois groupes vers le suivant ou le précédent. En cherchant à obtenir un code aussi propre et optimal que possible, l’approche de celui-ci est la suivante :

Contenu principal…
Un en-tête et un pied de page ont été ajoutés car il s’agit de l’une des situations les plus courantes qui puisse se présenter.

On utilise des conteneurs génériques de bloc ( div ) pour illustrer l’exemple. Dans le cas où ceux-ci incluraient un seul bloc (par exemple, une liste), ils ne seraient pas nécessaires, car l’identifiant pourrait être appliqué directement sur celui-ci.

Related: con plan gratuito para empezar hoy mismo.

Par souci d’obtenir un code propre et optimal , on n’utilise pas de conteneurs regroupant un ou plusieurs de ceux-ci. Le balisage appliqué et son organisation sont restés intacts entre les exemples. Les styles appliqués de manière générique ont été inclus dans une css commune. L’ensemble des styles spécifiques à chacun a été inclus dans l’en-tête du document pour faciliter leur révision.

Dans tous les cas, le bloc de contenu principal a été maintenu avec un comportement fluide. On a utilisé le sélecteur universel pour appliquer des marges aux premiers descendants du bloc appelé « contenido1 ». Étant donné que tous les navigateurs ne reconnaissent pas correctement le pseudo-élément « :first-child », on a eu recours à l’application des propriétés à tous les descendants du bloc, puis à leur annulation pour tous les descendants dont le parent est descendant de celui-ci.

D’autres méthodes peuvent être employées, comme par exemple l’utilisation du pseudo-élément cité précédemment avec des commentaires conditionnels pour Internet Explorer (IE). Une autre façon aurait été de créer un bloc à l’intérieur de « contenido1 » et d’appliquer les styles nécessaires sur celui-ci. On a évité cette méthode pour obtenir un balisage plus propre et sans la présence d’éléments dont la finalité serait de servir à la mise en page. En réalité, la ou les propriété(s) qui pourraient être modifiées pour les descendants sont les marges latérales, propriétés facilement contrôlables, ce qui fait que la solution proposée est considérée comme la plus optimale dans ce cas.

Worth a look: — Accesibilidad gestionada: automatización combinada con revisión humana.

Il est important de tenir compte des propriétés et attributs qui ont été déclarés en vue de l’apparition d’éventuels effets inattendus lors de l’application des styles. Par exemple, dans IE, lorsqu’on inclut des listes dans des éléments flottants et positionnés en relatif, les styles appliqués au fond ni les couleurs appliquées aux bordures ne s’affichent (cela peut être corrigé en les positionnant en relatif). L’idée est d’obtenir une mise en page à trois colonnes avec un ordre déterminé en fonction des besoins du site.

Les différentes mises en page sont présentées organisées en fonction de l’ordre des blocs et de leur caractère fluide. La fluidité des blocs est obtenue en définissant leur largeur en pourcentage (étant pour tous les exemples de 20% du total de leur conteneur) et la rigidité en unités absolues (étant dans tous les exemples de 150px). De même, au lieu d’utiliser des unités absolues, on pourrait utiliser des unités relatives (em).

Tout dépendra des besoins particuliers de chaque cas : Ordre dans la mise en page 1 2 3 Exemple de design fluide : Fluide Fluide Fluide Exemple de design hybride : Fluide Rigide Fluide Exemple de design hybride : Fluide Fluide Rigide Exemple de design hybride : Fluide Rigide Rigide Ordre dans la mise en page 1 3 2 Exemple de design fluide : Fluide Fluide Fluide Exemple de design hybride : Fluide Fluide Rigide Exemple de design hybride : Fluide Rigide Fluide Exemple de design hybride : Fluide Rigide Rigide Ordre dans la mise en page 2 1 3 Exemple de design fluide : Fluide Fluide Fluide Exemple de design hybride : Rigide Fluide Fluide Exemple de design hybride : Fluide Fluide Rigide Exemple de design hybride : Rigide Fluide Rigide Ordre dans la mise en page 2 3 1 Exemple de design fluide : Fluide Fluide Fluide Exemple de design hybride : Rigide Fluide Fluide Exemple de design hybride : Fluide Rigide Fluide Exemple de design hybride : Rigide Rigide Fluide Ordre dans la mise en page 3 1 2 Exemple de design fluide : Fluide Fluide Fluide Exemple de design hybride : Fluide Fluide Rigide Exemple de design hybride : Rigide Fluide Fluide Exemple de design hybride : Rigide Fluide Rigide Ordre dans la mise en page 3 2 1 Exemple de design fluide : Fluide Fluide Fluide Exemple de design hybride : Fluide Rigide Fluide Exemple de design hybride : Rigide Fluide Fluide Exemple de design hybride : Rigide Rigide Fluide Dans certains cas et pour certains navigateurs (comme Internet Explorer), un comportement anormal pourrait se produire lors du redimensionnement de la fenêtre.

Fondamentalement, le comportement incorrect est dû au fait que, bien que l’on indique au conteneur quelle doit être sa largeur, lors du redimensionnement, le texte influence en poussant légèrement ses bords. Si l’ensemble des blocs doit occuper 100% du conteneur, il pourrait arriver que l’un de ceux ayant des dimensions relatives, par l’effet mentionné précédemment, occupe un peu plus que ce qu’il devrait, poussant les autres qui, étant flottants et ne tenant pas, sautent vers le bas. Pour y remédier, on peut déclarer une dimension légèrement inférieure à l’idéale sur l’un d’eux (par exemple, 19,9% au lieu de 20%).

Catégorie : CSS —> 1 commentaire Norwin Galeano 28 août 2006 Très bon. Cet article doit être très utile pour ceux qui débutent dans la mise en page de leurs pages

P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.


¿Cumplir WCAG sin tocar el código?

Superposición de IA que promete cumplimiento WCAG en 48 horas