Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Как отцентрировать таблицу


Автор: dm9 17.12.2004, 09:30
Вот возник такой вопрос.
Есть таблица, ширина которой определяется содержимым.
Надо отцентрировать её, то есть посадить в центр экрана (по горизонтали).
Причём хотелось бы соответствовать стандарту xhtml 1.0, ибо стандарты рулят, и неприятно, когда на странице одно-единственное несоответствие. Отсюда мораль - align=center не катит, так как "there is no attribute "align""...

Зачем это нужно? Просто мне надо вывести на экран табличку, состоящую из двух частей - левая и правая часть. Причём текст в левой части выровнен по правому краю, а в правой - по левому. А чтобы было красиво, хочу всю эту табличку разместить по центру...

Вот, собственно, мои попытки:
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<style>
body {
   text-align: center;
}

.smalltable {
   background-color: yellow;
}

.auxdiv {
   text-align: center;
   width: 100%;
}

.auxtable {
   width: 100%;
}


</style>
</head>
<body>

<table class="auxtable">
   <tr>
       <td>
           <table class="smalltable">
               <tr>
                   <td>
                       Работает только под IE 6, Opera 7.54,
                       не работает под Opera 6.0, 7.0, Mozilla Firefox 1.0
                   </td>
               </tr>
           </table>
       </td>
   </tr>
</table>

<table class="smalltable">
   <tr>
       <td>
           Работает IE only
       </td>
   </tr>
</table>

<div class="auxdiv">
   <table class="smalltable">
       <tr>
           <td>
               Работает IE only
           </td>
       </tr>
   </table>
</div>

<div align="center">
   <table class="smalltable">
       <tr>
           <td>
               Так работает, но не катит, хочу css
           </td>
       </tr>
   </table>
</div>

</body>
</html>

Автор: Sardar 17.12.2004, 10:32
Нашёл проблему.... smile
Если у меня с третьей попытки не получается решить проблему, то я нарушаю стандарты и пишу по старинке smile

Автор: dm9 17.12.2004, 10:35
Блин, две страницы по стандарту сверстал, третюю не могу smile) В принципе, стандарты - это фигня по большому счёту, но всё равно

Цитата(dm9 @ 17.12.2004, 09:30)
неприятно, когда на странице одно-единственное несоответствие


Автор: Alx 17.12.2004, 10:37
я эти стандарты никогда не уважал, но я бы закинул в теги <center></center>...

Автор: dm9 17.12.2004, 10:43
Цитата(http)
element "center" undefined

Автор: Cheba 19.12.2004, 16:33
Вот так можно. Правда не везде проверял. Но хоть где-то работает. smile
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<style>
.centertable {
margin-left: auto;
margin-right: auto;

border: 1px dotted gray;
}
</style>
</head>
<body>
<table class="centertable">
 <tr>
   <td> Вот тебе css... </td>
 </tr>
 <tr>
   <td> Проверено в IE 6 и Firefox 1.0 PR. <br />
     Точно работает </td>
 </tr>
</table>
</body>
</html>

Добавлено @ 16:40
Товарищь Сардар говорит, что в Опере тоже работает. smile

Автор: sergejzr 19.12.2004, 16:41
Cheba Опера, ИЕ, Мозилла берут твой код у меня без проблем smile

Автор: Sardar 19.12.2004, 16:45
Цитата(Cheba @ 19.12.2004, 15:33)
Но хоть где-то работает

Точно работает в Opera 7.54, точно не работает в IE5.0

Автор: dm9 20.12.2004, 01:06
Cheba, громадное спасибо!
Тестировал на IE6, Firefox 1, Opera 6.0, 7.0, 7.54 - работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)