Page d'accueil » Codage » Déplacement d'éléments dans une structure de grille CSS [Guide]

    Déplacement d'éléments dans une structure de grille CSS [Guide]

    En utilisant le Module de disposition de grille CSS dans la conception Web devient de plus en plus possible que de plus en plus de navigateurs commencent à soutiens le. Lors de la création de présentations remplissant des cellules de la grille, il peut arriver un moment où vous souhaitez réaliser des tâches plus complexes..

    Par exemple, vous voudrez peut-être se déplacer légèrement certains éléments de la grille sont bloqués dans leurs zones. Vous voudrez peut-être aussi les sortir du conteneur de grille (débordement), ou les uns sur les autres (chevauchement), ou juste… vers un espace vide autour.

    Donc, dans ce post, je vais vous montrer comment vous pouvez déplacer, ordonner, déborder, superposer et dimensionner les éléments de la grille lorsque vous utilisez le module CSS Grid Layout.

    Créer une grille CSS

    Commençons par créer une grille CSS simple avec une rangée et trois colonnes.

    Dans le HTML, nous créons un groupe de divs où le conteneur de grille contient les trois éléments de la grille.

     

    Dans le CSS, le conteneur de grille a la affichage: grille; propriété et les éléments de la grille avoir surface de la grille qui identifie les noms des zones d'élément de grille.

    Nous avons aussi ajouter le grille-template-zones propriété au conteneur de grille, dans lequel les noms de zone de grille sont utilisés pour attribuer les zones de la grille aux cellules de la grille qu'elles représentent.

    Toutes les colonnes prendre la taille d'une fraction (fr) de la largeur du conteneur, assurant le confinement des éléments de la grille.

     .grid-container display: grid; grid-template-areas: 'gauche centre droite'; Grille-modèle-colonnes: répéter (3, 1fr); grid-template-rows: 80px; intervalle de grille: 5px; largeur: 360px; couleur de fond: magenta;  .grid-left grid-area: left;  .grid-center grid-area: centre;  .grid-right grid-area: right;  .grid-container div background-color: lightgreen;  

    Dépassement d'éléments de la grille

    Vous pouvez faire un élément de la grille déborder de son conteneur de grille si c'est nécessaire pour une mise en page. Pour obtenir l'effet de débordement, il vous suffit de utiliser une taille de colonne différente:

     .grid-container display: grid; grid-template-areas: 'gauche centre droite'; grid-template-columns: repeat (3, 150px); intervalle de grille: 5px;  

    le somme de la taille de la colonne et de l'espace est plus grand que le largeur du conteneur, ce qui provoque le débordement des éléments de la grille dans leur conteneur.

    Chevauchement des éléments de la grille

    UNE L'élément de grille peut se chevaucher (complètement ou partiellement couvert) un autre élément de la grille dans les cas suivants:

    1. Il est configuré pour s'étendre sur (et sur) les cellules d'un autre élément de la grille.
    2. Sa taille a été augmentée, ce qui le fait chevaucher avec l'élément de grille proche.
    3. Il est déplacé au-dessus d'un autre élément de la grille.

    Nous discuterons des deuxième et troisième cas plus tard, dans le “Dimensionnement” et “En mouvement” sections.

    Voyons d’abord le premier cas où un élément de la grille s'étend sur un autre.

    L'élément de grille au centre a étalé sur le gauche, de sorte que seuls deux éléments sont visibles à l'écran.

     .grid-center grid-area: centre; grille-colonne: 1/3;  

    le colonne de grille et rangée de la grille Propriétés assigner des lignes de grille entre lesquels une colonne ou une rangée doit tenir.

    Sur le diagramme ci-dessous, vous pouvez voir comment le grille-colonne: 1/3 La règle CSS fonctionne: la colonne centrale étendues entre les lignes de grille 1 et 3. En conséquence, la colonne centrale chevauche la colonne de gauche..

    Déplacer des éléments de la grille

    En déplaçant, je veux dire déplacer légèrement les objets. Si vous voulez complètement déplacer un élément dans une autre cellule / zone de grille, je vous recommande de mettre à jour le code de création de la grille..

    Parcourir les éléments de la grille est simple. Juste Utilisez le marge, la transformer, ou la position: relative; Propriétés. Voir ci-dessous comment les éléments sont déplacés à l'aide de ces propriétés.

    Les éléments de grille centraux et droits peuvent être déplacés (comme indiqué ci-dessus) des manières suivantes:

    1. Utilisation marge

    Les marges négatives augmentent les dimensions des éléments de la grille, tandis que les marges positives les réduisent. En combinant les deux, vous pouvez déplacer légèrement les éléments de la grille.

     .grid-center grid-area: centre; marge gauche: -10px; marge droite: 10px; marge supérieure: -10px; marge inférieure: 10px;  .grid-right grid-area: right; marge gauche: 10px; marge droite: -10px; marge supérieure: -10px; marge inférieure: 10px;  
    2. Utilisation transformer

    le Traduire() Fonction CSS déplace un élément le long des axes x et y. En l’utilisant avec le transformer propriété vous permet de changer la position d'un élément de la grille.

     .grid-center grid-area: centre; transformer: traduire (-10px, -10px);  .grid-right grid-area: right; transformer: traduire (10px, -10px);  
    3. Utilisation position

    En utilisant le position: relative; règle avec le spécifié Haut, bas, la gauche, et droite les propriétés peuvent également être utilisées pour se déplacer autour des éléments de la grille.

     .grid-center grid-area: centre; position: relative; en bas: 10px; à droite: 10px;  .grid-right grid-area: right; position: relative; en bas: 10px; à gauche: 10px;  

    Ordre des éléments de la grille

    Les éléments de la grille sont rendus à l'écran dans l'ordre dans lequel ils apparaissent dans le code source HTML.

    Dans la section précédente, lorsque l'élément central était déplacé à gauche, il était placé en haut de l'élément de gauche par le navigateur. C'est arrivé parce que dans le HTML,

    vient après
    , donc l'élément central est rendu après (et plus) le gauche.

    Cependant, nous pouvons changer les éléments de la grille de commande en utilisant le z-index ou la ordre Propriétés CSS.

    En utilisant le z-index: 1; règle, l'élément de grille de gauche obtenu un contexte d'empilement plus élevé.

    . grid-left grid-area: gauche; z-index: 1;  

    Comme dans le module CSS Grid Layout, modification de l'ordre des éléments en HTML n'affecte pas la disposition de la grille, vous pouvez aussi mettre

    avant
    dans le HTML. Ne le faites que si le code HTML mis à jour ne nuit pas à l'accessibilité.

    Éléments de la grille de taille

    Si vous utilisez des lignes ou des colonnes à taille automatique pour un élément de la grille (en utilisant auto, fr, gr unités), il sera réduit pour laisser la place à son article voisin qui a grandi en taille seulement si ledit article n'a pas été classé par transformer ou une marge négative.

    N'oubliez pas que dans notre exemple de grille, les trois colonnes représentent une fraction (fr) du conteneur de grille. Regardez comment les trois éléments se ressemblent après que celui de gauche soit redimensionné de deux manières différentes.

    1. Taille avec largeur et la taille

    Ici, on change la taille de l'élément de gauche en utilisant le largeur et la taille Propriétés. En conséquence, il reste dans le conteneur de grille.

     .grid-left grid-area: gauche; largeur: 200px; hauteur: 90px;  
    2. Taille avec transformer

    Ici, on change la taille de l'élément de gauche en utilisant le transformer propriété. En conséquence, il déborde du conteneur et l’espace réseau disparaît également.

     .grid-left grid-area: gauche; transformer: scalex (1,8);  
    © Savtec
    Informations utiles et conseils de développement Web. Programmation, conception web, CSS, HTML, JAVASCRIPT. Configurez et réinstallez WINDOWS. Création de sites et d'applications à partir de zéro.