编写带有垂直标题的 HTML 表格的最常见方法? [关闭]

2024-02-20

您编写具有垂直标题的 HTML 表格的首选方式是什么?

通过垂直标题我的意思是表格有标题(<th>) 标签位于左侧(通常)

Header 1数据数据数据
Header 2数据数据数据
Header 3数据数据数据

它们看起来像这样,到目前为止我已经想出了两个选择

第一个选项

<table id="vertical-1">
    <caption>First Way</caption>
    <tr>
        <th>Header 1</th>
        <td>data</td><td>data</td><td>data</td>
    </tr>
    <tr>
        <th>Header 2</th>
        <td>data</td><td>data</td><td>data</td>
    </tr>
    <tr>
        <th>Header 2</th>
        <td>data</td><td>data</td><td>data</td>
    </tr>
</table>

这种方式的主要优点是标题位于它所代表的数据的右侧(实际上是左侧),但我不喜欢的是<thead>, <tbody> and <tfoot>标签丢失了,并且没有办法在不破坏精心放置在一起的元素的情况下包含它们,这导致我选择了第二个选项。

第二个选项

<style type="text/css">
    #vertical-2 thead,#vertical-2 tbody{
        display:inline-block;
    }
</style>
<table id="vertical-2">
    <caption>Second Way</caption>
    <thead>
        <tr>
            <th colspan="3">Header 1</th>
        </tr>
        <tr>
            <th colspan="3">Header 2</th>
        </tr>
        <tr>
            <th colspan="3">Header 3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>row 1</td>
            <td>row 1</td>
            <td>row 1</td>
        </tr>
        <tr>
            <td>data</td>
            <td>data</td>
            <td>data</td>
        </tr>
        <tr>
            <td>data</td>
            <td>data</td>
            <td>data</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td colspan="4">Footer</td>
        </tr>
    </tfoot>
</table>

这里的主要优点是你有一个完全描述性的 html 表,缺点是正确的表示需要一些 CSS 来实现tbody and thead标签以及标题和数据之间的关系不是很清楚,因为我在创建标记时有疑问。


因此,这两种方法都会以应有的方式呈现表格,请听一张图片:

render
With the headers on the left or right side if you would prefer it, so, any suggestions, alternatives, browser issues?


首先,您的第二个选项不是完全有效的 HTML,因为表中的所有行 (TR) 应包含相同数量的列 (TD)。您的标头有 1,而正文有 3。您应该使用 colspan 属性来解决这个问题。

参考:“THEAD、TFOOT 和 TBODY 部分必须包含相同数量的列。” -第 11.2.3 节最后一段 http://www.w3.org/TR/html4/struct/tables.html#h-11.2.3.

话虽这么说,我认为第一个选项是更好的方法,因为无论我是否启用了 CSS,它都是可读的。某些浏览器(或搜索引擎爬虫)不执行 CSS,因此,它会使您的数据毫无意义,因为标题将代表列而不是行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编写带有垂直标题的 HTML 表格的最常见方法? [关闭] 的相关文章

随机推荐

  • 全文搜索引擎比较——Lucene、Sphinx、Postgresql、MySQL? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在构建一个 Django 网站 并且正在寻找一个搜索引擎 几位候选人 Lucene Lucene
  • 如何删除 SQLite 中的所有空表?

    我想删除所有没有行的表 如何删除 SQLite 中的所有空表 EDIT我需要在手机上执行此操作 没有外壳 在 Windows Mobile 手机上 执行命令时 无论表中是否有数据 都可以删除表 不知道任何数据库以其他方式运行 所以这意味着
  • 如何修复 pip 安装错误:“环境错误:[Errno 42] 非法字节序列”?

    我正在尝试下载kivy模块使用pip 当我运行pip install command 我得到一个错误 Could not install packages due to an EnvironmentError Errno 42 Illega
  • 我获取的资源不在项目的构建路径上[重复]

    这个问题在这里已经有答案了 当我尝试 组织导入 或尝试访问任何类属性时 我得到了资源不在项目的构建路径上 我正在使用 ant 构建我的项目 我尝试在 javabuilpath gt 项目中配置我的构建路径 但它没有向我显示我的 src 文件
  • 如何跳转到 RichTextBox 中的特定行?

    我正在寻找如何跳转到特定行的示例代码RichTextBox in WPF 我不知道如何做到这一点 在 winForms 中它非常简单 因为我可以自由设置 SelectionStart 和 Selection Length 这与 WPF 中不
  • 当[:punct:]太多时[重复]

    这个问题在这里已经有答案了 我正在清理 R 中的文本字符串 我想删除所有标点符号except撇号和连字符 这意味着我无法使用 punct 字符类 除非有一种说法 punct but not lt gt 并且反引号必须出来 对于上述大多数情况
  • 在 Visual Studio 2010 C/C++ 中,“重新扫描解决方案”操作有何作用?

    我正在尝试编译第三方项目 但遇到一些链接问题 我在解决小问题时没有遇到太大麻烦 但我注意到它们是项目或解决方案的上下文菜单中的 重新扫描解决方案 选项 我点击了它 但它似乎没有做任何事情 它到底有什么作用 此命令更新项目浏览数据库中的过时文
  • 如何使用 sed 只删除三个空行?

    如何使用 sed 只删除三个空行 例如 我的文本 txt line1 line2 line3 line4 使用 sed 我希望结果看起来像这样 我的文本 txt line1 line2 line3 line4 我能够删除双空行 sed i
  • Azure SignalR 服务连接未处于活动状态

    我从 2 4 0 更新了我们的信号包并添加了RunAzureSignalR代替RunSignalR 在 de 中添加了此代码Startup cs app Map signalr map gt var hubConfiguration new
  • LISP - 如何获得嵌套列表的平均长度?

    我有个问题 我需要从此列表中获取平均长度 1 2 3 4 5 6 7 8 9 应该是2 我不知道从哪里开始 我试图得到 1 2 3 4 5 6 7 8 9 from 1 2 3 4 5 6 7 8 9 但我失败了 因为 reduce app
  • Google 是否提供可用于获取手机位置的 API?

    我的智能手机向 Google G 和 Android 设备管理器 报告我的位置 我想从网站 程序中读取该位置来绘制我的位置 我可以使用智能手机上的另一个应用程序进行额外的跟踪 但这往往会消耗相当多的电池 有两个应用程序进行跟踪 由于纬度已被
  • 由于 Windows 之前冻结,Outlook 宏被禁用

    我们公司在每台安装 Outlook 的计算机上都使用 VBA 宏 宏使用证书进行数字签名以确保安全 该证书是通过以下方式生成的自认证程序应用 当我们在 Outlook 中的 VBA 项目 包含宏 上添加数字签名时 我们选择之前生成的证书 并
  • 确定 CALayer 旋转了多少

    我有一个程序 其中 CALayer 必须旋转到特定值 如何确定 CALayer 的当前旋转 我有一个旋转图层的 UIRotationGestureRecognizer void handleGesture UIGestureRecogniz
  • 移动Android View并防止onDraw被一遍又一遍地调用

    我正在延长View 类 我所说的MyView 我添加了一些属性 这些属性基本上说明了在对象上绘制的内容 并处理它 我每隔几毫秒移动一次此类的对象 这效果很好 我在用着this layout left top right bottom 移动
  • Spark 连接速度呈指数级缓慢

    我正在尝试连接两个 Spark RDD 我有一个链接到类别的事务日志 我已将交易 RDD 格式化为以类别 id 作为键 transactions cat take 3 u 707 u 86246 u 205 u 7 u 707 u 1078
  • 为什么我的 d3 力导向图不显示边缘?

    我使用 d3 创建了一个简单的力导向图 http goo gl afHTD http goo gl afHTD 为什么图表的边缘不显示 这是我的整个 HTML 文件 当然 您也可以通过在我的链接页面上查看源代码来查看它并修改它 它基于 d3
  • 使用错误的表别名生成查询的原则

    我正在尝试做一个简单的 gt find 使用原则 规则 2 5 1 查询非常简单 this gt get order repository gt find 10 但这会生成一个复杂的查询 选择 s0 number AS number 0 s
  • SYSTEM_HANDLE_INFORMATION结构

    这个结构从何而来 我知道它是在著名的 ntdll h 中声明的 并且是未记录的 Windows API 的一部分 但不同版本的windows之间不是有差异吗 有没有办法从工作系统中转储这个结构 我在 Windbg 中尝试了 dt SYSTE
  • 如何复制内存

    说我有 unsigned char varA varB varC varA malloc 64 varB malloc 32 varC malloc 32 我怎样才能把first将 32 字节的 varA 放入 varB 中last32字节
  • 编写带有垂直标题的 HTML 表格的最常见方法? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您编写具有垂直标题的 HTML 表格的首选方式是什么 通过垂直标题我的意思是表格有标题 th 标签位于左侧 通常 Header 1数据数据数据