Problème de saut de ligne

Problème de saut de ligne - HTML/CSS - Programmation

Marsh Posté le 15-08-2006 à 10:34:50    

Je suis entrain de me mettre en page un formulaire via css.
J'ai donc fait mon p'tit code html:
 

Code :
  1. <form action="index.php?page=contacts.php" method="post">
  2.       <div class="formulaire_titre">Nom*</div><div class="formulaire_champs"><input type="text" name="nom" size="45" maxlength="20" /></div>
  3.       <div class="formulaire_titre">Prenom*</div><div class="formulaire_champs"><input type="text" name="prenom" size="45" maxlength="20" /></div>
  4.       <div class="formulaire_titre">Société*</div><div class="formulaire_champs"><input type="text" name="societe" size="45" maxlength="20" /></div>
  5.       <div class="formulaire_titre">Adresse*</div><div class="formulaire_champs"><input type="text" name="adresse" size="45" maxlength="100" /></div>
  6.       <div class="formulaire_titre">Code postal</div><div class="formulaire_champs"><input type="text" name="zip" size="25" maxlength="20" /></div>
  7.       <div class="formulaire_titre">Ville*</div><div class="formulaire_champs"><input type="text" name="ville" size="45" maxlength="20" /></div>
  8.       <div class="formulaire_titre">Pays*</div><div class="formulaire_champs"><input type="text" name="pays" size="45" maxlength="20" /></div>
  9.       <div class="formulaire_titre">Téléphone</div><div class="formulaire_champs"><input type="text" name="tel" size="25" maxlength="40" /></div>
  10.       <div class="formulaire_titre">Email*</div><div class="formulaire_champs"><input type="text" name="mail" size="45" maxlength="40" /></div>
  11.       <div class="formulaire_titre">Votre Commentaire*</div><div class="formulaire_champs"><textarea name="commentaire" rows="10" cols="34" ></textarea></div>
  12.       <input type="submit" name="submit" value="Envoyer" class="bouton" />
  13.       </form>


 
 
mon p'tit code css:
 

Code :
  1. .formulaire_titre
  2. {
  3. padding-left:2px;
  4. margin-bottom:2px;
  5. width:180px;
  6. height:20px;
  7. position:relative;
  8. left:20px;
  9. top:0px;
  10. background-color:#898a6c;
  11. color:white;
  12. font:12px, Century Gothic;
  13. }
  14. .formulaire_champs
  15. {
  16. position:relative;
  17. top:-22px;
  18. left:210px;
  19. padding:0px;
  20. margin-top:0px;
  21. width:100px;
  22. background-color:red;
  23. color:black;
  24. font:12px, Century Gothic;
  25. }


 
 
et voila le résultat:
http://www.aquineascollection.com/vhdwebpack/vhd/aquineas/blem.jpg
(ne pas faire attention au bouton, c'est provisoire...)
 
On voit donc qu'il y a un saut de ligne indésirable, dont je n'explique pas la présence. auriez vous une idée pourle faire disparaître? Merci d'avance  :jap:

Reply

Marsh Posté le 15-08-2006 à 10:34:50   

Reply

Marsh Posté le 15-08-2006 à 11:01:24    

il faut prendre les bonnes habitudes des le départ :  
-mettre un label autour du texte, et l'associé à son input :  
ex : <label for="nom">nom</label><input id="nom">
je ne les ai pas mis dans ton code car j'ai la flème
-Eviter les div, c'est bien les div, mais trop de div, tu les divs. Ya largement assez d'éléments en HTML pour faire mumuse et eviter les Div, utilise les Div pour faire des encadrement de boite ou autre
-evite d'utiliser les position :relative pour du positionnement comme ça, un positionnement flottant suffit largement
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <style>
  6. form.inscription {}
  7. form.inscription label {
  8.  background-color:#898a6c;
  9.  color:white;
  10.  font:12px, Century Gothic;
  11.  float:left;
  12.  width:180px;
  13.  padding:1px 5px;
  14.  margin-top:2px;
  15. }
  16. form.inscription input,form.inscription textarea   {
  17.  width:250px;
  18.  color:black;
  19.  font:12px, Century Gothic;
  20.  border:1px solid gray;
  21.  vertical-align:top;
  22.  margin-left:5px;
  23. }
  24. form.inscription textarea {
  25.  height:100px;
  26. }
  27. form.inscription p.button {text-align:center; margin:0}
  28. form.inscription p.button input {
  29.  color:black;
  30.  background:#898a6c;
  31.  font-weight:bold;
  32.  width:auto;
  33.  height:auto;
  34.  margin:0 auto;
  35. }
  36. form.inscription br {clear:both;}
  37. </style>
  38. </head>
  39. <body>
  40.     <form class="inscription" action="index.php?page=contacts.php" method="post">
  41.     <label>Nom*</label><input type="text" name="nom" /><br />
  42.     <label>Prenom*</label><input type="text" name="prenom" /><br />
  43.     <label>Société*</label><input type="text" name="societe" /><br />
  44.     <label>Adresse*</label><input type="text" name="adresse" /><br />
  45.     <label>Code postal</label><input type="text" name="zip" maxlength="20" /><br />
  46.     <label>Ville*</label><input type="text" name="ville" /><br />
  47.     <label>Pays*</label><input type="text" name="pays" /><br />
  48.     <label>Téléphone</label><input type="text" name="tel" /><br />
  49.     <label>Email*</label><input type="text" name="mail" /><br />
  50.     <label>Votre Commentaire*</label><textarea name="commentaire"></textarea><br />
  51.     <p class="button">
  52.    <input type="submit" name="submit" value="Envoyer" />
  53.   </p>
  54.     </form>
  55. </body>
  56. </html>

Reply

Marsh Posté le 15-08-2006 à 11:31:01    

Ah tiens, j'avais jamais entendu parler de ce "label".
Je viens de regarder dans un livre sur l'html, l'auteur ferme le </label> après la balise <input>, c'est une erreur, ou bien cela n'a pas d'importance?
 
En tous cas la mise en page fonctionne bien mieux comme ça, merci beaucoup!  :jap:


Message édité par Aquineas2 le 15-08-2006 à 11:31:12
Reply

Marsh Posté le 15-08-2006 à 11:57:23    

le label permet d'associer un texte à un input.
 
parfois on met l'input dans le label parfois non
moi je ne le met pas, mais ça peut être une erreur, car en pensant en terme de bloc, le texte est séparé de son input.
 
parfois il vaut mieux faire ceci :  
<label><span>texte</span><input type="text"></label>
 
Ca permet d'avoir plus de pouvoir sur la mise en page

Reply

Marsh Posté le 15-08-2006 à 12:07:08    

Merci pour ce complément!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed