|
|
|
|
-------------------------------- | | | label1: input1/select1 | | | | label2 sur | | plusieurs: input2/select2 | | lignes | | | | | OK | | |--------------------------------
<form id=monForm action="page2.php" method=POST>
<fieldset>
<!-- constrution similaire pour les autres types d'input et les select -->
<p>
<label for="form_prenom">Prenom: </label>
<input type="text" id="form_prenom" name="prenom" />
</p>
...
Configuration: Linux Epiphany 2.20
Salut !
si j'était toi j'enleverai les label et je les remplacerrai par des div , je trouve que c'est carrément plus simple a géréer étant donné quon a pas le PB des label qui prenne 2 lignes . |
salut,
à tester : définir la hauteur de ligne du paragraphe et lui appliquer un alignement vertical (comme input est rendu en ligne il devrait s'aligner mais c'est vraiment pas sûr…). p
{
line-heigth:4em;
vertical-align:center;
}
[ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
Merci!
Par contre je ne suis pas sûre de bien comprendre... comment puis-je insérer un label si j'enlève la balise ? |
Voici comment je construit mes formulaires la plupart du temps :
<form id=monForm action="page2.php" method=POST> <div> <div style="float: left;">Prenom :</div> <div style="padding-left: 150px;"><input type="text" id="form_prenom" name="prenom" /></div> <div style="float: left;">Nom :</div> <div style="padding-left: 150px;"><input type="text" id="form_nom" name="nom" /></div> </div> A toi ensuite de modifier le 150px par la valeur qui convient. Une autre technique consiste à mettre le tout dans des tableaux, c'est très pratiques : <table><tbody> <tr> <td style="width: 160px;">Nom:</td> <td valign="top"> <input type="text" id="form_nom" name="nom" /> </td> </tr> <tr> <td style="width: 160px;">Prenom :</td> <td valign="top"> input type="text" id="form_prenom" name="prenom" /> </td> </tr> </tbody></table> Là, il te suffit de modifier le valign="top" en valign="middle" si tu le désires. Voilà, @+ |
Merci je vais essayer de faire quelque chose avec ça!
Par contre, je croyais que depuis l'apparation des CSS, les tableaux ne devaient pas être utilisé pour faire de la mise en page ? |
re,
je viens de tester, ma solution fonctionne. p
{
line-height:4em;
vertical-align:middle;
}
par ailleurs les tableaux ne sont pas censés servir à la mise en page et les <div> sont moins corrects que les <label>. [ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
Merci. Ta solution me semble plus simple à mettre en oeuvre. Je vais déjà essayer cela! |
En fait ça ne semble marcher que partiellement, si je change line-height (par exemple 2em), alors l'alignement n'est plus correct. Par ailleurs lorsque mes labels font deux lignes, cela ne semble plus faire d'effet :-? |
Le cas échéant, serait-il possible de fixer une hauteur minimale pour un label ?
|
Je sais bien que le W3C déconseille la mise en page en tableau.
Cependant, dans certains cas, il faut bien avouer qu'on gagne du temps à le faire ainsi. Si non, tu peux reprendre ma première solution et essayer d'ajouter un vertical-align:middle; sur le Div contenant les Input. Et tu peux aussi très bien reprendre cette solution en changeant la première div par un label mais en lui appliquant le même CSS... |
Ce que je voudrais faire, c'et avoir mes labels sur un fond d'une certaine couleur et mes input/select sur le fond normal de ma page.
C'est difficile à expliquer clairement... j'espère que c'est plus ou moins compréhensible...
----------------------------------------
MON LABEL. | MON INPUT_TEXT, INPUT_RADIO ou SELECT
----------------------------------------
----------------------------------------
MON LABEL2. | MON INPUT_TEXT, INPUT_RADIO ou SELECT
----------------------------------------
----------------------------------------
MON LABEL2. |
qui prend plusieurs | MON INPUT_TEXT, INPUT_RADIO ou SELECT
LIGNE |
----------------------------------------
|
Ceci me parait correspondre tout à fait :
<label for="nom" style="background: red; float: left;">Nom : </label> <div ><input type="text" name="nom" /></div> <label for="nom" style="background: red; float: left;">Nom : </label> <div ><input type="text" name="nom" /></div> <label for="nom" style="background: red; float: left;">Nom : </label> <div ><input type="text" name="nom" /></div> <label for="nom" style="background: red; float: left;">Nom : </label> <div ><input type="text" name="nom" /></div> Je l'ai copier coller plusieurs fois pour te donner un aperçu. |
ce qui mets le bronx pour l'alignement vertical c'est le <input> sur plusieurs lignes.
j'ai trouvé une solution qui me parait honnête mais bien évidement IE ne sait pas le traiter. j'ai ajouté des <div> qui permettent un affichage semblable. il y a des espacements inexpliqués mais en faisant une fausse colonne sur les <div> ou le <form> ça doit pouvoir se masquer. [ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
Le problème de cette solution, c'est quelle implique de savoir si le label fera effectivement plusieurs lignes, ce qui peut varier suivant les résolutions, navigateurs, taille de fontes, ... |
Bon, ben moi je te reconseilles un tableau...
Ce serait déjà fini ;-) Je fais ce que je peux pour respecter les normes W3C, mais des fois il vaut mieux passer outre. |
Je crois que je vais suivre ton conseil Scalpweb... parce que là ce que je fais ça s'apparente plus à du bricolage qu'à autre chose... |
:-)
Pense à passer ce post en tant que sujet Résolu... |
Je fais ça comment? |
Ba tu réponds, et tu coches "Résolu", en bas de la zone ou tu tapes ton message. |
| 02/11 11h14 | [Webmaster] Un formulaire de contact pour votre site | Webmaster |
| 26/01 11h01 | la css pour présenter vos images | CSS |
| 01/11 15h07 | [Windows] Alignement automatique du curseur de la souris | Windows |
| 24/11 21h44 | [CSS] Créer facilement des CSS | CSS |
| 30/06 17h47 | Labels et certificats pour boutiques en ligne | e-achats |
| 20/11 12h18 | Alignement label et textarea | 3 |
| 07/09 14h14 | [CSS] Aligner image en bas a droite | 12 |
| 07/05 16h41 | [CSS] Aligner un contenant au centre | 1 |
| 04/03 16h20 | CSS alignement | 6 |
![]() | Satellite Antenna Alignment - Satellite Antenna Alignment est un programme utilisé pour calculer l'angle nécessaire pour l'installation d'un récepteur... | Catégorie: Environnement de travail Licence: Freeware/gratuit |
![]() | Web Developer Toolbar - WebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages... | Catégorie: Extensions Firefox Licence: Freeware/gratuit |
![]() | Amaya - Amaya est un éditeur Web, développé conjointement par l'INRIA et le W3C, pour éditer et publier très simplement des pages... | Catégorie: Editeurs HTML Licence: Open Source |
![]() | Firstpage - First Page 2006 est un éditeur html gratuit et excellent. Il permet de travailler un code HTML en couleur, ainsi que de... | Catégorie: Editeurs HTML Licence: Freeware/gratuit |
![]() | TNB CSSP1 | Catégorie: Casque audio | 7.49 € Alapage |
![]() | TNB CSSP2 | Catégorie: Casque audio | 7.49 € Alapage |
![]() | TNB CSSP4BL | Catégorie: Casque audio | 8.69 € Alapage |
![]() | TNB CSSF033272 | Catégorie: Casque audio | 44.90 € Alapage |