css 当鼠标悬停在整个表格行上时,如何使按钮在悬停时出现?

epfja78i  于 2023-04-08  发布在  其他
关注(0)|答案(2)|浏览(196)

我遇到了一个问题,在我的HTML代码.我试图显示一个按钮,当你悬停在一个表中的一行.现在按钮只显示当你悬停在它附近,但我需要它显示当你悬停在该行的任何地方.有人能帮助解释如何做到这一点?

.button {
  opacity: 0;
}

.button:hover {
  display: inline-block;
  opacity: 1;
}
<table>
  <tr>
    <div class="button">
      <a href="#"></a>
    </div>
    <td><img src="/app/images/todo/todos_incomplete_blue.svg" /></td>
    <td>Make a To Do List</td>
    <td>Me Myself and I</td>
    <td>Whenever I want</td>
    <td>69%</td>
    <td>
      <div class="button">
        <img src="/app/images/master/actions_btn.svg" />
        <a href="#"></a>
      </div>
    </td>
  </tr>
</table>
svdrlsy4

svdrlsy41#

现在,一个按钮只有在你直接在它上面的时候才会显示。为了在它的表格行被悬停的时候显示一个按钮,把你的CSS定义设置为在悬停行里面的目标按钮:

tr:hover .button { ... }

还有:
1.根据permitted content of <tr> elements<div>中的<tr>元素是无效的,我已经删除了它们,但是如果需要,可以将它们 Package 在<td>元素中。
1.我冒昧地将.button图像放在它们的<a>元素中,尽管我不确定这是否是您的意图。
1.我注意到悬停效果在单元格之间的空格上不起作用,这会导致悬停区域出现间隙,所以我设置border-collapse:collapse;并单独填充单元格。

table {
  border-collapse: collapse;
}

td {
  padding: 5px;
}

.button {
  opacity: 0;
}

tr:hover .button {
  opacity: 1;
}
<table>
  <tr>
    <td><img src="https://via.placeholder.com/30x20/" width="30" height="20" /></td>
    <td>Make a To Do List</td>
    <td>Me Myself and I</td>
    <td>Whenever I want</td>
    <td>69%</td>
    <td>
      <div class="button">
        <a href="#">
          <img src="https://via.placeholder.com/30x20/" width="30" height="20" />
        </a>
      </div>
    </td>
  </tr>
  <tr>
    <td><img src="https://via.placeholder.com/30x20/" width="30" height="20" /></td>
    <td>Make a To Do List</td>
    <td>Me Myself and I</td>
    <td>Whenever I want</td>
    <td>69%</td>
    <td>
      <div class="button">
        <a href="#">
          <img src="https://via.placeholder.com/30x20/" width="30" height="20" />
        </a>
      </div>
    </td>
  </tr>
</table>
zf9nrax1

zf9nrax12#

我的理解是从解释
我正在尝试显示按钮
如果是这样的话,只需用jQuery将trigger悬停在一个按钮上。
因此,假设我们将ID添加到:<tr id="myrow">,在<div class="button">中我们还添加了ID<div class="button" id="mybtn">
在jQuery中,我们有:

$("#myrow").mouseover(function() {
   $("#mybtn").show() // if it was hidden show it
   $("#mybtn").trigger("mouseover"); // trigger as if mybtn was mouseovered
});

相关问题