回答
只適用於單元格或行,對不起。 例如
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