Атрибут SPAN на Colgroup и Col
Вопрос
Эти коды логически эквивалентны?
<colgroup span="7">
</colgroup>
А также
<col span="7" />
А также
<colgroup>
<col />
<col />
<col />
<col />
<col />
<col />
<col />
</colgroup>
Будут ли какие -либо атрибуты с помощью HTML или свойств через CSS иметь одинаковый эффект? Может ли что -нибудь также добавить тег "colgroup". Для меня не хватает репутации.
Решение
Контексты, в которых можно использовать этот элемент:
Будучи ребенком элемента Colgroup, у которого нет атрибута SPAN.
[...]
Атрибуты контента: Глобальные атрибуты
охватывать
Я читаю это как говоря, просто <col span="7" />
само по себе недействительна, но это:
<colgroup>
<col span="7" />
</colgroup>
действителен и так же, как:
<colgroup span="7">
</colgroup>
Однако, если <colgroup>
имеет span
атрибут, тогда это не должно быть <col>
дети:
Если элемент Colgroup не содержит элементов COL, то элемент может иметь указанный атрибут содержимого SPAN ...
Моя интерпретация (на основе HTML4 спецификация Больше, чем более тонкий HTML5 One) - это то, что вы обычно используете <colgroup span="n">
Если вам не нужно было создать один из столбцов в группе по -разному, как в этом (модифицированном) примере из спецификации HTML4:
<colgroup style="width: 20px; font-weight: bold;">
<col span="39">
<col id="format-me-specially" style="width: 35px;">
</colgroup>
так что первые 39 столбцов будут использовать все <colgroup>
Указывает, но 40 -й можно изменить. OTOH, у меня проблемы с тем, что браузеры обращают много внимания на любое из этого (несмотря на то, что говорят спецификации) на jsfiddle.net So YMMV.
Другие советы
Вот моя интерпретация спецификаций. Обновление: после рассмотрения спецификаций HTML4 я передумал по поводу colgroup
элемент span
атрибут.
(Это также в ответ на мой собственный комментарий 2 -го вопроса в ответе @MU.)
А colgroup
представляет группа из одного или нескольких столбцов, и это span
Указывает количество столбцов в группе столбцов. Анкет Поэтому я думаю об этом как о ярлыке, спасая автора от написания нескольких col
элементы подряд.
<colgroup class="x" span="3"></colgroup>
Группа столбцов охватывает три столбца и стилизована в соответствии с правилом CSS .x {...}
. Анкет Это эквивалентно
<colgroup class="x">
<col/>
<col/>
<col/>
</colgroup>
С другой стороны, col
представляет собой один или несколько столбцов в группе столбцов, и это span
указывает количество столбцов, «охватываемых» COL
элемент... Что является циклическим определением, если вы спросите меня.
Единственный способ, которым я могу интерпретировать это, это то, что писать
<colgroup class="x"><col class="y" span="3"/></colgroup>
Вы говорите, что есть три столбца, каждый из .y {...}
. Анкет Это ярлык для написания
<colgroup class="x">
<col class="y"/>
<col class="y"/>
<col class="y"/>
</colgroup>
Представление, я не уверен, что будет заметная разница. Как все это выглядит, зависит от вашего CSS, конечно. Но семантически они очень разные. Первый пример представляет три группы столбцов с каждой группой, содержащей один столбец, тогда как второй пример представляет одну группу из трех столбцов.
После переосмысления этого я решил, что они оба одинаковы. Иметь colgroup
охватывать n
Количество столбцов такое же, как и в одном colgroup
с col
ребенок, который охватывает n
колонны В моем мнении нет логической или семантической разницы.