La celda no contiene nada más que una casilla de verificación. Es bastante ancho debido al texto en la fila del encabezado de la tabla. ¿Cómo centro la casilla de verificación (con CSS en línea en mi HTML? (Lo sé))
Lo intenté
<td>
<input type="checkbox" name="myTextEditBox" value="checked"
style="margin-left:auto; margin-right:auto;">
</td>
pero eso no funcionó. ¿Qué estoy haciendo mal?
Actualización: aquí hay una página de prueba. ¿Alguien puede corregirlo, con CSS en línea en el HTML, para que las casillas de verificación estén centradas en sus columnas?
<!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>
He aceptado la respuesta de @ Hristo, y aquí está con formato en línea ...
<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>
Respuestas:
ACTUALIZAR
¿Qué tal esto ... http://jsfiddle.net/gSaPb/
Mira mi ejemplo en jsFiddle: http://jsfiddle.net/QzPGu/
HTML
CSS
Espero que esto ayude.
fuente
Tratar
fuente
Prueba esto, debería funcionar
fuente
Esto debería funcionar, lo estoy usando:
fuente
Para escritura dinámica de elementos td y no depender directamente del estilo td
fuente
Saque TODO su CSS en línea y muévalo a la cabeza. Luego use clases en las celdas para que pueda ajustar todo como desee (no use un nombre como "centro"; puede cambiarlo a la izquierda dentro de 6 meses ...). La respuesta de alineación sigue siendo la misma: aplíquela a
<td>
NO la casilla de verificación (eso solo centraría su verificación :-))Usando tu código ...
fuente
td
es un tipo de elemento "especial". Tiene sus propios comportamientos únicos, como un bloqueo y un matrimonio en línea (del infierno).Si no es compatible con los navegadores heredados, lo usaría
flexbox
porque está bien admitido y simplemente resolverá la mayoría de sus problemas de diseño.Esto centra todo el contenido en la primera
<td>
de cada fila.fuente
Defina la propiedad flotante del elemento check en none:
Y centre el elemento padre:
Fue el único que me funcionó.
fuente
fuente
Asegúrate de que tu
<td>
no seadisplay: block;
Flotar hará esto, pero es mucho más fácil simplemente:
display: inline;
fuente