Opera игнорирует тэг <COL>?
|
t_ea 03/11/04 02:13 AM |
|
Имеется такой HTML-файл: Code:
<HTML> <HEAD> <STYLE type="text/css"> TABLE {empty-cells: show; border: solid black; border-collapse: collapse} TD {border: solid black} .mn {font-family: 'Courier New'} .sns {font-family: 'Arial'} .srf {font-family: 'Times New'} </STYLE> </HEAD> <BODY> <TABLE><COL CLASS='mn'><COL CLASS='sns'><COL CLASS='sfr'> <TBODY> <TR> <TD>Шрифт «Courier New» <TD>Шрифт «Arial» <TD>Шрифт «Times New» </TABLE> </BODY> </HTML>
Почему Опера игнорирует атрибут <COL>? (IE кстати показывает правильно… (см. прикреплённый файл)) Раньше Opera (4-ая или 5-ая версия) показывала мне такую таблицу правильно, а сейчас 7-ая отказывается… Это ошибка в коде HTML или проделки самой Оперы? Как лечится?
|
Re: Opera игнорирует тэг <COL>?
|
van_grieg 03/11/04 03:19 AM |
|
t_ea
Как раз Опера - единственный браузер, который показывает все правильно. Элемент <td> никаким образом не является дочерним по отношению к <col>, и соответственно не должен наследовать его стили. _//forum.ixbt.com/0024/027712-4.html#94_.
|
Re: Opera игнорирует тэг <COL>?
|
t_ea 03/13/04 09:41 PM |
|
Так что, <COL> кроме ширины, фона и границ больше ни для чего не нужен? Немного не в тему, но как же тогда указать выравнивание текста или вид шрифта для колонки в таблице? Сейчас мне приходится это делать для каждой ячейки. Что, получается что CSS специально ограничивает возможности оформления таблиц, ведь фон в качестве выделения используется гораздо реже, чем то же выравнивание?!
|
Re: Opera игнорирует тэг <COL>?
|
van_grieg 03/13/04 10:20 PM |
|
t_ea
CSS вообще говоря не дает такой возможности не потому, что это не нужно никому. А потому, что это невозможно реализовать практически без нарушения фундаметнального принципа наследования и каскадирования стилей и вообще модели документа как дерева с иерархией элементов. В ИЕ это работает по чистой случайности и потому, что он не поддерживает inherit и getComputedStyle. Как МС будет решать эту проблему в следующей версии, непонятно. От чего-то надо отказываться, или применять головоломной сложности алгоритмы, которые еще непонятно к каким багам приведут. Если я задаю text-align: left для <col> и text-align: right для <tr>, какое из этих правил должно применяться для <td>? Или надо делать исключение для <tr> и не наследовать свойства у родительского элемента? Почему? И если мы "выдергиваем" <td> из дерева документа, куда мы его должны засунуть? Как дочерний элемент <col>? А что тогда делать с DOM-методами и вообще с парсингом документов? А если это XML?
как же тогда указать выравнивание текста или вид шрифта для колонки в таблице?
С помощью классов для ячеек в колонках таблицы, например. Или с помощью DOM и Javascript. По-другому никак. Мозилла вообще не признает никаких стилей для <col>. А лучше вообще не применять таблицы для разметки.
|
Re: Opera игнорирует тэг <COL>?
|
t_ea 03/14/04 01:37 AM |
|
Жаль…, потому-что я использую таблицы не для разметки, а для вывода данных, а там, для наглядости, необходимо управлять представлением содержимого колонок.
|
Re: Opera игнорирует тэг <COL>?
|
van_grieg 03/14/04 07:50 AM |
|
t_ea
Тогда классы. И Javascript, к примеру.
|
Re: Opera игнорирует тэг <COL>?
|
Mongoose 03/15/04 08:00 AM |
|
t_ea
В ответ на: Немного не в тему, но как же тогда указать выравнивание текста или вид шрифта для колонки в таблице?
Тег COLGROUP например. Пример см. _//mongoose.myopera.net/transl.php_
|
Re: Opera игнорирует тэг <COL>?
|
t_ea 03/19/04 06:16 PM |
|
Если align="center" поменять на style="text-align: center", то опять не центруется align, кажется, является нежелательным в использовании, поэтому я стараюсь им не пользоваться.
|
Re: Opera игнорирует тэг <COL>?
|
van_grieg 03/20/04 05:26 AM |
|
align - вполне допустимый атрибут для _//www.w3.org/TR/html401/struct/tables.html#edef-COLGROUP_. Как, впрочем, и для _//www.w3.org/TR/html401/struct/tables.html#edef-COL_
Нежелательным он является в том смысле, что ничего, что не относится к контенту, не должно быть в ХТМЛ-коде. Но из всех презентационных элементов именно для таблиц сделано больше всего исключений, потому что иногда их использование оправдано, а их структура в древовидную модель документа не вписывается.
|