Является ли 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" (что это такое).
В моей защите я предположил, что пример показал бы, что больше не работает ".
См. также
Ответы
Ответ 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
Ответ 5
Нет, это не так, это как часть спецификации html4, так и спецификация html5.
http://www.w3.org/TR/html401/struct/tables.html#h-11.2.4.2
http://dev.w3.org/html5/markup/col.html
http://www.html-5.com/tags/col-tag/
Ответ 6
В целях создания семантически значимой разметки вы считали замену тэгов <col>
на <colgroup>
?
<col>
используется исключительно для стилизации, тогда как <colgroup>
можно использовать для группировки связанных столбцов (возможно, именно поэтому вы намерены выровнять два из них слева?) Затем вы можете применить CSS к различным группам, чтобы их стиль,
Ответ 7
В соответствии со второй примерной таблицей в спецификации HTML, ее colgroup, несмотря на отсутствие тегов colgroup.
http://www.w3.org/TR/html4/struct/tables.html#h-11.4.1