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 :

Aligner des div en mode table-cell (mais sans js ?)


Sujet :

Positionnement en CSS

  1. #1
    Membre éclairé
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 153
    Points : 708
    Points
    708
    Par défaut Aligner des div en mode table-cell (mais sans js ?)
    Bonjour,

    J'essaye diverses solutions pour aligner 3 div à l'intérieur d'une autre, en occupant (si possible) toute la place, ou a minima en respectant un positionnement gauche-milieu-droite. Le centrage vertical est un autre problème "en soit", là il s'agit juste de la répartition de ces divs.

    J'ai une div englobante (boite_ext) qui sera positionné quelque part par quelqu'un. Dedans, je place une div intérieure qui sera "mon" environnement/périmètre de travail (boite_int). Dans "ma" div, je dois en placer 3, typiquement avec un alignement gauche-milieu-droite.
    Dans ce cas précis, je tente d'utiliser des display:table-cell (on peut aussi utiliser, table, translate, flex… ok, mais je dois me pencher sur le cas "table-cell").

    Le html :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8" />
    	<link rel="stylesheet" href="test_2.css">
    	<Title>Tests #2</title>
    </head>
    <body>
    <main role="main">
    	<div class="boite_ext">
    		<div class="boite_int">
    			<div class="gauche">
    				gauche
    			</div>
    			<div class="milieu">
    				milieu<br>bla bli bla bli bla bli
    			</div>
    			<div class="droite">
    				droite
    			</div>
    		</div>
    	</div>
    </main>
    </body>
    </html>
    Le css :
    Code : 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
    19
    20
    .boite_ext {
    	border: 2px solid blue;
    	max-width: 40%;
    	padding: 10px;
    }
    .boite_int {
    	margin: 10px auto;
    	border: 2px solid red;
    	padding: 10px;
    /*
    	width: 100%;
    	display: table;
    */
    }
    .boite_int div {
    	border: 2px solid;
    	display: table-cell;
    	vertical-align: middle;
    	text-align: center;
    }
    Le gag/problème se situe avec les deux lignes que j'ai laissées en commentaire. Ma boite_int prend correctement toute la place dans la boite_ext. Si j'active le display:table, ma boite_int se colle aux trois div internes. Mais si j'active lewidth:100%, la boite_int fait bien 100% de la taille parente, mais se décale horizontalement vers la droite en additionnant les margin et padding.

    Ai-je loupé un truc pour que le tout se mette correctement (avec les table / table-cell) ? Ou faut-il vraiment dans ce cas calculer avant ou par js (js que je dois éviter) ?

    Merci pour l'éclairage…

    p.s. : si quelqu'un peut me rappeler comment placer quelques mots de code en cours de texte du message…

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

    1- dé-commente les 2 lignes, et ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div { box-sizing:border-box; }



    2-
    ...comment placer quelques mots de code en cours de texte du message…
    No comprendo...

  3. #3
    Membre éclairé
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 153
    Points : 708
    Points
    708
    Par défaut
    1) Effectivement, j'avais loupé le box-sizing. Merci pour le rappel et le lien.

    2) Je me suis mal exprimé : p.ex. en cours de message sur la ligne précédente, le "box-sizing" peut apparaître en "format code" sans être mis dans un insert passé à la ligne.

  4. #4
    Invité
    Invité(e)
    Par défaut
    2- mettre :

    [c=css]box-sizing[/c]
    ou
    [codeinline=css]box-sizing[/codeinline]


    "...j'avais loupé le box-sizing. Merci ..."

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 946
    Points : 44 086
    Points
    44 086
    Par défaut
    Bonjour,
    d'une façon plus générale il existe : Liste des balises BB.

  6. #6
    Membre éclairé
    Homme Profil pro
    web a11y
    Inscrit en
    Avril 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 153
    Points : 708
    Points
    708
    Par défaut
    Merci à tous deux, tout va bien désormais…

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

Discussions similaires

  1. Alignement des div et leurs contenu!
    Par redah75 dans le forum Mise en page CSS
    Réponses: 28
    Dernier message: 09/09/2009, 17h33
  2. alignement des div
    Par -Neo- dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 19/03/2008, 15h59
  3. Alignement des divs
    Par k-koo dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 15/01/2008, 19h56
  4. Aligner des div horizontalement
    Par abir84 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/12/2007, 15h02
  5. Aligner des <div>
    Par Sourrisseau dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/12/2006, 19h44

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