28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je m'arrahce les cheveux sur un truc qui me semble pas bien compliqué, cependant je trouve pas la solution qui me plait...
Rapidement, je vous explique ce que je veux faire & ce que j'ai :
- un boc bandeau en haut
- un bloc menu à gauche (float left)
- un bloc main sur le reste de la page

Dans ce bloc main, je veux tout simplement pouvoir mettre alignés 2 blocs div & centrés, sachant que l'un des deux peut ne pas être affiché dans certains cas et j'aimerais que celui restant soit centré.
Mon idée d'origine était de faire un bloc "PN" et dans y incorporer les 2 blocs "P" & "N" qui seront alignés et qui contiendront un bouton submit (et peut etre autre chose plus tard..). Et c'est là que ça va pas :
Si je mets float:left aux 2 DIV, les blocs sont bien alignés mais à gauche du bloc main. Si je mets une largeur fixe (en pixel) au bloc PN, ça fonctionne à peu pret, sauf que les boutons submit risquent d'avoir du texte dynamique donc une largeur dynamique. Donc je pense que le soucis se situe avec les marges du bloc PN mais pas moyen de trouver un moyen de les "ajuster automatiquement".

J'espère avoir été assez clair.. Et j'espère que quelqu'un aura une idée..

Merci
Bonjour,

Il te faut des blocs en display:table-cell ou en display:inline-block.

Faire faire simple et rapide: il te faut un tableau en margin: 0 auto (ce qui centrera le tableau quelle que soit sa largeur), avec une ou deux cellules suivant les cas.

Ou bien: un DIV qui englobe tes deux blocs flottants, tu donnes une largeur fixe à ce conteneur et tu utilises les marges automatiques pour le centrer. Suivant que tu as un ou deux blocs dans ce conteneur, tu utilises une classe différente et tu fais ainsi varier la largeur du conteneur.