CSS sposób na poziome wyrównanie tabeli
Chcę pokazać tabelę o stałej szerokości na środku okna przeglądarki. Teraz używam
<table width="200" align="center">
Ale Visual Studio 2008 daje ostrzeżenie w tej linii:
atrybut 'align' jest uważany za Nieaktualny. Zalecana jest nowsza konstrukcja.
Jaki styl CSS powinienem zastosować do tabeli, aby uzyskać ten sam układ?
8 answers
Steven ma rację, w teoria :
"poprawny" sposób wyśrodkowania tabeli za pomocą CSS. Zgodne przeglądarki powinny wyśrodkować tabele, jeśli lewy i prawy margines są równe. Najprostszym sposobem na to jest ustawienie lewego i prawego marginesu na " auto."Można więc napisać w arkuszu stylów:
table
{
margin-left: auto;
margin-right: auto;
}
Ale artykuł wspomniany na początku tej odpowiedzi daje zupełnie inny sposób na wyśrodkowanie tabeli.
Elegancka przeglądarka css rozwiązanie: Działa to zarówno w MSIE 6( dziwactwa i standardy), Mozilla, Opera, a nawet Netscape 4.x bez ustawiania jakichkolwiek jawnych szerokości:
div.centered
{
text-align: center;
}
div.centered table
{
margin: 0 auto;
text-align: left;
}
<div class="centered">
<table>
…
</table>
</div>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-20 14:23:17
Spróbuj tego:
<table width="200" style="margin-left:auto;margin-right:auto">
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-19 06:27:44
Proste. IE6 i wyżej z radością wyśrodkuje Twoją tabelę z "margin: 0 auto;", jeśli tylko strona zostanie wyświetlona w trybie "standardy". Aby tak się stało, potrzebujesz poprawnej deklaracji doctype, takiej jak
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Lub
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Prawda, IE5. 5 i poniżej nadal odmawiają wyśrodkowania tabeli, ale być może możesz z tym żyć, zwłaszcza jeśli strona jest nadal funkcjonalna z tabelą wyrównaną do lewej. Myślę, że do tej pory użytkownicy IE5. 5 i poniżej są dość przyzwyczajeni do niektórych dziwnie wyglądających stron internetowych - ale ty nadal musisz upewnić się, że te usterki wizualne nie czynią Twojej witryny bezużyteczną.
Szczęśliwego kodowania!EDIT: Przepraszam, powinienem chyba zwrócić uwagę, że nie musisz mieć "ścisłego" doctype, aby uzyskać IE6 i przejść do" standards " tryb renderowania. Zdałem sobie sprawę, że może się tak wydawać z przykładów doctype, które zamieściłem powyżej. Na przykład, deklaracja doctype będzie oczywiście działać równie:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-20 14:21:00
Chociaż w dzisiejszym świecie może to być herezja - w przeszłości wykonywałbyś następujący kod bez css. Działa to we wszystkim, aż do dzisiejszych przeglądarek włącznie, ale - jak już powiedziałem - jest to herezja w dzisiejszym świecie: {]}
<center>
<table>
...
</table>
</center>
To, czego potrzebujesz, to jakiś sposób, aby powiedzieć, że chcesz wyśrodkować tabelę, a osoba korzysta ze starszej przeglądarki. Następnie wstaw polecenia " " wokół tabeli. W przeciwnym razie-użyj css.
Zaskakująco - jeśli chcesz wyśrodkować wszystko w ciele area - wystarczy użyć standard
text-align: center;
Polecenie Css i w IE8 (przynajmniej) wyśrodkuje wszystko na stronie łącznie z tabelami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-22 20:39:57
style="text-align:center;"
(Chyba)
Albo możesz to zignorować, to nadal działa
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-19 06:22:08
To powinno zadziałać:
<div style="text-align:center;">
<table style="margin: 0 auto;">
<!-- table markup here. -->
</table>
</div>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-19 06:30:21
Dopiero się tego uczę i w końcu udało mi się stworzyć tabelę z trzema rzędami. Ustaw margines dla lewego i prawego wiersza na 50%. Następnie umieść pojedynczy wiersz tabeli o stałej szerokości wewnątrz "danych tabeli" centrum "wiersz tabeli".
<style>
.abc {
text-align: center;
}
</style>
<table class="abc">
<tr>
<td>Item1</td>
<td>Item2</td>
</tr>
</table>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-19 09:50:24