Komórka zawiera tylko pole wyboru. Jest dość szeroki ze względu na tekst w nagłówku tabeli. Jak wyśrodkować pole wyboru (z wbudowanym CSS w moim kodzie HTML? (Wiem))
próbowałem
<td>
<input type="checkbox" name="myTextEditBox" value="checked"
style="margin-left:auto; margin-right:auto;">
</td>
ale to nie zadziałało. Co ja robię źle?
Aktualizacja: oto strona testowa. Czy ktoś może to poprawić - za pomocą CSS w kodzie HTML - tak, aby pola wyboru były wyśrodkowane w swoich kolumnach?
<!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>
Zaakceptowałem odpowiedź @ Hristo - i tutaj jest z formatowaniem wbudowanym ...
<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>
Odpowiedzi:
AKTUALIZACJA
Co powiesz na to ... http://jsfiddle.net/gSaPb/
Sprawdź mój przykład na jsFiddle: http://jsfiddle.net/QzPGu/
HTML
CSS
Mam nadzieję, że to pomoże.
źródło
Próbować
źródło
Spróbuj tego, to powinno działać,
źródło
To powinno działać, używam go:
źródło
Do dynamicznego pisania elementów td i nie polegaj bezpośrednio na stylu td
źródło
Wyciągnij WSZYSTKIE wbudowane CSS i przenieś je do głowy. Następnie użyj klas na komórkach, abyś mógł wszystko dostosować tak, jak chcesz (nie używaj nazwy typu „centrum” - możesz ją zmienić na lewą za 6 miesięcy ...). Odpowiedź dotycząca wyrównania jest nadal taka sama - zastosuj ją do pliku
<td>
pola wyboru NIE (to po prostu wyśrodkuje twój czek :-))Używając Twojego kodu ...
źródło
td
to „specjalny” rodzaj elementu. Ma swoje unikalne zachowania - jak blokowe i in-line małżeństwo (z piekła rodem).Jeśli nie obsługujesz starszych przeglądarek, użyłbym,
flexbox
ponieważ jest dobrze obsługiwany i po prostu rozwiąże większość problemów z układem.Spowoduje to wyśrodkowanie całej treści w pierwszym
<td>
z każdego wiersza.źródło
Zdefiniuj właściwość float elementu check na none:
I wyśrodkuj element nadrzędny:
Tylko to działa dla mnie.
źródło
źródło
Upewnij się, że Twój
<td>
nie jestdisplay: block;
Floating zrobi to, ale znacznie łatwiej po prostu:
display: inline;
źródło