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 :

Utilisation de display: inline-block


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut Utilisation de display: inline-block
    Bonjour,

    j'aimerais aligner horizontalement des div.
    Pour ce faire, j'ai utilisé la propriété css display: inline-block mais les div sont toujours affichées les unes en dessous des autres.

    Voici mon code html :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="ui-grid-container">
                <div class="ui-grid-a">
                    <div class="ui-block-a">
                        <b>Energie consommée</b><br> <b>en 2012</b><br> <span class="txt-large">374</span>
                        kW
                    </div>
                    <div id="graph" class="ui-block-b"></div>
                </div>
                <div id="graphChart" class="ui-grid-b"></div>
            </div>

    tout ce qui est dans la div ui-grid-container doit être aligné.

    au sein de cette div qui utilise 100% de la largeur, j'aimerais que ui-grid-a et ui-grid-b se partagent la largeur (50% pour chaque div).

    Au sein de ui-grid-a, j'aimerais que ui-block-a et ui-block-b se partagent la largeur (25% de la largeur totale pour chaque div).

    voici mon code css:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    .ui-grid-container {
      width: 100%;
    }
     
    .ui-grid-a, .ui-grid-b, .ui-block-a, .ui-block-b {
      width: 50%;
      display: inline-block;
    }
    malheuresement mes div s'affichent les unes en dessous des autres mais les largeurs sont respectées.

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    l'inconvénient avec display: inline-block; c'est qu'il crée un espace entre les <div> s'ils ne sont pas accolés au niveau du code (passage à la ligne !).

    Il faut modifier comme suit :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div class="ui-grid-container">
    	<div class="ui-grid-a">
    		<div class="ui-block-a">
    			<b>Energie consommée</b><br> <b>en 2012</b><br> <span class="txt-large">374</span>
    			kW
    		</div><div id="graph" class="ui-block-b"></div>
    	</div><div id="graphChart" class="ui-grid-b"></div>
    </div>

    On retrouve le même comportement avec les images (par ex.) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img src="image1.jpg" alt=""/>
    <img src="image2.jpg" alt=""/>
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image1.jpg" alt=""/><img src="image2.jpg" alt=""/>
    Le 1er cas affiche un léger espace entre les 2 images.
    Dernière modification par Torgar ; 12/08/2013 à 14h07. Motif: Merci de préciser le langage [code=xxx]

  3. #3
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    Bonjour,

    je verrais bien une solution avec la propriété display:table;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    .ui-grid-container {
    	display: table;
    	width: 100%;
    }
    .ui-grid-a, .ui-grid-b{
    	width: 50%;
    	display: table-cell;
    }
    .ui-block-a, .ui-block-b{
    	display: table-cell;
    	width:1%;
    }
    http://codepen.io/anon/pen/aBgAq

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut
    merci beaucoup pour ta réponse.

    J'en reste encore bouche bée ... c'est quand même un drôle de fonctionnement !

    je n'aurais jamais trouvé.

    Merci encore

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

Discussions similaires

  1. [CSS 2] Equivalent de display: inline-block
    Par julie90 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 07/01/2011, 14h48
  2. display:inline-block; Problème avec Netscape navigator
    Par mehdi_scofield dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/11/2008, 16h44
  3. Problèmes avec display:inline-block
    Par NewbiePower dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 30/10/2007, 11h34
  4. utilisation de display:inline-block
    Par CUCARACHA dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/08/2007, 15h21

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