CSS3 div onhover 显示删除图标,无 javascript,纯 CSS3

Posted

技术标签:

【中文标题】CSS3 div onhover 显示删除图标,无 javascript,纯 CSS3【英文标题】:CSS3 div onhover show display delete icon, no javascript, pure CSS3 【发布时间】:2021-11-23 04:58:50 【问题描述】:

.img-wrap 
    position: relative;
    display: inline-block;

.img-wrap .close 
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 5;
    transition: opacity 0.15s ease-in;
    padding: 5px 2px 2px;
    color: #000;
    font-weight: bold;
    cursor: pointer;
    opacity: 0;
    text-align: center;
    font-size: 22px;
    line-height: 10px;
    border-radius: 50%;

.img-wrap:hover .close 
    z-index: 10;
    background-color: rgb(5 0 0 / 75%);
    opacity: 1;
<div class="img-wrap">
    <a href="" class="close float-right red rounded-lg p-2 mr-2 mt-2" title="DELETE"><i class="fas fa-trash-alt fa-lg text-white"></i></a>
    <div class="media">
       <i class="fal fa-file fa-4x icon-pdf d-flex mr-3"></i>
       <div class="media-body">
           <h6 class="mt-0 mb-0 grey-text  font-weight-bold">This is an existing File</h6>
           <div><small><b class="mr-2">File Name</b>
                <a href="" target="_blank">$filename</a> 
                </small>
          </div>
       </div>
    </div>                          
</div>

☝️这是我想展示的,结果是这样的????

这适用于图像,但不适用于带有文本的 div

只需要在悬停时遮盖背景。被这个卡住了。

【问题讨论】:

使用您更改的代码,仅将鼠标悬停在带有 .close 类的链接的背景上。 @Sfili_81 是的,我需要让整个 div 变暗,并且只在悬停时显示删除图标。我尝试更换背景但卡住了。 【参考方案1】:

如果我了解您的问题,您可以使用绝对位于卡片上方的 div(我称之为图层)并在您悬停卡片时显示它。

.img-wrap 
    position: relative;
    display: inline-block;
    width:200px;/* not important */
    height:200px;/* not important */
    background:#aeaeae;/* not important */

.img-wrap .close 
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 5;
    transition: opacity 0.15s ease-in;
    padding: 5px 2px 2px;
    color: #000;
    font-weight: bold;
    cursor: pointer;
    opacity: 0;
    text-align: center;
    font-size: 22px;
    line-height: 10px;
    border-radius: 50%;

.img-wrap:hover .close 
    z-index: 10;
    background-color: rgb(5 0 0 / 75%);
    opacity: 1;


/* add this */
.layer
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:2;
background:rgba(255,255,255,0.9);
display:none;


.img-wrap:hover .layer
display:block;
<div class="img-wrap">
    <a href="" class="close float-right red rounded-lg p-2 mr-2 mt-2" title="DELETE"><i class="fas fa-trash-alt fa-lg text-white"> x </i></a>
    <div class="layer"> </div>
    <div class="media">
       <i class="fal fa-file fa-4x icon-pdf d-flex mr-3"></i>
       <div class="media-body">
           <h6 class="mt-0 mb-0 grey-text  font-weight-bold">This is an existing File</h6>
           <div><small><b class="mr-2">File Name</b>
                <a href="" target="_blank">$filename</a> 
                </small>
          </div>
       </div>
    </div>                          
</div>

【讨论】:

这就是我所需要的。谢谢。

以上是关于CSS3 div onhover 显示删除图标,无 javascript,纯 CSS3的主要内容,如果未能解决你的问题,请参考以下文章

用 CSS3 画心形和搜索放大镜图标

html5 css3样式图标怎么做

删除类时的转换显示:无

使用CSS3制作三角形小图标

ubuntu只能显示桌面,无任何图标,启动栏也没有

如何在反应裁剪组件上显示图标?