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 :

Placer un bloc dans l'espace restant avec flex


Sujet :

Positionnement en CSS avec flexbox

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut Placer un bloc dans l'espace restant avec flex
    Bonjour,
    Dans la balise <header> suivante, je voudrais mettre le premier élément à gauche (c'est OK) et les suivants répartis dans l'espace restant.
    La ligne 12 du CSS n'est pas appropriée. Si je mets 100% le bloc s'affiche en dessous. Si je mets 80% comme ici, le bloc prend une place arbitraire qui dépend de la fenêtre. Je voudrais que le bloc occupe toute la place disponible quelque soit le nombre d'éléments dans le deuxième div.
    Si je supprime la ligne 12 ou si je la remplace align-items:stretch, je serre tout le bloc à gauche.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <header>
    	<div id="headerCalendar">
    		<span id="calendarSpan"></span>
    	</div>
    	<div>
    		<img src='<?= DIR_IMAGES; ?>logo_sirep.png' alt='logo_sirep' />
    		<h1><?= H1; ?></h1>
    		<?php
                    if ( isset($subscribers->id) ) {
                            $imgSrc = getFirstImageFromBasename("subscribers/$subscribers->id/images/logo*");
                            if ( $imgSrc ) { echo "<img src='$imgSrc' alt='custom_logo' />"; }
                    }
                    ?>
    	</div>
    </header>
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    header
    {
    	width:100%;
    	display:flex;
    	flex-direction:row;
    	flex-wrap:wrap;
    	/*justify-content:space-around;*/
    	justify-content:flex-start;
    }
    header div:nth-child(2)
    {
    	width:80%; /* Valeur gênante */
    	display:flex;
    	flex-direction:row;
    	flex-wrap:wrap;
    	justify-content:space-around;
    	border:1px solid; /* Pour test uniquement */
    }

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

    1- ce n'est pas la 1ère fois qu'on te demande (dans le forum CSS) de mettre le code HTML généré, pas le code PHP... Si ?
    Merci.

    2- Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	width:80%; /* Valeur gênante */
    par

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    1- C'est vrai, désolé pour cet oubli! Je pense que maintenant, il n'est plus d'aucune utilité. J'ai juste besoin d'un éclaircissement sur la dernière ligne de ce post.

    2- Le troisième paramètre fait passer le bloc à la ligne, si je le supprime le fonctionnement est correct. J'ai regardé la doc sur MDN mais je ne vois pas à quoi correspond la valeur par défaut de 1 pour flex-basis.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ah oui !

    Il faut aussi remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header {
    ...
    	flex-wrap:wrap;
    ...
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header {
    ...
    	flex-wrap:nowrap;
    ...

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

Discussions similaires

  1. J'aimerais bien placer certains bloc dans la version mobile
    Par MInfo25 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 02/01/2016, 12h51
  2. Réponses: 3
    Dernier message: 22/09/2015, 13h08
  3. Réponses: 0
    Dernier message: 22/12/2014, 13h28
  4. Réponses: 0
    Dernier message: 27/01/2011, 18h07
  5. Placer du texte dans le presse papier avec DOM
    Par Desraux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/01/2005, 13h11

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