Подтвердить что ты не робот

Является ли html <COL align> устаревшим?

Я смотрю демонстрацию W3Schools с использованием элемента <COL> для выравнивания столбцов:

<table width="100%" border="1">
  <col align="left" />
  <col align="left" />
  <col align="right" />
  <tr>
    <th>ISBN</th>
    <th>Title</th>
    <th>Price</th>
  </tr>
  <tr>
    <td>3476896</td>
    <td>My first HTML</td>
    <td>$53</td>
  </tr>
</table>

И его рендеринг браузером не ободряет:

Chrome (10.0.648.127):
enter image description here

FireFox (3.6.8):
enter image description here

Internet Explorer 9 (режим стандартов):
enter image description here

Internet Explorer 8 (режим стандартов):
enter image description here

Internet Explorer 7 (режим стандартов):
enter image description here

Internet Explorer (режим quirks): enter image description here

Интересно отметить, что <COL align> используется для работы в браузерах, а функция была отбрана в ie8. (И Chrome, с позицией быть идеальным арбитром всех вещей, не поддерживает его.)

Это заставляет меня задаться вопросом, может ли <COL align> работать не .

Неужели <COL align> устарел?


Обновить один

Я понимаю, что он официально не устарел. Но тот факт, что браузеры использовал, чтобы поддерживать его, а затем остановил, поддерживая его, заставляет меня поверить, что есть какая-то историческая история, которую я пропускаю. я предполагаю, что намеренное удаление поддержки col align от IE и продолжающееся отсутствие поддержки от других браузеров указывает на то, что что-то происходит.

Обновить два

я ошибочно полагал, что отсутствие поддержки для всех функций <COL> означает <COL> сам не поддерживается. я ошибочно предположил, что, поскольку единственный атрибут, который я пытался, не работал: элемент не работал. Это была моя ошибка; и в ретроспективе я следует спросить, не устарели ли "COL align" (что это такое).

В моей защите я предположил, что пример показал бы, что больше не работает ".

См. также

4b9b3361

Ответ 1

Да, атрибут align <col /> больше не отображается в HTML5. Говорит спецификацию!

Кроме того, стоит отметить, что вы не можете добиться аналогичного результата с помощью CSS в теге <col />. Атрибут style (или индуцированный стиль от id, class и т.д.) Учитывает только те свойства, которые разумно относятся к самому столбцу. То есть, в то время как каждый <td /> может содержать текстовое содержимое и, следовательно, может иметь такие атрибуты, как text-align, элемент <col /> не содержит текста и, следовательно, ни один из стилей текстового уровня не применяется. (Элементы уровня блока, такие как background-color, все еще работают.)

Однако в базовых случаях, не связанных с colspan или rowspan, вы можете выбрать блоки <td /> (и, следовательно, "столбцы" в некотором смысле) с помощью псевдокласса CSS :nth-of-type. Например. для центрирования третьего столбца таблицы с классом c3 используйте

table.c3 td:nth-of-type(3) { text-align: center; }

Редактировать по OP:

От Стандарт HTML:

15 Устаревшие функции
15.2 Несоответствующие функции

Следующие атрибуты устарели (хотя элементы все еще являются частью языка) и не должны использоваться авторами:...
align on col элементы
...

    Используйте вместо этого CSS.

Викия WHATWG дает некоторые рекомендуемые альтернативы для различных устаревших атрибутов :

Attribute              CSS equivalent
=====================  =====================================
align on col elements  'text-align' on the appropriate td/th

Ответ 2

Try

<!doctype html>
<html>
  <head>
    <title>Table</title>
    <style>
      table.foo td:nth-of-type(2) {
        font-style: italic;
      }
    </style>
  </head>
  <body>
    <table class="foo">
      <thead>
        <tr> <th>first</th> <th>second</th> </tr>
      </thead>
      <tbody>
        <tr> <td>bar</td> <td>baz</td> </tr>
        <tr> <td>bim</td> <td>buh</td> </tr>
      </tbody>
    </table>
  </body>
<html>

Какой отображается как:

enter image description here

Ответ 3

[edit] Uggh, вы изменили свой вопрос, чтобы конкретно ссылаться на свойство align.

Нет, он не устарел. Поддержка браузера существует, но реализация и степень варьируются. Единственный успех в перекрестном браузере, который я действительно использовал, заключался в установке ширины для целых столбцов.

Примечания от W3:

  • Только Firefox, Chrome и Safari поддерживать атрибуты span и width элемента colgroup.
  • Только атрибут width [col элемент] работает в Firefox (ни один из другие атрибуты).

Ответ 4

Тег <col> не устарел.

Смотрите: Как использовать <col> тег правильно и поддерживается ли он во всех браузерах? Я думаю, что этот ответ разъясняет его использование и объясняет некоторые проблемы, с которыми вы сталкиваетесь.

Это часть XHTML и HTML 5. http://www.tutorialspoint.com/html5/html5_tags.htm

Ответ 6

В целях создания семантически значимой разметки вы считали замену тэгов <col> на <colgroup>?

<col> используется исключительно для стилизации, тогда как <colgroup> можно использовать для группировки связанных столбцов (возможно, именно поэтому вы намерены выровнять два из них слева?) Затем вы можете применить CSS к различным группам, чтобы их стиль,