回答
只适用于单元格或行,对不起。 例如
td {
background-color: blue;
}
td:hover {
background-color: red;
}
有JavaScript解决方案可用,但现在没有任何CSS可以做你想做的事情,因为选择器的限制。
td /* all cells */
{
background-color: blue;
}
tr /* all rows */
{
background-color: pink;
}
/* nothing for all columns */
我不认为有一个干净的HTML + CSS方式来做到这一点。 Javascript是一种替代方案,例如jQuery tableHover plugin
你可以尝试用<col>
标签和col:hover { background: red; }
风格尝试,但我怀疑这会工作。无论如何,这绝对不适用于老版本的MSIE,所以你需要javascript才能做到这一点。
'col:hover'在firefox 3.5中似乎不起作用,但'col {background-color:blue; }'确实 – 2009-10-12 10:03:43
我有一个类似的问题,我有太多的列在屏幕上显示。通过VIA PHP,我将每行转换为1 x列表。所以,n行= n表。然后,我嵌套在主表中的每个表。这样做可以让我从样式表中调用td:hover。由于每个td都拥有一个表格,所以当我将鼠标悬停在列上时,它具有突出显示列的相同效果。
可以使用高亮全行纯CSS:
tr td {background-color: red;}
tr:hover td {background-color: blue;}
实现了一列这种效果是不可能用这种方法,因为细胞(TD)是行(TR)的孩子,不一列。
要使其在IE7 +中工作,请确保添加doctype声明(无论如何,你应该始终做:))。
不回答问题 – 2015-03-05 16:21:22
这可以使用没有Javascript的CSS来完成。我使用::after
伪元素来做突出显示。如果您需要处理点击事件,z-index
会将突出显示保留在<tds>
以下。使用巨大的高度可以覆盖整个色谱柱。 <table>
上的overflow: hidden
隐藏突出显示溢出。
演示:http://jsfiddle.net/ThinkingStiff/2XeYe/
输出:
CSS:
table {
border-spacing: 0;
border-collapse: collapse;
overflow: hidden;
z-index: 1;
}
td, th {
cursor: pointer;
padding: 10px;
position: relative;
}
td:hover::after {
background-color: #ffa;
content: '\00a0';
height: 10000px;
left: 0;
position: absolute;
top: -5000px;
width: 100%;
z-index: -1;
}
HTML:
<table>
<tr>
<th></th><th>50kg</th><th>55kg</th><th>60kg</th><th>65kg</th><th>70kg</th>
</tr>
<tr>
<th>160cm</th><td>20</td><td>21</td><td>23</td><td>25</td><td>27</td>
</tr>
<tr>
<th>165cm</th><td>18</td><td>20</td><td>22</td><td>24</td><td>26</td>
</tr>
<tr>
<th>170cm</th><td>17</td><td>19</td><td>21</td><td>23</td><td>25</td>
</tr>
<tr>
<th>175cm</th><td>16</td><td>18</td><td>20</td><td>22</td><td>24</td>
</tr>
</table>
我不确定你的FF修复工作。身体的背景变成黄色,而不仅仅是悬停的列。 – carmenism 2012-08-15 18:45:58
@vulpix这适用于我在OS X上的FF14. – ThinkingStiff 2012-08-15 19:25:12
-1根本不适用于IE。 – 2013-01-28 04:48:17
我甲肝Ë更简单的解决方案(直播例如:http://jsfiddle.net/q3HHt/1/)
HTML:
<table>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
CSS:
table, td {
border: 1px solid black;
}
td {
width: 40px;
height: 40px;
}
.highlighted {
background-color: #348A75;
}
的jQuery:
$('td').hover(function() {
var t = parseInt($(this).index()) + 1;
$('td:nth-child(' + t + ')').addClass('highlighted');
},
function() {
var t = parseInt($(this).index()) + 1;
$('td:nth-child(' + t + ')').removeClass('highlighted');
});
活生生的例子:http://jsfiddle.net/q3HHt/1/
只是为了扩展穆罕默德答案(https://stackoverflow.com/a/11828637/1316280),如果你想突出的cols只有在实际的表,jQuery的代码部分更改为: 此的jsfiddle是具体的只是实际表
jQuery的
$('td').hover(function() {
var t = parseInt($(this).index()) + 1;
$(this).parents('table').find('td:nth-child(' + t + ')').addClass('highlighted');
},
function() {
var t = parseInt($(this).index()) + 1;
$(this).parents('table').find('td:nth-child(' + t + ')').removeClass('highlighted');
});
的jsfiddle:http://jsfiddle.net/q3HHt/123/
- 1. html css导航列表悬停问题
- 2. jquery悬停列表
- 3. jQuery列表悬停
- 4. 浮动/悬停表格html
- 5. 停止调整悬停的HTML列表项目
- 6. 嵌套列表悬停行
- 7. jquery悬停列表背景
- 8. 悬停效果李列表
- 9. 列表悬停问题
- 10. 悬停/点击DIV列表
- 11. 导航列表a:悬停
- 12. 问:悬停在Html
- 13. 停止列表动画悬停
- 14. HTML表和悬停图像和链接
- 15. 菜单项悬停效果和悬停子列表
- 16. 如何在悬停div时显示html列表?
- 17. 的Html悬停改变列表样式图像
- 18. 获取数据,以引导MVC html的悬停下拉列表
- 19. html如何显示悬停的隐藏列表?
- 20. HTML悬停图片代码
- 21. 悬停效果HTML或CSS
- 22. HTML/CSS图像悬停
- 23. HTML CSS悬停不工作
- 24. Html css悬停替代
- 25. 悬停图片HTML:响应?
- 26. 悬停问题。 HTML和CSS
- 27. html/javascript悬停菜单
- 28. 图片悬停-HTML CSS
- 29. 的CSS列表时,鼠标悬停在
- 30. 将鼠标悬停在列表中
其实你可以使用样式EI列兄弟选择器(有点混乱)或CSS3的“第n个孩子”(没有IE支持)。尽管如此,您仍然无法在悬停时进行此操作,因为您只是在单元格或行上悬停,而不是列。 – DisgruntledGoat 2009-10-12 16:10:22