首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >css悬浮div闪烁

css悬浮div闪烁
EN

Stack Overflow用户
提问于 2018-07-16 11:36:52
回答 2查看 650关注 0票数 0

嗯,我的HTML看起来是这样的,当我悬停在图像上时,两个带有黑色背景的复选框应该是可见的。

代码语言:javascript
复制
<img class='itemImage'/>
 <div class='hoverDisplay'> 
  <div class="selctImgInptWrapper big">
    <input class="selctImgInpt" type="checkbox" value="">
  </div>
  <div class="selectWrapperImgRetouch big">
    <input class="selctImgRetouch" type="checkbox" value="">
  </div>
</div>

我的CSS

代码语言:javascript
复制
.hoverDisplay {
 height: 75px;
 font-size: 0.80rem;
 background-color: rgba(44, 44, 44, 0.3);
 background: rgba(44, 44, 44, 0.3);
 color: #ffffff;
 width: 95%;
 bottom: 8px;
 position: absolute;
 padding: 2px 5px;
 display: none; }

.hoverDisplay .selctImgInptWrapper {
 bottom: 50px;
 position: absolute;
 padding: 2px 5px;
}

.hoverDisplay .selectWrapperImgRetouch {
 bottom: 30px;
 position: absolute;
 padding: 2px 5px; }

.itemImage:hover ~ .hoverDisplay {
  display: block; }

当我在图像上悬停时,它工作得很好,这两个复选框是可见的,当我在复选框上悬停时,问题就开始了--它开始闪烁--我无法在这里找出错误的场景。

当我将光标移到黑色的是hoverDisplay类时,它会开始闪烁,我无法选中任何复选框。同时移动我的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-16 11:41:16

简单地说,当您想要将输入作为使用时,您将失去悬停状态,所以不再悬停图像,而是另一个元素,即同级元素。要避免这种情况,请添加另一个属性以保持display:block状态:

代码语言:javascript
复制
.itemImage:hover ~ .hoverDisplay,
 .hoverDisplay:hover {
  display: block; 
}
票数 1
EN

Stack Overflow用户

发布于 2018-07-16 11:43:35

问题是,当您悬停在图像上时,就会显示checkboxes。然后,当您悬停复选框(因为它们不在图像中(它们是不可能的),您悬停在图像和css试图隐藏他们。但是checkboxes在图像的顶部,所以会发生闪烁。

你基本上是在同一时间内悬停在图像内外。

一种解决方案是将imgcheckboxes封装在div中,当您悬停在div (而不仅仅是img )上时,显示checkboxes

代码语言:javascript
复制
.img-container {
  position:relative;
  width:350px;
}

.hoverDisplay {
  height: 75px;
  font-size: 0.80rem;
  background-color: rgba(44, 44, 44, 0.3);
  background: rgba(44, 44, 44, 0.3);
  color: #ffffff;
  width: 95%;
  bottom: 8px;
  position: absolute;
  padding: 2px 5px;
  display: none;
}

.hoverDisplay .selctImgInptWrapper {
  bottom: 50px;
  position: absolute;
  padding: 2px 5px;
}

.hoverDisplay .selectWrapperImgRetouch {
  bottom: 30px;
  position: absolute;
  padding: 2px 5px;
}

.img-container:hover .hoverDisplay {
  display: block;
}
代码语言:javascript
复制
<div class="img-container">
<img class="itemImage" src="http://via.placeholder.com/350x150">
<div class='hoverDisplay'>
  <div class="selctImgInptWrapper big">
    <input class="selctImgInpt" type="checkbox" value="">
  </div>
  <div class="selectWrapperImgRetouch big">
    <input class="selctImgRetouch" type="checkbox" value="">
  </div>
</div>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51360921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档