Bonjour,
J'aimerai mettre un forme un formulaire, mais sans utiliser de tableau en html, donc juste passer par du CSS.
Voilà en gros ce que j'aimerai obtenir :
avec un html ayant pour modèle :
J'ai essayé un paquet de solution, mais rien qui ne convienne...
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 <body> <div class="FIELD_1_CRITERIA"> <div class="FIELD_1_LABEL">Num :</div> <div class="FIELD_1_SIGN"><select id="Select1"><option>></option><option>=</option></select></div> <div class="FIELD_1_CONTROL"><input id="Text1" type="text" /></div> </div> <div class="FIELD_2_CRITERIA"> <div class="FIELD_2_LABEL">Date dispo :</div> <div class="FIELD_2_SIGN"><select id="Select2"><option>Between</option></select></div> <div class="FIELD_2_CONTROL"><input id="Text2" type="text" /></div> <div class="FIELD_2_CONTROL"><input id="Text3" type="text" /></div> </div> [...] <div class="FIELD_N_CRITERIA"> <div class="FIELD_N_LABEL">Code Rejet :</div> <div class="FIELD_N_SIGN"><select id="Select3"><option>></option><option>=</option></select></div> <div class="FIELD_N_CONTROL"><input id="Text4" type="text" /></div> </div> </body>
Mettre les labels en float:left, les controls en float:right, et centrer les signes. Le problème c'est que les signes ne sont alors plus alignées les uns par rapport aux autres.
J'ai donc pensé à les centrer avec le css suivant :
mais la solution n'est pas idéale, car ils sont au milieu du champs, et non centrés entre les labels et les controls.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 position:absolute; top:50%; left:50%; width:80px; margin-left: -40px; height:24px; margin-top: -12px;
Je ne peux pas utiliser de taille fixe, parce que le code html est généré dynamiquement en fonction de donnée dans une base. Je ne peut donc pas savoir à priori ce qu'il va y avoir dans ma page exactement.
La longueur du texte des labels est très variable, tout comme la taille des controls qui ne seront pas uniquement des textInputs, mais qui peuvent être des controls personnalisés variés
Je suis ouvert à toute piste intéressante!!
Merci pour votre aide
Partager