这是我的表:(我知道我必须使用div而不是表格)
<table class="table-fill">
<thead>
<tr class="">
<th class="text-top">
<i class="fa fa-comments"></i></th>
<th class="text-top">Service & Support</th>
</tr>
</thead>
<tbody class="table-hover">
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span></td>
<td class="text-left">TableData1</td>
</tr>
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span></td>
<td class="text-left">TableData2</td>
</tr>
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span></td>
<td class="text-left">TableData3</td>
</tr>
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span></td>
<td class="text-left">TableData4 </td>
</tr>
<tr>
<td class="text-left"></td>
<td class="text-left"></td>
</tr>
</tbody>
</table>
.text-left:hover .table-fill {
box-shadow: 0 26px 74px rgba(0, 0, 0, 0.69);
}
.text-left:hover .text-top {
background:#fff;
color:#4E5066;
}
我已尝试.text-left:hover ~ .table-fill
,.text-left:hover + .table-fill
和.text-left:hover > .table-fill
,但这不起作用。
我也看了Here,Here和Here,但这并没有解决我的问题。
如果可能,我想避免使用jQuery。
答案 0 :(得分:1)
为什么不改变表格上的样式悬停本身,因为你的所有内容都有文本左侧类,就像在表格内的任何地方悬停一样。这只是我的建议。
.table-fill:hover {
box-shadow: 0 26px 74px rgba(0, 0, 0, 0.69);
}
.table-fill:hover .text-top {
background: #fff;
color: #4E5066;
}
<table class="table-fill">
<thead>
<tr class="">
<th class="text-top">
<i class="fa fa-comments"></i>
</th>
<th class="text-top">Service & Support</th>
</tr>
</thead>
<tbody class="table-hover">
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span>
</td>
<td class="text-left">TableData1</td>
</tr>
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span>
</td>
<td class="text-left">TableData2</td>
</tr>
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span>
</td>
<td class="text-left">TableData3</td>
</tr>
<tr>
<td class="text-left"><span class="dashicons dashicons-arrow-right-alt2"></span>
</td>
<td class="text-left">TableData4</td>
</tr>
<tr>
<td class="text-left"></td>
<td class="text-left"></td>
</tr>
</tbody>
</table>
答案 1 :(得分:0)
.table-filled
和.text-top
既不是.text-left
的兄弟姐妹也不是后代,所以这不起作用。 jQuery可能是你最好的选择。
答案 2 :(得分:0)
将激活更改为 .table-fill ,而不是 .text-left ,如下所示:
.table-fill:hover .text-top {
background:#fff;
color:#4E5066;
}
.table-fill:hover {
box-shadow: 0 26px 74px rgba(0, 0, 0, 0.69);
}
希望它能产生预期的效果