A célula não contém nada além de uma caixa de seleção. É bastante largo devido ao texto na linha do cabeçalho da tabela. Como faço para centralizar a caixa de seleção (com CSS embutido em meu HTML? (Eu sei))
eu tentei
<td>
<input type="checkbox" name="myTextEditBox" value="checked"
style="margin-left:auto; margin-right:auto;">
</td>
mas isso não funcionou. O que estou fazendo de errado?
Atualização: aqui está uma página de teste. Alguém pode corrigi-lo - com CSS embutido no HTML - de modo que as caixas de seleção fiquem centralizadas em suas colunas?
<!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>
Aceitei a resposta de @Hristo - e aqui está com formatação embutida ...
<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>
Respostas:
ATUALIZAR
Que tal isso ... http://jsfiddle.net/gSaPb/
Confira meu exemplo no jsFiddle: http://jsfiddle.net/QzPGu/
HTML
CSS
Eu espero que isso ajude.
fonte
Experimentar
fonte
Tente isso, isso deve funcionar,
fonte
Isso deve funcionar, estou usando:
fonte
Para escrever elementos td dinâmicos e não depender diretamente do estilo td
fonte
Puxe TODO o seu CSS in-line e mova-o para o cabeçalho. Em seguida, use classes nas células para que possa ajustar tudo como quiser (não use um nome como "centro" - você pode alterá-lo para esquerda daqui a 6 meses ...). A resposta de alinhamento ainda é a mesma - aplique-a
<td>
NÃO à caixa de seleção (isso apenas centralizaria sua seleção :-))Usando seu código ...
fonte
td
é um tipo de elemento "especial". Ele tem seus próprios comportamentos únicos - como um casamento em bloco e em linha (do inferno).Se você não oferece suporte a navegadores legados, eu usaria
flexbox
porque é bem suportado e simplesmente resolverá a maioria dos seus problemas de layout.Isso centraliza todo o conteúdo na primeira
<td>
de cada linha.fonte
Defina a propriedade float do elemento check como nenhum:
E centralize o elemento pai:
Foi o único que funciona para mim.
fonte
fonte
Certifique-se de que você
<td>
não édisplay: block;
Flutuar fará isso, mas muito mais fácil de apenas:
display: inline;
fonte