|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Développeur informatique Inscription : juillet 2009 Messages : 176 ![]() |
Salut à tous,
Voici une question qui a été posée maintes fois, j'en suis bien concient, mais je n'arrive pourtant pas à appliquer les solutions proposées à mon cas de figure... J'ai 2 div dans un conteneur qui dispose de la propriété "table-cell". Je souhaiterai centrer le tout : Code :
Je sais également que ça ne sera pas "visible" sur les versions d'IE antérieurs à la v9 mais je n'ai pas envie de passer par des tableaux, ou par des background fictifs (car dans ce dernier cas je trouve qu'on perd la logique du css). J'ai essayé donc avec les "margin:auto", "text-align:center", ... Mais impossible de centrer ces 2 div... Est-ce qu'un âme charitable pourrait m'aider ? Merci dans tous les cas |
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : mai 2011 Messages : 109 ![]() |
Voici une proposition de code où les 2 div sont centrés.
Je n'utilise pas de cellule de tableau (table-cell) car je ne vois pas l'utilité (pas de présentation structurée) mais une div conteneur, un div contenu et un div menu. Ici en CSS, il faut utiliser et non pas J'ai placé les div verticalement par la propriété mais on peut les aligner horizontalement avec Le de la div contenu permet de laisser une marge égale de chaque côté ce qui va la centrer. Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Développeur informatique Inscription : juillet 2009 Messages : 176 ![]() |
Merci miss_socrates pour cette réponse. Hélas les div, même s'ils sont bien alignés, le sont l'un en dessus de l'autre.
Pour ma part, il me faut des div cote à cote et, pour compliquer les choses, de même hauteur (raison pour laquelle j'ai utilisé l'attribut "table-cell", même s'il n'est compatible sur IE que depuis la version 8). Edit: J'ai rajouté l'attribut "align=center" directement dans ma balise "div id=conteneur". Bizarrement le div s'est centré. Ça me paraît trop simple mais je vais voir ce que ça donne et faire une feuille de style à part pour les versions IE antérieures à la 9. |
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Inscription : mai 2011 Messages : 109 ![]() |
Je les ai alignés verticalement parce qu'il me semblait logique de mettre le menu au-dessus. La solution pour aligner horizontalement était dans ma réponse:
Il est possible de les aligner horizontalement par La commande "align=center" est obsolète, il vaut mieux utiliser le CSS: div{text-align: center;} Pour avoir les div de même hauteur, on peut utiliser (pour une hauteur des div de 200px par ex.) : en HTML: Code :
ce qui sera interprété correctement sur toutes les versions des navigateurs. |
||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Développeur informatique Inscription : juillet 2009 Messages : 176 ![]() |
Désolé, je me suis peut être mal exprimé.
Bien entendu je suis en mesure de créer 2 div de hauteur identique (d'autant plus s'il s'agit de définir une hauteur fixe). Mais dans mon cas de figure, la hauteur est dynamique, et elle ne sera en aucun cas la même pour les 2, d'où la difficulté de la chose. Pour l'attribut "align", il n'est effectivement pas autorisé avec un doctype "strict", c'est pourquoi je suis passé sur du Transitional Je vais continuer à creuser histoire de réussir à combiner "div de même hauteur" et "alignement horizontal". |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : mai 2011 Messages : 109 ![]() |
Pour que la hauteur de la div corresponde au contenu, on peut employer: Ainsi, la hauteur sera adaptée automatiquement au contenu de chaque div.
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Développeur informatique Inscription : juillet 2009 Messages : 176 ![]() |
Merci miss_socrates pour cette réponse, hélas les 2 div doivent être à la même hauteur...
Si seulement IE supportait le "table-cell", ce serait tellement plus simple |
|
|
00
|
|
|
#8 | ||
![]() ![]() Inscription : juillet 2006 Messages : 1 529 ![]() |
Hello,
En principe il te suffit d'ajouter: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com