Bonjour,
J'essaie de coder un formulaire avec les contraintes suivantes :
- largeur qui s'adapte au contenu
- bouton de soumission centré sur le formulaire
Je suis donc parti sur du display table-*.
Mon souci, c'est pour le bouton de soumission. Comme son conteneur définit une cellule à lui tout seul, impossible de le centrer sur toute la largeur du form.
J'ai trouvé une solution avec display: table-caption et un span en display block centré, mais ça le fait "sortir" du formulaire (si je mets une bordure, forcément le bouton sera à l'extérieur).
Voyez-vous une autre manière de procéder ?
Mon code actuel :
Merci
J'essaie de coder un formulaire avec les contraintes suivantes :
- largeur qui s'adapte au contenu
- bouton de soumission centré sur le formulaire
Je suis donc parti sur du display table-*.
Mon souci, c'est pour le bouton de soumission. Comme son conteneur définit une cellule à lui tout seul, impossible de le centrer sur toute la largeur du form.
J'ai trouvé une solution avec display: table-caption et un span en display block centré, mais ça le fait "sortir" du formulaire (si je mets une bordure, forcément le bouton sera à l'extérieur).
Voyez-vous une autre manière de procéder ?
Mon code actuel :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
<title>Formulaire</title>
<style type="text/css">
#f {
display: table;
border-spacing: 4px 8px;
border: 1px dashed #666;
background: #edf;
}
#f p {
display: table-row;
}
#f label, #f span {
display: table-cell;
vertical-align: top;
}
#f input[type=text], #f select, #f textarea {
width: 220px;
}
#f .soumission {
display: table-caption;
caption-side: bottom;
}
#f .soumission span {
display: block;
text-align: center;
}
</style>
</head>
<body>
<div id="page">
<form id="f" action="#">
<p>
<label for="f-ch1">Champ 1</label>
<span><input type="text" id="f-ch1" name="ch1" value="" /></span>
</p>
<p>
<label for="f-ch2">Champ 2 bla bla</label>
<span><input type="text" id="f-ch2" name="ch2" value="" /></span>
</p>
<!-- les autres champs avec la même structure p > label + span > input -->
<p class="soumission">
<span><input type="submit" value="Envoyer" /></span>
</p>
</form>
</div>
</body>
</html>
Merci