Html colgroup和col上的Span属性

Html colgroup和col上的Span属性,html,col,colgroup,Html,Col,Colgroup,这些代码在逻辑上是等价的吗 <colgroup span="7"> </colgroup> 及 及 任何通过HTML的属性或通过CSS的属性都会有同样的效果吗?sombody还可以添加“colgroup”标记。没有足够的代表让我这样做。来自: 可以使用此元素的上下文: 作为没有span属性的colgroup元素的子元素。 […] 内容属性: 全局属性 跨度 我读到这句话的意思是,仅仅本身是无效的,但是: <colgroup> <co

这些代码在逻辑上是等价的吗

<colgroup span="7">
</colgroup>



任何通过HTML的属性或通过CSS的属性都会有同样的效果吗?sombody还可以添加“colgroup”标记。没有足够的代表让我这样做。

来自:

可以使用此元素的上下文:
作为没有span属性的colgroup元素的子元素。
[…]
内容属性: 全局属性
跨度

我读到这句话的意思是,仅仅
本身是无效的,但是:

<colgroup>
    <col span="7" />
</colgroup>

因此,前39列将使用
指定的任何内容,但第40列可以调整。OTOH,我很难让浏览器对jsfiddle.net上的任何一个规范(不管规范怎么说)给予足够的关注,所以我的代码是YMMV。

以下是我对规范的解释。更新:在看过HTML4规范之后,我改变了对
colgroup
元素的
span
属性的看法

(这也是对@mu回答中我自己的第二个问题的回应。)

A
colgroup
表示A,其
span
。因此,我认为这是一条捷径,可以避免作者连续编写多个
col
元素

<colgroup class="x" span="3"></colgroup>
另一方面,
col
表示,它的
span
…如果你问我,这是一个循环定义

我能解释这一点的唯一方法是通过写作

<colgroup class="x"><col class="y" span="3"/></colgroup>
就目前而言,我不确定会有明显的区别。当然,这一切看起来如何取决于你的CSS。但在语义上,它们是非常不同的。第一个示例表示三组列,每组包含一列,而第二个示例表示一组三列

经过重新思考,我决定他们都是一样的。拥有一个
colgroup
span
n
列数与拥有一个
colgroup
col
子级跨越
n
列相同。在我看来,在逻辑或语义上没有什么不同


注意:.

即使我们添加了单个“列”,浏览器也会自动添加“列组”,因此“列”似乎不能单独存在于“表”中,并且无论您是否添加,它都必须是“列组”的子项。看起来它们只是做同一件事的两种方式。基本上是一个用于“表列”的HTML选择器,谢谢你的回答和时间。@Jawad:我不会依赖浏览器添加任何内容(或者,一般来说,保持一致的理性:),在浏览器到达之前确保嵌套正确可能更安全。@mu太短了:是的,你是对的。添加“colgroup”只会更安全。在旁注和完全离题的情况下,你名字中的“穆”是否与禅宗中的“穆”相同!i、 例如,与逻辑中的二价原理和排除中间法则相反(索姆博迪问禅师。狗有禅吗?禅师回答:“穆”)。@Jawad:我没有问你的问题:)它实际上来自于虽然。@muistooshort:我喜欢你的回答,但它没有触及语义(如果有的话)使用
colgroup
s和
col
s。它们的唯一目的是实现样式的捷径吗?像
div
span
?如果没有风格,你会怎么使用它们?谢谢你的回答。除了语义学的观点外,除了用作“非官方”html列选择器之外,我还没有接触过任何真实世界的示例。当然,这也取决于数据本身。例如,您可以将地址列划分为街道、地区、邮政编码等子列,在这些子列中,数据彼此具有自然链接,在这里您可以使用colgroup对它们进行分组。但是,因为它是网页设计,而不是关系型数据库,所以它是毫无用处的!我理解你的不满。截至目前(2012年1月;谷歌Chrome v16),除了更改背景颜色外,我无法在
colgroup
col
元素上使用CSS。我试图调整
宽度
颜色
字体大小
,以及许多其他属性,但都没有效果。只有
背景色
有效。我还没有在不同的浏览器上尝试过。任何关注这一点的人,如果你有更多的消息,请回复。如果给定了一个类,则系统将被应用-你确定
col
不能是
表的直接子级吗?下面是一个教程,其中的情况正是如此,
span
属性用于
colgroup
元素@Vun HughVaw:从技术上讲,
col
元素不能是
元素的直接子元素:<不允许使用code>col
元素:仅作为
colgroup
的子级。但这里有一个问题:在某些情况下,
colgroup
的开始标记和结束标记可能会被省略。因此,在标记中,
看起来可能有一个直接的
col
子项,但这只是因为有一个隐含的
colgroup
<colgroup span="7">
</colgroup>
<colgroup style="width: 20px; font-weight: bold;">
    <col span="39">
    <col id="format-me-specially" style="width: 35px;">
</colgroup>
<colgroup class="x" span="3"></colgroup>
<colgroup class="x">
    <col/>
    <col/>
    <col/>
</colgroup>
<colgroup class="x"><col class="y" span="3"/></colgroup>
<colgroup class="x">
    <col class="y"/>
    <col class="y"/>
    <col class="y"/>
</colgroup>