alignement des zone text [HTML] - HTML/CSS - Programmation
Marsh Posté le 30-05-2005 à 14:32:12
Avec une règle...
Plus sérieusement, ils sont comment ? Post un peu de code, parce que là c'est dur de répondre...
Marsh Posté le 30-05-2005 à 15:56:55
d'accord je m'excuse voilà le code source de la page:
il ya un peu de Vbscript bon je suis débutant en HTML,tu exécutes ce code et tu vas voir les zones de text sont décalés
<html>
<head>
<title>les fonctions date_time</title>
</head>
Nom:<input type=texte name=Tnom><br>
prénom:<input type=text name=Tprenom><br>
Date de naissance:<input type=text name=Tdate><p>
<select name=sel1 size=4>
<option>Date
<option>Mois
<option>Jour
<option>Année
</select>
<select name=sel2 size =3>
<option>Heure
<option>Minute
<option>Seconde
</select>
<p>
Heure:<input type=text name=Theur><br>
Minute:<input type=text name=Tmin><br>
Seconde:<input type=text name=Tsec><br>
<br>
Commentaire:<textarea name=Tarea rows=6 cols=50></textarea>
<p>
<input type=Reset name=Raf value="Rafraîchir">
<input type=Reset name=Efac value="Effacer">
<Script language="vbscript">
sub sel1_onclick()
indx=sel1.selectedindex
if Tdate.value="" then
msgbox "Entrer la date de naissance svp!",vbexclamation,"Attention"
end if
if indx=0 then
msgbox "la date est:" & cdate(Tdate.value),vbinformation,"Information"
end if
if indx=1 then
msgbox "le mois est:" & month(Tdate.value),vbinformation,"Information"
end if
if indx=2 then
msgbox "le jour est:" & day(Tdate.value),vbinformation,"Information"
end if
if indx=3 then
msgbox "l'année est:" & year(Tdate.value),vbinformation,"Information"
end if
end sub
sub sel2_onclick()
msgbox time
indx=sel2.selectedindex
if indx=0 then
Theur.value=hour(time)
end if
if indx=1 then
Tmin.value=minute(time)
end if
if indx=2 then
Tsec.value=second(time)
end if
end sub
sub Raf_onfocus()
Tarea.value="votre nom est :" & Tnom.value & chr(13) & "votre prénom est :" & Tprenom.value & chr(13) & "Date de naissance : " & Tdate.value
end sub
sub Efac_onclick()
dim var
Tnom.value=""
Tprenom.value=""
Tdate.value=""
Theur.value=""
Tmin.value=""
Tsec.value=""
Tarea.value=""
end sub
</script>
</body>
</html>
Marsh Posté le 30-05-2005 à 16:07:31
L'interet de poster 50 lignes de script VB alors que ta question porte sur la partie HTML ?
Marsh Posté le 30-05-2005 à 19:19:59
ok tu peux dire ce que tu veux sans prb mais au moins réponds à ma question svp.
moi c'est expret que j'ai envoyé tous le code pour le copier et le coller pour directement voir le prb que j'aie voilà si tu veux le partie où il est le prb voilà
Nom:<input type=texte name=Tnom><br>
prénom:<input type=text name=Tprenom><br>
Date de naissance:<input type=text name=Tdate><p>
Heure:<input type=text name=Theur><br>
Minute:<input type=text name=Tmin><br>
Seconde:<input type=text name=Tsec><br>
comment je peux alligner ces zones de texte !!!
Marsh Posté le 30-05-2005 à 19:34:39
.form div {
float: left;
width: 200px;
}
<div class="form"><div>Nom :</div>Pouet</div>
Marsh Posté le 30-05-2005 à 20:51:20
merci j'ai pas bien compris ce code ou je peux le faire???
Marsh Posté le 30-05-2005 à 21:09:08
Code :
|
Voila en gros un rapide exemple.
Ca utilise Une feuille de style CSS pour mettre en forme. Renseigne toi sur google pour trouver des tuto qui t'expliqueront en quoi ca consiste.
Marsh Posté le 30-05-2005 à 22:27:24
afbilou a écrit :
|
Mais c'est quoi cette saleté?
Puis d'ailleurs pourquoi les div se finissent par deux </div> simultanés?
Marsh Posté le 30-05-2005 à 23:15:01
masklinn a écrit : |
Marsh Posté le 30-05-2005 à 23:18:43
masklinn a écrit : |
ben c'est de la grosse marde ki pue
dans tes styles :
Code :
|
et ton HTML
Code :
|
Marsh Posté le 30-05-2005 à 23:20:36
et en plus afbilou tu as tout utilisé a l'envers.
c'est pas .form DIV dans ton cas mais DIV.form
si ca avait été .FORM DIV
au niveau du code ca serait :
<form class="form">
<DIV></div>
</form>
Marsh Posté le 30-05-2005 à 23:36:29
bah si
parce que dans ton cas toi
tu défini l'attribut DIV qui se trouve dans un élément de classe "form"
alors que en temps normal ca aurait plutot été de désigné un attribut div de classe FORM
Marsh Posté le 30-05-2005 à 23:38:56
bah non
tu fais bien comme tu veux ... mais le CSS associé a mon exemple est juste.
Marsh Posté le 31-05-2005 à 00:09:36
afbilou a écrit : bah non |
...
putain j'avais pas vu, tu fais des nesting de div multiples et tu utilises pas de <form>, ce code est encore plus merdique que ce que je pensais
(et gatsudat ton code est aussi moche que le sien, BTW)
<html> |
#identity label { |
Et voila, un formulaire avec un markup correct
Marsh Posté le 31-05-2005 à 00:37:26
masklinn a écrit : |
La question n'est absolument pas la ...
<label> et <form> ne sont pas le sujet ... il souhaite une methode pour que les champs de texte a gauche soient correctement alignés par rapport aux champs qui se trouveront a droite. Si l'envie lui vient de mettre un <select> ou un <textarea> dans les champs de droite (ou meme une image) les labels ne seront plus alignes dans ton exemple : ce n'est donc pas ce k'il veut. Voila pourquoi j'ai fait des <div> imbriqués. A lui de les remplacer par des elements semantiques plus adaptés par la suite ...
Marsh Posté le 31-05-2005 à 00:41:20
afbilou a écrit : Voila pourquoi j'ai fait des <div> imbriqués. A lui de les remplacer par des elements semantiques plus adaptés par la suite ... |
Quel dommage que tu n'ais pas mentionné la chose
Et que l'utilisation des divs reste inadaptée
Et que mon exemple tienne la route même en cas d'utilisation d'options ou textareas
Marsh Posté le 31-05-2005 à 00:45:53
Bah non si tu mets un select dans ton exemple ca ne sera jamais bien aligné puiske tu donnes une largeur aux elements de droite et que cette largeur n'aura pas le meme rendu avec un input ou un select par exemple.
Marsh Posté le 31-05-2005 à 01:12:45
Dans l'etat actuel ton code ne peut pas lui assurer un affichage comme celui-ci :
C'est de cette maniere que j'interprete sa demande. Alors je me suis peut-etre trompé dans l'interpretation mais pour arriver au resultat de l'image ma solution tiens tout a fait la route. Tu arriveras peut-etre a comprendre que dans un code qui te parait faux il y a peut-etre derriere une conceptualisation et/ou un but differents des tiens. La prochaine fois tu garderas peut-etre tes sarcasmes deplacés sur un forum public.
Marsh Posté le 31-05-2005 à 01:16:01
Citation : Bah non si tu mets un select dans ton exemple ca ne sera jamais bien aligné puiske tu donnes une largeur aux elements de droite et que cette largeur n'aura pas le meme rendu avec un input ou un select par exemple. |
Bien sûr que si
afbilou a écrit : Dans l'etat actuel ton code ne peut pas lui assurer un affichage comme celui-ci : |
bien sûr que non, le code actuel tient en tant que tel mais n'est pas autoextensible
Citation : pour arriver au resultat de l'image ma solution tiens tout a fait la route |
graphiquement peut être, sémantiquement elle n'a strictement aucun sens
Marsh Posté le 31-05-2005 à 01:34:29
Citation : |
Ecoute mets un select dans un des champs dans ton code et tu verras que la largeur n'est pas la meme : la difference se joue a 2 / 3 pixels et ca reste inesthetique.
Citation : bien sûr que non, le code actuel tient en tant que tel mais n'est pas autoextensible |
C'est pour cela que je parle de difference de conceptualisation et de but a atteindre.
Citation : graphiquement peut être, sémantiquement elle n'a strictement aucun sens |
Je me risquerait pas a mettre du semantique dans un code d'exemple pour une question de positionnement des elements.
Pour le coup ca n'a aucun sens ... on ne sait pas comment Toti2006 va ecrire sa page au final. Il veut du potionnement alors je lui offre un code sans me preocuper de la semantique et a ce titre <div> remplacera n'importe quel balise block et span une balise inline.
Marsh Posté le 31-05-2005 à 01:40:54
voilà merci afbilou c'est corecte ton source 100% mais comme tu m'a dit c'est de style CSS, je vais essayer aussi de faire un alignement par une table je pense que ca va marcher
Marsh Posté le 31-05-2005 à 01:46:59
Toti2006 a écrit : voilà merci afbilou c'est corecte ton source 100% mais comme tu m'a dit c'est de style CSS, je vais essayer aussi de faire un alignement par une table je pense que ca va marcher |
Bah non, si tu debutes autant commencer par des bonnes methodes. Pour la mise en page et le positionnement des elements il ne faut pas utiliser table. Certes ca fonctionnera mais ce n'est pas le but de cette balise et tu t'exposes a un code lourd, penible a maintenir, absolument pas souple. Essaie de faire l'effort d'assimiler la mise en forme d'un document avec des CSS
Marsh Posté le 31-05-2005 à 01:53:46
voilà ca marche avec une table
<table>
<tr>
<td>Nom:</td><td><input type=texte name=Tnom></td><br>
</tr>
<td>prénom:</td><td><input type=text name=Tprenom></td><br>
</tr>
<td>Date de naissance:</td><td><input type=text name=Tdate></td><p>
</tr>
</table>
Marsh Posté le 31-05-2005 à 01:58:51
Fait comme tu veux mais c'est tout de meme dommage d'utiliser une table pour cela.
Par contre le code de ta table est bourré d'erreur :
<tr> PUIS </tr> determinent une ligne, donc il ne faut pas oublier l'un ou l'autre (tu as fait plein d'oublis)
<td> PUIS </td> determinent une case et mettre du code en dehors (comme <br> ) n'est pas valide.
Marsh Posté le 31-05-2005 à 01:59:03
oui tu as raison mon ami mais tu sais j'ai pas compris à quoi ça sert la balise <div>
et aussi moi je connais pas c'est koi CSS??
Marsh Posté le 31-05-2005 à 02:03:01
bon si tu veux sbilou je te donne mon msn pour discuter si tu as un peu du temps pour moi
Marsh Posté le 31-05-2005 à 02:03:49
afbilou a écrit : Dans l'etat actuel ton code ne peut pas lui assurer un affichage comme celui-ci : |
son code permet de faire un affichage comme tu veux. Je fais grosso modo la même chose
Sauf que a la place de
Code :
|
je fais
Code :
|
(sémentiquement, c'est peut être différent )
d'autre exemple :
http://www.fastclemmy.com/index.ph [...] ement-beau
Marsh Posté le 31-05-2005 à 02:20:11
Que d'activite sur ce topic
Sémantiquement ton code me parait juste : rien ne t'oblige a faire un <label> qui englobe le champs du formulaire auquel il fait reference. Cela dit j'aime bien la solution qu'utilise Masklinn.
Pour ce qui est du positionnement y a tout de meme une difference importante du fait du <label> englobant justement. En tout cas il n'y a pas de solution plus juste qu'une autre du point de vue du positionnement : il y a autant de solutions que de maniere d'aborder le probleme et le resultat depend des contraintes qu'on se fixe. La methode que j'utilise, la tienne, et celle de Masklinn ne repondent pas au memes attentes et ne sont pas du tout equivalentes.
Marsh Posté le 31-05-2005 à 02:50:42
Je n'avais pas vu ton poste sur msn.
Tu ferais mieux de poser tes questions sur le forum pour que :
1. tu es plus d'avis et de conseils
2. que d'autres personnes par la suite puisse profiter des questions et reponses données dans ce topic et dans les autres.
Et enfin je n'ai pas trop le temps ni l'envie de m'investir dans un cours particulier
Marsh Posté le 31-05-2005 à 02:58:34
:-) ah bon ok je m'excuse afbilou et merci bcp pour tous que tu m'a dit, l'essentiel maint le code source ca marche bien
Marsh Posté le 31-05-2005 à 08:14:16
zapan666 a écrit : son code permet de faire un affichage comme tu veux. Je fais grosso modo la même chose
(sémentiquement, c'est peut être différent ) |
Sémantiquement la valeur est la même, mais les effets produits ne sont pas les mêmes (donc on peut jouer sur les deux solutions ):
Avec la méthode que tu décris les tailles du label et du champ sont indépendants, et l'alignement des mots (text-align) sont indépendants, alors qu'avec la mienne la taille du label doit prendre en compte celle du champ et l'alignement des mots est le même pour le label et le champ.
Les contraintes ne sont pas exactement les mêmes au niveau stylistiques et on n'obtient pas exactement les mêmes effets dans les deux cas
Marsh Posté le 30-05-2005 à 14:30:10
salut, comment je peux faire pour alligner des zone de texte dans une page HTML merci