4

これらのコードは論理的に同等ですか?

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

<col span="7" />

<colgroup>
<col />
<col />
<col />
<col />
<col />
<col />
<col />
</colgroup>

HTML 経由の属性または CSS 経由のプロパティは同じ効果がありますか? 「colgroup」タグも追加できますか。私がそれをするのに十分な担当者がいません。

4

2 に答える 2

6

仕様から<col>:

この要素を使用できるコンテキスト:
span 属性を持たない colgroup 要素の子として。
[...]
コンテンツ属性: グローバル属性
スパン

<col span="7" />それだけでは無効であると言っていると読みましたが、これは次のとおりです。

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

は有効で、次と同じです:

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

ただし、に属性<colgroup>があるspan<col>場合は、子を持つべきではありません。

colgroup 要素に col 要素が含まれていない場合、その要素には span コンテンツ属性が指定されている可能性があります...

私の解釈 (より薄い HTML5仕様よりも HTML4 仕様に基づく) は<colgroup span="n">、HTML4 仕様からのこの (変更された) 例のように、グループ内の列の 1 つを異なるスタイルにする必要がない限り、通常は使用するということです:

<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でYMMVのように(仕様に記載されているにもかかわらず)ブラウザにこれに多くの注意を払わせるのに苦労しています。

于 2011-06-13T05:07:39.257 に答える
3

以上がスペックの解釈です。更新: HTML4 の仕様を見て、colgroup要素のspan属性について考えが変わりました。

(これは、@mu の回答にある私自身の 2 番目の質問コメントへの回答でもあります。)

Aは 1 つ以上の列colgroupのグループを表し、列グループ内の列の数を指定します。だから私はそれを近道と考えており、作者が複数の要素を連続して書くことを防いでいる.span col

<colgroup class="x" span="3"></colgroup>

列グループは 3 つの列にまたがり、CSS ルールに従ってスタイル設定され.x {...}ます。これは、

<colgroup class="x">
    <col/>
    <col/>
    <col/>
</colgroup>

一方、は列グループ内の 1 つまたは複数の列をcol表し、その要素によって「またがる」列の数を指定します。私に言わせれば、これは循環定義です。span COL

私がこれを解釈できる唯一の方法は、次のように書くことです

<colgroup class="x"><col class="y" span="3"/></colgroup>

3 つの列があり、それぞれが同じ論理グループにあり、 に従って同じ方法でスタイル設定されていると言っています.y {...}。これが執筆への近道です

<colgroup class="x">
    <col class="y"/>
    <col class="y"/>
    <col class="y"/>
</colgroup>

プレゼンテーション的には、顕著な違いがあるかどうかはわかりません。もちろん、すべてがどのように見えるかは、CSS によって異なります。しかし、意味的には、それらは大きく異なります。最初の例は、各グループに 1 つの列が含まれる列の 3 つのグループを表し、2 番目の例は 3 つの列の 1 つのグループを表します。

これを再考した後、私は両方とも同じであると判断しました。colgroupスパン数の列を持つことは、複数の列にまたがる子を持つものをn持つことと同じです。私の意見では、論理的または意味的な違いはありません。colgroupcoln

注:要素は、属性を持たない要素に含まれている必要があります。elementの直接の子ではない可能性がありますcolcolgroupspantable

于 2012-01-18T23:12:19.560 に答える