[HTML/CSS] style forumlaire

Résolu/Fermé
Roukeuss Messages postés 8 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 17 mai 2009 - 5 mai 2009 à 00:10
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 5 mai 2009 à 10:37
Bonjour,

J'ai une question a la con qui m'énerve un peu ...

Bon le topo :

J'ai un formulaire :

<form {style="padding:0;margin:0"} action="?page=Traitement" method="post"><div><input type="hidden" name="id" value="1" /><input type="submit" name="Traiter" value="Traiter"></input></div></form>

Le problème :

ca c'est mon CSS :

#body form
{
margin: 0;
padding: 0;
}

Donc a priori, j'ai pas besoin de mettre se qui est entre accolade dans le form pour qu'il ai le style, seulement voila, ce n'est pas le cas. Si je ne le met pas il ne le prend pas en compte.

La question est donc pourquoi ?

Merci a tous ceux qui m'aiderons :D


PS: Ces options sont la pour ne pas que ie me mette des <br /> pour chaque input hidden
A voir également:

4 réponses

bonsoir,

est ce que ta balise form est contenu dans la balise avec l'id body?

si ce n'est pas le cas ça ne peut pas fonctionner.

ensuite il faut que tu donne une valeur au margin et padding : soit en px [ margin: 0px;] soit en % [padding: 0%;]
peut être possible aussi en em [margin: 0em;] mais je ne suis pas sur pour cette dernière possibilité.
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
5 mai 2009 à 01:26
Erreur benj. Son code CSS ne défini pas une balise form avec un id body mais l'inverse en fait.
Tel qu'il est indiqué là, ton CSS est défini pour un élément indéfini portant l'id body et qui contient une balise form.
#body form
{
margin: 0;
padding: 0;
} 

# pour id sur la balise form.
Si tu veux l'appliquer à toute balise form confondu, autant mettre simplement:
form { margin: 0; padding: 0; }

Sinon met un id sur ta balise:
<form id="formulaire" method="....

Et le CSS:
form#formulaire { ... };

Par exemple.
Vérifie aussi la présence de la balise:
<link href="style.css" rel="stylesheet" type="text/css">

entre les balises <head></head>
0
Roukeuss Messages postés 8 Date d'inscription vendredi 17 avril 2009 Statut Membre Dernière intervention 17 mai 2009
5 mai 2009 à 09:19
Ouai le css est importer, tout fonctionne sauf sa.
Sinon le conteneur avec l'id body c'est le body donc ouai mon form est dedans :)
la flemme de mettre un id au formulaire, surtout qu'il y en auras une centaine surement :/ et que l'id est normalement unique.

en gros mon code y a :
<head><link href="style.css" rel="stylesheet" type="text/css"></head>
<body id="body>
<form action="?page=resume" method="post">
<div>
<input type"hidden" name="id" value ="1" />
<input type="submit" />
</div>
</form>
</body>


Ps: "margin: 0" est une abréviation reconnu qui normalement est pas défaut même (sauf sous ie ...)

Bon ben en faite, ie c'est de la merde .... il conserve le cache même quand je le relance... mais après un reboot pc ou un changement de poste sa passe :)

Donc merci a vous pour votre aide :)
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
5 mai 2009 à 10:37
Ouai enfin t'a mis un id sut on body...
Si vraiment tu veux définir ton CSS par rapport à ton body met dans ce cas:
body#body form{ ... }

Quoi que ça sert à mon avis pas à grand chose d'en mettre autant.
A mon avis si tu met directement:
form{ ... }

ça devrai aller.
Par contre si ton <form> est contenu dans d'autre balise (div ou p) tu peux pas le placer directement par rapport au body.
0