28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Je suis en train de créer un nouveau design et j'ai un petit problème avec mes formulaires : il y a un cadre gris autour de mes fieldset.

J'ai réussi à éliminer ces cadres en mettant le code suivant en haut de ma feuille de style :

* { margin: 0; padding: 0; border: 0; }


Le site est visible ici :
-(lien supprimé car projet temporaire)

Et la feuille de style est ici :
-(lien supprimé car projet temporaire)

Mais je me demandais s'il n'y avait pas mieux à faire (ce code est-il opérationnel sur n'importe quelle configuration ?), notamment remplacer ce code par un code au niveau des fieldset :- ?

ps : en attendant j'ai enlevé mon code * { margin: 0; padding: 0; border: 0; } pour que vous puissiez voir ce que ça donne...
Modifié par Yazerty (02 May 2007 - 15:43)
Bonjour,
l'élément fieldset n'a ici aucun intêret puisqu'il doit servir à regrouper
visuellement un ensemble de champ de même nature. Celui-ci devrait être
suivi de l'élément legend qui met en évidence le titre de la rubrique sur le
bord supérieur du filet défini par l'élément fieldset.
Pour être valide, la balise <form> doit directement être suivi d'un élément de
type block, en général un <p> convient.

Pour répondre à ta question, mettre les padding et margin à 0 est une
question de choix personnel. Si tu choisis de le déclarer, tu dois savoir ce
que cela implique. Voir la FAQ à ce propos.
le border: 0 peut être plus problématique. En effet les bordures des fieldsets
sont souvent profitables et les champs de texte <input> sans bordures sont invisible!
Dans le même ordre d'idée, il est préférable de déclarer

a img {border:0}

pour eviter d'avoir des bordures sur les images lien.
Modifié par Hermann (18 Apr 2007 - 13:08)
En fait c'est le code généré par défaut par l'outil de blog DotClear 2 Smiley ohwell . Pour les champs de postage de commentaire j'ai simplement supprimer les fieldset qui ne servent à rien (le code est toujours valide d'après le validateur du W3C - il y avait des <p> pour chaque élément du formulaire)

Par contre pour la boite de recherche impossible de supprimer le fieldset sans toucher au code (ce que je n'ai absolument pas envie de faire - problème des mises à jours...) Smiley sweatdrop .

Je ne comprends pas bien ce qu'il faudrait que je fasse. J'ai l'impression qu'il n'y a pas de solution efficace pour rendre invisible ce cadre, si ?
Modifié par Yazerty (18 Apr 2007 - 13:27)
Yazerty a écrit :
En fait c'est le code généré par défaut par l'outil de blog DotClear 2 Smiley ohwell .

Alors n'oublies pas de le préciser avant Smiley cligne
Il vaut mieux que dotclear le mette en place plutôt que de ne pas les
générer lorsqu'il y a des formulaires plus complexes. De toute façon,
le fieldset masqué revient en gros à ne rien mettre.

Je n'avais pas bien saisi ce que tu voulais.
Tu dois tout simplement déclarer dans ta css

fieldset {border:0}

ou localement avec un style en-ligne :
<flieldset style="border:0">

Modifié par Hermann (18 Apr 2007 - 13:32)
Le mec qui a un élément z doté d'une bordure, et qui pour enlever cette bordure n'essaye pas un petit z {border: none;}, il y a un truc qu'il n'a pas compris sur les CSS... Smiley biggol