醉美水芙蓉 发表于 6 天前

马黑黑老师 colgroup :表格列组元素

<style>
        .artBox { font: normal 18px/1.5 sans-serif; overflow: auto; position: relative; }
        .artBox p { margin: 10px 0; }
        .artBox h1, .artBox h2 { margin: 8px 0; }
        .artBox code { background: #f7f4f3; padding: 2px 6px; tab-size: 4; }
        .artBox pre code { padding: 0; background: none; }
</style>

<div class="artBox">
<p>表格列组元素 <code>&lt;colgroup&gt;</code> 用于定义 <code>&lt;table&gt;</code> 表格的一组列,即设置一个或多个列为一组以便通过 CSS 设定该组所有列的样式。换言之, <code>colgroup</code> 是 HTML 表格中的一个元素,用于对表格的列进行分组和样式化,其主要功能是为一组列设置统一的样式或属性,从而简化表格的样式管理。</p>
<h2>一、colgroup语法结构:</h2>
<div class="codebox">
&lt;colgroup&gt;
    &lt;col class="col-idx"&gt;            &lt;!-- 第一列 --&gt;
    &lt;col span="2" class="col-main"&gt;&lt;!-- 第二、三列 --&gt;
    &lt;col class="col-comment"&gt;      &lt;!-- 第四列 --&gt;
&lt;/colgroup&gt;

&lt;!-- 对应 CSS 代码 --&gt;
    .col-idx { background: silver; }
    .col-main { background: tan; }
    .col-comment { background: pink; }
</div>
<p>【注】子元素 <code>&lt;col&gt;</code> 为自闭合标签,它可以拥有一个 <code>span</code> 属性,用于设定“合并”列,缺省此属性时其值为 1,即 col 是个单列,当 span 值为 n,表示该 col 标签将 n 个表格自然列“合并”在一起进行定义。这里的“合并”不是真的合并单元格,而是归拢 n 个自然列为一个子组。</p>
<p>下面给出一个可以预览的应用实例:</p>
<div class="codebox" data-prev="1">&lt;style&gt;
    table { width: 800px; border-collapse: collapse; margin: 30px; }
    caption { font-size: 2em; font-weight: bold; padding-bottom: 10px; }
    th { background: #3498db; color: white; padding: 12px; text-align: left; font-weight: bold; text-align: center; }
    td { padding: 8px 12px; border-bottom: 1px solid #eee; border: 1px solid gray; }
    .col-idx { background: aliceblue; }
    .col-main { background: beige; }
    .col-comment { background: silver; }
&lt;/style&gt;

&lt;table&gt;
    &lt;caption&gt;学生名册&lt;/caption&gt;
    &lt;!-- colgroup标签放在 caption 标签之后 --&gt;
    &lt;colgroup&gt;
      &lt;col class="col-idx"&gt;
      &lt;col span="2" class="col-main"&gt; &lt;!-- span 属性“合并”自然列 --&gt;
      &lt;col class="col-comment"&gt;
    &lt;/colgroup&gt;
    &lt;!-- colgroup标签放在 thead 标签之前 --&gt;
    &lt;thead&gt;
      &lt;tr&gt;
            &lt;th width="8%"&gt;序号&lt;/th&gt;
            &lt;th width="20%"&gt;姓名&lt;/th&gt;
            &lt;th width="8%"&gt;年龄&lt;/th&gt;
            &lt;th&gt;备注&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
              &lt;td&gt;1&lt;/td&gt;
              &lt;td&gt;玛利亚&lt;/td&gt;
              &lt;td&gt;17&lt;/td&gt;
              &lt;td&gt;父母离异,随母亲生活&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
              &lt;td&gt;2&lt;/td&gt;
              &lt;td&gt;阿古丽&lt;/td&gt;
              &lt;td&gt;15&lt;/td&gt;
              &lt;td&gt;父亲为联合国维和部队上尉&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
              &lt;td&gt;3&lt;/td&gt;
              &lt;td&gt;朱亚军&lt;/td&gt;
              &lt;td&gt;18&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
</div>
<h2>二、使用 &lt;colgroup&gt; 标签注意事项</h2>
<ul>
<li><p><code>&lt;colgroup&gt;</code> 标签应出现在 <code>&lt;table&gt;</code> 标签之内</p>
</li>
<li><p><code>&lt;colgroup&gt;</code> 标签在 table 代码流中非常讲究,<strong>必须放在任何 <code>&lt;caption&gt;</code> 元素(如果使用)之后、并在任何 <code>&lt;thead&gt;</code>、<code>&lt;tbody&gt;</code>、<code>&lt;tfoot&gt;</code> 和 <code>&lt;tr&gt;</code> 元素之前</strong></p>
</li>
<li><p>只有数量有限的 CSS 属性会影响 <code>&lt;colgroup&gt;</code>:</p>
<ol>
<li>background</li>
<li>border</li>
<li>visibility</li>
<li>width</li>
</ol>
</li>
</ul>
<h2>三、为 <code>table</code> 设置多个 <code>colgroup</code> 标签</h2>
<p><code>&lt;colgroup&gt;</code> 标签自身和其子标签 <code>&lt;col&gt;</code> 一样也可以拥有自己的 span 属性,这意味着我们可以通过多个无需子元素的 <code>&lt;colgroup&gt;</code> 标签来设置不同子组列的样式。下面可以在线预览的实例是一个七列的表格,分为 5 个子组:</p>
<div class="codebox" data-prev="1">&lt;style&gt;
    table { width: 800px; border-collapse: collapse; margin: 30px; }
    caption { font-size: 2em; font-weight: bold; padding-bottom: 10px; }
    th { background: #3498db; color: white; padding: 12px; text-align: left; font-weight: bold; text-align: center; }
    td { padding: 8px 12px; border-bottom: 1px solid #eee; border: 1px solid gray; }
    .index { background: aliceblue; }
    .main1 { background: beige; }
    .main2 { background: gold; }
    .main3 { background: tan; }
    .comment { background: silver; }
&lt;/style&gt;

&lt;table&gt;
    &lt;caption&gt;学生名册&lt;/caption&gt;
    &lt;!-- colgroup标签放在 caption 标签之后 --&gt;
    &lt;colgroup class="index"&gt;&lt;/colgroup&gt;
    &lt;colgroup span="3" class="main1"&gt;&lt;/colgroup&gt; &lt;!-- span 属性“合并”自然列 --&gt;
    &lt;colgroup class="main2"&gt;&lt;/colgroup&gt;
    &lt;colgroup class="main3"&gt;&lt;/colgroup&gt;
    &lt;colgroup class="comment"&gt;&lt;/colgroup&gt;
    &lt;!-- colgroup标签放在 thead 标签之前 --&gt;
    &lt;thead&gt;
      &lt;tr&gt;
            &lt;th width="8%"&gt;序号&lt;/th&gt;
            &lt;th width="10%"&gt;姓名&lt;/th&gt;
            &lt;th width="8%"&gt;性别&lt;/th&gt;
            &lt;th width="8%"&gt;年龄&lt;/th&gt;
            &lt;th width="8%"&gt;表现&lt;/th&gt;
            &lt;th width="28%"&gt;家庭住址&lt;/th&gt;
            &lt;th&gt;备注&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
              &lt;td&gt;1&lt;/td&gt;
              &lt;td&gt;玛利亚&lt;/td&gt;
              &lt;td&gt;女&lt;/td&gt;
              &lt;td&gt;17&lt;/td&gt;
              &lt;td&gt;优&lt;/td&gt;
              &lt;td&gt;雅虎镇单亲公寓006号&lt;/td&gt;
              &lt;td&gt;父母离异,随母亲生活&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
              &lt;td&gt;2&lt;/td&gt;
              &lt;td&gt;阿古丽&lt;/td&gt;
              &lt;td&gt;女&lt;/td&gt;
              &lt;td&gt;15&lt;/td&gt;
              &lt;td&gt;优+&lt;/td&gt;
              &lt;td&gt;西单公寓109号&lt;/td&gt;
              &lt;td&gt;父亲为联合国维和部队上尉&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
              &lt;td&gt;3&lt;/td&gt;
              &lt;td&gt;朱亚军&lt;/td&gt;
              &lt;td&gt;男&lt;/td&gt;
              &lt;td&gt;18&lt;/td&gt;
              &lt;td&gt;优++&lt;/td&gt;
              &lt;td&gt;东大丰县县城北区西江公寓238号&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
</div>
<p>总而言之,表格用来展现数据在 HTML 中占据一定优势,而表格中的列分组标签 <code>colgroup</code> 可以灵活设置不同子组列的样式和属性,用好它可以令数据的渲染更为精彩、美观。</p>
</div>

<script>
   function loadLineNumFile() {
       const script = document.createElement('script');
       script.charset = 'utf-8';
       script.src = 'https://638183.freep.cn/638183/web/helight/linenumber-2026.js';
       script.defer = true;
       script.onload = () => addLineNumber();
       document.head.appendChild(script);
   }
   loadLineNumFile();
</script>

klxf 发表于 5 天前

这个标签用好不容易呢,谢谢醉美管理员分享

dazhankuai 发表于 4 天前

赞,顶帖超有参考作用

岩新新 发表于 4 天前

很给力。。。。很喜欢

luxianshi 发表于 3 天前

感谢分享,充满生活智慧

lanseyuanwei 发表于 3 天前

感谢分享,带来美好体验

uxyto 发表于 3 天前

感谢分享,带来满满惊喜

esegolusy 发表于 3 天前

支持!!!!!!

怀仁 发表于 前天 03:38

赞,顶帖角度十分独特

游侠 发表于 昨天 00:02

感谢分享,让我有所得啦
页: [1] 2
查看完整版本: 马黑黑老师 colgroup :表格列组元素