La cellule ne contient rien d'autre qu'une case à cocher. Il est assez large à cause du texte dans la ligne d'en-tête du tableau. Comment centrer la case à cocher (avec CSS en ligne dans mon HTML? (Je sais))
j'ai essayé
<td>
<input type="checkbox" name="myTextEditBox" value="checked"
style="margin-left:auto; margin-right:auto;">
</td>
mais cela n'a pas fonctionné. Qu'est-ce que je fais mal?
Mise à jour: voici une page de test. Quelqu'un peut-il le corriger - avec CSS en ligne dans le HTML - afin que les cases à cocher soient centrées dans leurs colonnes?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Alignment test</title>
</head>
<body>
<table style="empty-cells:hide; margin-left:auto; margin-right:auto;" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>Search?</th><th>Field</th><th colspan="2">Search criteria</th><th>Include in report?<br></th>
</tr>
<tr>
<td>
<input type="checkbox" name="query_myTextEditBox" style="text-align:center; vertical-align: middle;">
</td>
<td>
myTextEditBox
</td>
<td>
<select size ="1" name="myTextEditBox_compare_operator">
<option value="=">equals</option>
<option value="<>">does not equal</option>
</select>
</td>
<td>
<input type="text" name="myTextEditBox_compare_value">
</td>
<td>
<input type="checkbox" name="report_myTextEditBox" value="checked" style="text-align:center; vertical-align: middle;">
</td>
</tr>
</table>
</body>
</html>
J'ai accepté la réponse de @ Hristo - et la voici avec le formatage en ligne ...
<table style="empty-cells:hide;" border="1" cellpadding="1" cellspacing="1">
<tr>
<th>Search?</th><th>Field</th><th colspan="2">Search criteria</th><th>Include in report?<br></th>
</tr>
<tr>
<td style="text-align: center; vertical-align: middle;">
<input type="checkbox" name="query_myTextEditBox">
</td>
<td>
myTextEditBox
</td>
<td>
<select size ="1" name="myTextEditBox_compare_operator">
<option value="=">equals</option>
<option value="<>">does not equal</option>
</select>
</td>
<td>
<input type="text" name="myTextEditBox_compare_value">
</td>
<td style="text-align: center; vertical-align: middle;">
<input type="checkbox" name="report_myTextEditBox" value="checked">
</td>
</tr>
</table>
Réponses:
METTRE À JOUR
Que diriez-vous de cela ... http://jsfiddle.net/gSaPb/
Consultez mon exemple sur jsFiddle: http://jsfiddle.net/QzPGu/
HTML
CSS
J'espère que ça aide.
la source
Essayer
la source
Essayez ceci, cela devrait fonctionner,
la source
Cela devrait fonctionner, je l'utilise:
la source
Pour l'écriture dynamique des éléments td et ne pas s'appuyer directement sur le style td
la source
Tirez TOUS vos CSS en ligne et déplacez-les vers la tête. Ensuite, utilisez des classes sur les cellules pour que vous puissiez tout ajuster comme vous le souhaitez (n'utilisez pas un nom comme "centre" - vous pouvez le changer pour gauche dans 6 mois ...). La réponse d'alignement est toujours la même - appliquez-la à
<td>
la case PAS à la case à cocher (cela ne ferait que centrer votre chèque :-))Utilisation de votre code ...
la source
td
est un type d'élément "spécial". Il a ses propres comportements uniques - comme un mariage en bloc et en ligne (de l'enfer).Si vous ne supportez pas les navigateurs hérités, j'utiliserais
flexbox
parce qu'il est bien pris en charge et résoudra simplement la plupart de vos problèmes de mise en page.Cela centre tout le contenu dans la première
<td>
de chaque ligne.la source
Définissez la propriété float de l'élément check sur none:
Et centrez l'élément parent:
C'était le seul qui fonctionne pour moi.
la source
la source
Assurez-vous que votre
<td>
n'est pasdisplay: block;
Le flottant fera cela, mais il est beaucoup plus facile de simplement:
display: inline;
la source