Grille CSS : créer une nouvelle ligne lorsque le contenu enfant dépasse la largeur de la colonne
P粉212114661
P粉212114661 2023-09-05 15:18:28
0
1
478

J'ai une disposition à deux colonnes basée sur CSS Grid. Je souhaite créer une nouvelle ligne lorsque le contenu de la deuxième colonne dépasse 1fr. Dans l’état actuel des choses, le contenu déborde simplement de la colonne.

Une exigence de cette mise en page est que les éléments de la colonne menu de droite soient sur une seule ligne. J'y parviens par :

.right-menu { ... grille-auto-flow : colonne dense ; ... } 

Si je supprime l'attribut grid-auto-flow, le débordement s'arrête. Cependant, les éléments sont désormais empilés sur plusieurs lignes, ce qui n'est pas ce que je souhaite.

J'ai également essayé de changer .right-menu

.right-menu { affichage : 'inline-flex' ; } 

Cependant, le résultat est le même qu’avant. Colonne de débordement de contenu. Existe-t-il un moyen de le faire sans JavaScript ? Les requêtes multimédias sont obsolètes car elles sont basées sur le contenu et non sur la largeur de la fenêtre d'affichage.

.main-container { couleur d'arrière-plan : #ccc ; rembourrage : 1,0rem ; largeur : 1 200 px ; marge : 1,0rem 0 0 1,0rem ; } .menu-grille { affichage : grille ; grille-modèle-colonnes : répéter (auto-fill, minmax (600px, 1fr)); grille-modèle-lignes : répéter (remplissage automatique, 1fr) ; grille-auto-flow : ligne ; écart entre les lignes et la grille : 1,0rem ; } .menu-gauche { taille de police : 1,25rem ; } .menu droit { affichage : grille ; couleur de fond : blanc ; grille-modèle-colonnes : répéter (auto-fill, minmax (65px, 1fr)); grille-auto-flow : colonne dense ; écart entre les lignes et la grille : 0,5 rem ; écart entre les colonnes et la grille : 0,75rem ; } .article droit { couleur d'arrière-plan : #fff ; alignement du texte : centre ; largeur minimale : 65 px ; bordure : 1px noir uni ; }

P粉212114661
P粉212114661

répondre à tous (1)
P粉269847997

Utiliser Flexbox vous portera chance

.main-container { background-color: #ccc; padding: 1.0rem; width: 1200px; margin: 1.0rem 0 0 1.0rem; } .menu-grid { display: flex; flex-wrap: wrap; gap: 1.0rem; } .menu-grid > * { flex: 600px; } .left-menu { font-size: 1.25rem; } .right-menu { display: grid; background-color: white; grid-auto-columns: 65px; grid-auto-flow: column; grid-row-gap: 0.5rem; grid-column-gap: 0.75rem; } .right-item { background-color: #fff; text-align: center; min-width: 65px; border: 1px solid black; }
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!