IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Grids CSS - 2 colonnes dont 1 facultative. [CSS 3]


Sujet :

Grille CSS (CSS Grid)

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut Grids CSS - 2 colonnes dont 1 facultative.
    Bonjour à tous,

    je suis face à un problème dont j'aimerais avoir votre avis.

    En fait, j'aurais une grid à 2 colonnes. Dans la 1ère, colonne, j'aurai les images concernant l'article qui défileront et, dans la 2ème colonne, j'aurai l'article en lui-même.

    Il peut arriver que je n'aie aucune photo pour un article. Dans ce cas-là, j'aimerais que l'article occupe les 2 colonnes.

    Est-ce facile de faire cela avec les grids ?

    Merci d'avance

    Bonne journée
    Thierry

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu n'as toujours pas de code à montrer ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour Jérôme,

    merci pour votre réponse.

    En effet, j'ai déjà eu l'occasion de faire une partie avec les grids mais je me demandais simplement comment faire pour rendre une colonne facultative et que l'autre colonne prenne toute la largeur dans ce cas-là.

    Je continue mes recherches de mon côté.

    Bon dimanche.
    Thierry

  4. #4
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Salut, oui, c'est facile mais pas directement en CSS
    Seul un test au préalable via le PHP pourra te permettre d'appliquer telle ou telle classe CSS ou construction HTML


  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    Citation Envoyé par ma5t3r
    Salut, oui, c'est facile mais pas directement en CSS
    je ne vois pas en quoi cela ne serait pas réalisable directement en CSS.

    N'ayant pas la structure HTML de base on va considérer que l'on a quelque chose comme
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- avec image -->
    <article>
        <img src=" ... " alt=" ... ">
        <p>Lorem ipsum ... </p>
    </article>
    <!-- sans image -->
    <article>
        <p>Lorem ipsum ... </p>
    </article>

    Plusieurs possibilités sont offertes dans ce cas.

    On va exclure ici l’utilisation des grids, plutôt applicable au gabarit de mise en page.
    Il nous reste
    • display:flex, adapté en considérant que chaque <article> est un composant ;
    • display:table sur les <article> et display:table-cell sur ses enfants directs ;
    • float:left sur les <img> des <article>.

    cela semble suffisant pour résoudre cette présentation.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    On va exclure ici l’utilisation des grids, plutôt applicable au gabarit de mise en page.
    +10

    Pourtant, j'ai essayé de lui faire comprendre, mais non...

  7. #7
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    En fait, j'aurais une grid à 2 colonnes. Dans la 1ère, colonne, j'aurai les images concernant l'article qui défileront et, dans la 2ème colonne, j'aurai l'article en lui-même.
    Les Images et non pas l'image ce qui change tout.

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut

    il suffit de remplacer les <img> par des conteneurs de « slide », <div>/<ul>,le principe restant le même.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!-- avec slide images -->
    <article>
        <ul class="slide"> ... </ul>
        <p>Lorem ipsum ... </p>
    </article>
    <!-- sans slide images -->
    <article>
        <p>Lorem ipsum ... </p>
    </article>

  9. #9
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Exact NoSmoking

    1 cahier des charges
    10 développeurs
    10 façons de faire

    Si ma tante avait un vélo d'homme, est-ce que je devrais l'appeler Tonton ? :-)

  10. #10
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2019
    Messages : 51
    Par défaut
    Bonjour à tous,

    merci à vous pour votre aide et vos conseils.

    En fait, c'est possible de résoudre ce problème via les grids.

    Voici ce que j'ai utilisé pour le faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      display:grid;
      grid-template-columns: auto 1fr;
    Il faut mettre ce code sur le parent. Si la première colonne est vide, sa largeur se réduira au maximum (marges et gap resteront applicables).

    Bonne journée
    Thierry

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Citation Envoyé par thirt
    En fait, c'est possible de résoudre ce problème via les grids.
    Ce « layout » n'a pas été prévu/conçu pour cela : https://drafts.csswg.org/css-grid/#intro, pourquoi ne pas revenir aux <table>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jvcl(grid avec une colonne checkbox)
    Par Klemsy78 dans le forum Delphi
    Réponses: 2
    Dernier message: 02/11/2006, 21h15
  2. [CSS] 3 colonnes
    Par Anduriel dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 09/06/2006, 13h52
  3. [CSS] 2 colonnes l'une à coté de l'autre
    Par v4np13 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/11/2005, 22h36
  4. [HTML?][XHTML?][CSS?] Une image dont la taille s'adapte
    Par zelda dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/11/2005, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo