当前位置: 首页 > 面试题库 >

使表格单元格中的链接填充整个行高

苏宏峻
2023-03-14
问题内容

我有一个数据表,每个单元格都是一个链接。我想允许用户单击表格单元格中的任何位置,并让他们点击链接。有时表单元格不止一行,但并非总是如此。我使用td{display:block}来获得覆盖大部分单元格的链接。当一行中有一个单元格为两行,而其他单元格只有一行时,一个衬板不会填满表格行的整个垂直空间。这是示例HTML,您可以在上看到它的运行方式:

<head>
<style type="text/css">
  td {width: 200px}
  td a {display: block; height:100%; width:100%;}
  td a:hover {background-color: yellow;}
</style>
<title></title>
</head>
<body>
<table>
  <tbody>
    <tr>
      <td>
        <a href="http://www.google.com/">Cell 1<br>
        second line</a>
      </td>
      <td>
        <a href="http://www.google.com/">Cell 2</a>
      </td>
      <td>
        <a href="http://www.google.com/">Cell 3</a>
      </td>
      <td>
        <a href="http://www.google.com/">Cell 4</a>
      </td>
    </tr>
  </tbody>
</table>
</body>

问题答案:

您需要对CSS进行一些小的更改。使之td height:100%;适用于IE 8和FF 3.6,但不适用于Chrome。

td {
  width: 200px;
  border: solid 1px green;
  height: 100%
}
td a {
  display: block;
  height:100%;
  width:100%;
}

但要做出height50px作品的Chrome除了IE和FF

td {
  width: 200px;
  border: solid 1px green;
  height: 50px
}
td a {
  display: block;
  height:100%;
  width:100%;
}

编辑:

您已在此处的另一篇文章中自己给出了解决方案;这是要使用的display:inline-block;。与我的Chrome,FF3.6,IE8解决方案结合使用时

td {
  width: 200px;
  border: solid 1px green;
  height: 100%}
td a {
  display: inline-block;
  height:100%;
  width:100%;
}

更新资料

以下代码在IE8,FF3.6和chrome中对我有效。

的CSS

td {
  width: 200px;
  border: solid 1px green;
  height: 100%;
}
td a {
  display: inline-block;
  height:100%;
  width:100%;
}
td a:hover {
  background-color: yellow;
}

的HTML

<table>
  <tbody>
    <tr>
      <td>
        <a href="http://www.google.com/">Cell 1<br>
        second line</a>
      </td>
      <td>
        <a href="http://www.google.com/">Cell 2</a>
      </td>
      <td>
        <a href="http://www.google.com/">Cell 3</a>
      </td>
      <td>
        <a href="http://www.google.com/">Cell 4</a>
      </td>
    </tr>
  </tbody>
</table>


 类似资料:
  • 问题内容: 我已经看过这个问题并在Google上搜索了一下,但到目前为止没有任何效果。我认为现在是2010年(这些问题/答案很旧,而且还没有答案),我们有了CSS3!有什么方法可以使用CSS使div填充整个表格单元格的宽度和高度吗? 我不知道单元格的宽度和/或高度会提前多少,并且将div的宽度和高度设置为100%无效。 另外,我需要div的原因是因为我需要将某些元素绝对定位在单元格之外,并且不适用

  • 问题内容: 我知道可以用CSS链接整个表单元格。 有没有办法将链接应用于整个表行? 问题答案: 我同意Matti的观点。使用一些简单的javascript会很容易。一个快速的jquery示例如下所示: 和 然后在您的CSS中

  • 问题内容: 有没有一种使用HTML / CSS(具有相对大小)的方法来使一行单元格拉伸包含它的表的整个宽度? 单元格的宽度应相等,并且外部表格的大小也应使用来动态变化。 目前,如果我没有指定固定大小,单元格会自动调整大小以适合其内容。 问题答案: 您甚至不必为单元格设置特定的宽度,足以均匀地分布单元格。 请注意,要使用表格样式的元素,必须设置宽度(在我的示例中为100%)。

  • 问题内容: 我目前正在针对Python 2.7使用openpyxl v2.2.2,我想为单元格设置颜色。我已经使用以下进口 以下是我尝试使用的代码: 但出现以下错误: 关于如何使用openpyxl设置单元格A1(或其他单元格)颜色的想法? 问题答案: 我认为问题在于您正在尝试将填充对象分配给样式。 应该工作正常。

  • 问题内容: 我正在使用Bootstrap,但以下操作无效: 问题答案: 作者注一: 请查看下面的其他答案,尤其是那些不使用jquery的答案。 作者注二: 保留后代,但肯定在2019年采用了 错误的 方法。(在2017年甚至很糟糕) 您正在使用Bootstrap,这意味着您正在使用jQuery:^),因此一种实现方法是: 当然,您不必使用href或切换位置,您可以在点击处理程序函数中执行任何操作。

  • 我正在制作一个小型java swing应用程序,我必须在ScrollPane中创建一个带有gridBagLayout的表。 首先,GridBagLayout没有在面板的顶部对齐。 第二,如果我将(1,2,3,4)单元格居中,则它们居中在面板的中间(而不是单元格的中间)。 这是我的代码: