我的主要目标是制作一个带有焦点元素的弹出动作。但即使操作框没有透明度属性,表格边框似乎也出现在操作框中。如下图红框所示。我希望操作框完全位于表格元素的顶部,因此在操作框中看不到表格边框。我曾尝试在操作框上使用 z-index,但它不起作用。
这是我的操作框代码
.action {
visibility: hidden;
opacity: 0;
position: absolute;
min-width: 120px;
top: 5px;
right: 10px;
padding-top: 0;
padding-bottom: 0;
text-align: left;
background-color: #fff;
box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2), 0 3px 15px 0 rgba(0, 0, 0, 0.19);
-webkit-transition: visibility 0s, opacity 200ms linear;
-ms-transition: visibility 0s, opacity 200ms linear;
transition: visibility 0s, opacity 200ms linear;
}
.action ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 100%;
}
.action ul li {
height: 44px;
padding-left: 22px;
padding-right: 22px;
}
.action ul li a {
line-height: 44px;
}
.action ul li:hover {
background-color: #f7f4f4;
cursor: pointer;
}
.action-control:hover {
cursor: pointer;
}
.action-control:focus {
outline: none;
}
.action-control:focus+.action {
visibility: visible;
opacity: 1;
z-index: 3;
}
<table>
<tr>
<td style="text-align: center">
<span style="position: relative">
<a tabindex="0" class="action-control"><i class="fa fa-ellipsis-v"></i></a>
<div class="action">
<ul>
<li><a class="text-menu">Edit</a></li>
<li><a class="text-menu">Delete</a></li>
</ul>
</div>
</span>
</td>
</tr>
</table>
我的css代码有什么问题吗?请帮我。我认为这是一个微不足道的问题,但我仍然可以自己解决。这是jsfiddle
你的<tbody>
元素已经opacity: 0.84;
设置好了。因此,它的所有孩子——包括你的弹出框——也处于这种不透明状态。不确定这是否是一个错误,或者您正在尝试用它来完成某些事情。如果是后者,我建议改为使用背景颜色来定位相关元素rgba
——这应该很容易被background-color
弹出窗口的覆盖。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句