Infrastructure de conception de sites Web adaptatifs
L'infrastructure de conception de sites Web adaptatifs utilise différentes technologies et modèles de conception pour créer une vitrine adaptative sur les différents appareils.
Présentations et grilles fluides
La vitrine adaptative utilise des présentations fluides, dans lesquelles la plupart des composants de pages contiennent des largeurs exprimées en pourcentage. Des ajustements dynamiques sont activés pour les éléments de la présentation et des pages de la vitrine en cas de redimensionnement de la résolution de l'écran ou de la fenêtre du navigateur.
Le système de grille fluide est défini dans le fichier WC_eardir/Stores.war/storedir/css/base.css. Ce fichier CSS est la feuille de style des règles CSS communes à toutes les pages du magasin. Pour plus d'informations sur les fichiers utilisés dans les magasins types adaptatifs, voir Structure de fichiers de magasin type Aurora adaptatif.
Le système de grille est une infrastructure CSS qui permet de créer des présentations en construisant une page en s'aidant des lignes et des colonnes. Dans la vitrine adaptative, un système de grille à 12 colonnes avec des conteneurs est utilisé par défaut. Cette approche peut ensuite être adoptée dans les scénarios de personnalisation pour créer des conteneurs personnalisés uniformes.
Le système de grille fluide avec des fonctions adaptatives permet de créer des modèles de présentation et des widgets de conteneur adaptatifs.
Exemple : Grille fluide
<div class="row">
<div class="col12"></div>
</div>
<div class="row">
<div class="col6"></div>
<div class="col6"></div>
</div>
<div class="row">
<div class="col4"></div>
<div class="col4"></div>
<div class="col4"></div>
</div>
<div class="row">
<div class="col3"></div>
<div class="col3"></div>
<div class="col3"></div>
<div class="col3"></div>
</div>
<div class="row">
<div class="col2"></div>
<div class="col2"></div>
<div class="col2"></div>
<div class="col2"></div>
<div class="col2"></div>
<div class="col2"></div>
</div>
<div class="row">
<div class="col1"></div>
<div class="col11"></div>
</div>
<div class="row">
<div class="col2"></div>
<div class="col10"></div>
</div>
<div class="row">
<div class="col3"></div>
<div class="col9"></div>
</div>
<div class="row">
<div class="col4"></div>
<div class="col8"></div>
</div>
<div class="row">
<div class="col5"></div>
<div class="col7"></div>
</div>
Points à prendre en compte pour les lignes et les colonnes dans un système de grille fluide
- Une ligne est toujours divisée en 12 colonnes, indépendamment de la délimitation.
- Un élément enfant d'une ligne peut s'étendre sur 1 à 12 colonnes, indépendamment du point d'arrêt en utilisant l'une des classes
col*. - Si une ligne possède des éléments enfants qui s'étendent sur plus de 12 colonnes en tout, ces éléments sont positionnés en fonction de la façon dont le code HTML gère les éléments flottants.Par exemple, pour une ligne qui contient trois éléments enfants qui s'étendent sur 8, 8 et 4 colonnes, comme suit :
- Le premier élément enfant est positionné dans la partie supérieure gauche de la ligne qui s'étend sur 8 colonnes. C'est-à-dire 2/3 de la largeur de la ligne.
- Le deuxième élément enfant est positionné sous le premier élément enfant et s'étend lui aussi sur 8 colonnes.
- Le troisième élément enfant est positionné à droite du deuxième élément enfant et s'étend sur 4 colonnes. C'est-à-dire, 1/3 de la largeur de la ligne.
- Un élément enfant d'une ligne peut s'adapter aux points d'arrêt RWD-A et RWD-C en utilisant la classe
acol*pour RWD-A ou la classeccol*pour RWD-C.Par exemple, un élément enfant d'une ligne peut s'étendre sur 6 colonnes par défaut et sur 12 colonnes dans le point d'arrêt RWD-A en utilisant
class="col6 acol12". - Les lignes et leurs éléments enfants doivent avoir une hauteur flexible ou automatique, car une hauteur de ligne fixe interférerait avec les colonnes empilées. Des hauteurs fixes pour les éléments enfants sont généralement admises, mais doivent être évitées, car la hauteur peut varier en cas de redimensionnement horizontal des éléments enfants d'une ligne avec la fenêtre d'affichage.
- Le système de grille fluide ne comporte pas de gouttières, ou de marges, intégrées entre des éléments enfants d'une ligne. Un ensemble de règles CSS distinct est utilisé pour définir les marges entre les widgets.
- N'appliquez pas de marge à des éléments enfants d'une ligne pour éviter que la largeur totale des colonnes dépassent 100%.
- Evitez les bordures ou les marges intérieures pour les éléments enfant d'une ligne, car cela implique d'utiliser la balise
box-sizing: border-box. Cette règle s'applique également aux lignes. En revanche, les marges de ligne sont admises. - Les classes
col*ne contiennent aucun point d'arrêt. Les éléments qui ne comportent que des classescol*ne s'empilent pas, indépendamment de la largeur de la fenêtre d'affichage.
Empilement des colonnes
L'empilement des colonnes peut être activé en spécifiant l'étendue des colonnes pour le point d'arrêt RWD-A en utilisant des classes acol*.
acol12. Par exemple, pour une ligne qui contient deux éléments enfant, comportant l'un des classes col4 acol12 et l'autre, des classes col8 acol12. Dans ce scénario, les éléments enfants sont côte-à-côté par défaut et s'étendent respectivement sur 4 et 8 colonnes. Du fait de la classe acol12, en revanche, les éléments enfant s'étendent chacun sur 12 colonnes dans le point d'arrêt RWD-A afin qu'ils soient disposés verticalement et s'étendent chacun sur toute la largeur de la ligne.- Il est approprié qu'une ligne comporte des éléments enfants qui s'étendent sur plus de 12 colonnes en tout au niveau de certains points d'arrêt. De ce fait, ils sont empilés lorsque la ligne manque de place.
- Il est possible de fusionner des lignes pour réduire le marquage HTML sous réserve que leurs éléments enfants puissent être répartis en groupes qui s'étendent sur 12 colonnes en tout.
- Les classes
col*sont utilisées à la place debcol*, qui est utilisée non seulement pour la RWD-B, mais également pour toutes les largeurs de fenêtre d'affichage, indépendamment du point d'arrêt. C'est-à-dire RWD-B est utilisé par défaut, et les classesacol*etccol*sont utilisés en remplacement.
Imbrication des colonnes
Vous pouvez imbriquer une ligne et ses éléments enfants dans l'élément enfant d'une autre ligne. Du fait de cette imbrication, le contenu est étendu sur plusieurs autres éléments dans les pages du magasin.
Ordre d'empilement
L'ordre d'empilement contrôle si un élément de barre latérale est empilé, par rapport à l'élément de contenu.