vertical-align = "middle" для td не работает, если мы используем <! doctype ...> - PullRequest
0 голосов
/ 13 апреля 2010

Я пытаюсь выровнять элемент по центру, но я столкнулся с этой проблемой. Я использую этот тег:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <body>
      <table style="width:100%; height: 100%" cellspacing="0" cellpadding="0">
                <tr>
                    <td vertical-align="middle">
                        <div id="progressContainer" style="text-align:center;">
                            Some string here                                                    
                        </div>
                    </td>
                </tr>       
            </table>  
  </body>
</html>

Если я уберу это: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">, его середина выровнена правильно.

Это поведение воспроизводимо в FF и Chrome.

Вопрос:

Я что-то здесь не так делаю?

Ответы [ 2 ]

6 голосов
/ 13 апреля 2010

Атрибут valign="middle" или style="vertical-align: middle". Нет атрибута vertical-align.

См. 11.3.2 Горизонтальное и вертикальное выравнивание

1 голос
/ 13 апреля 2010

В режиме Quirks браузеры делают преднамеренные ошибки.

Поскольку высота элемента body равна auto (по умолчанию), height: 100% для элемента table становится auto.

(Процентное значение высоты преобразуется в auto, если родительский элемент имеет height: auto)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...