当前位置: 首页 > 知识库问答 >
问题:

CSS悬停样式在悬停选择器附加到父容器之前不起作用[重复]

谢翰学
2023-03-14

当悬停在父图片上时,我正在尝试显示子图片。当前,在父图片上设置CSS悬停样式时,子图片永远不可见。

但是,如果我更改css悬停样式以引用.picture-container元素,而不是.parent-picture,它就会正常工作。这是为什么?

这似乎与父image元素是绝对元素无关。

.picture-container {
    width:300px;
    height:300px;
    float:left;
    position:relative;
}

.parent-picture {
    float:left;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
}

.child-picture {
    position:absolute;
    top:0;
    right:0;
    border:1px solid red;
    width:100px;
    height:100px;
    display:none;
}

.parent-picture:hover .child-picture {
    display:block;
}
<div class="picture-container">
        <img src="https://picsum.photos/200" alt="" class="parent-picture">    
        <img src="https://picsum.photos/200" alt="" class="child-picture">
</div>



    

共有1个答案

邹开畅
2023-03-14

这是因为您使用的是.parent-picture:hover.child-picture,这意味着child-pictureparent-picture中,这不是真的,但是child-picturepicture-container中,您需要使用同级选择器,

相邻同级选择器(+)

通用同级选择器(~)

.picture-container {
    width:300px;
    height:300px;
    float:left;
    position:relative;
}

.parent-picture {
    float:left;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
}

.child-picture {
    position:absolute;
    top:0;
    right:0;
    border:1px solid red;
    width:100px;
    height:100px;
    display:none;
}

.parent-picture:hover + .child-picture {
    display:block;
}
<div class="picture-container">
        <img src="https://picsum.photos/200" alt="" class="parent-picture">    
        <img src="https://picsum.photos/200" alt="" class="child-picture">
</div>
 类似资料:
  • 我在IE上的css悬停有问题。 简化;我基本上有一个容器div,它将在悬停时显示一个小的div,里面有一些标记中选择一个,:hover由于某种原因将不再工作,div将消失。 在chrome/firefox等中尝试此示例以查看所需的结果&然后在IE11中再试一次以查看问题所在。 null null

  • 问题内容: 有时,我可以选择使用CSS元素:悬停或JavaScript onmouseover来控制页面上html元素的外观。考虑以下情况,其中div包装了输入 我希望输入将鼠标光标悬停在div上时更改背景色。CSS方法是 JavaScript方法是 每种方法的优点和缺点是什么?CSS方法是否适用于大多数Web浏览器?JavaScript比CSS慢吗? 问题答案: :hover的问题是IE6仅在链

  • 我被要求为悬停事件中的下拉菜单设置背景颜色。我尝试将class=“page-limit-option”类应用于option元素,但没有成功。我需要创建一个新的样式组件来代替选项吗? 在css文件中: 此处的stackblitz:https://stackblitz.com/edit/angular-style-a-select?file=app/app.component.ts

  • 问题内容: 我有一个带有路径的svg,并且在它们上有css悬停,但是悬停有时会起作用,有时却不起作用。 可能是什么问题? 和CSS 这是小提琴,只需将它们快速悬停即可。 问题答案: 没有填充,因此内部默认情况下不会捕获鼠标事件,因此悬停不会对此做出反应。在所有情况下,将指针事件更改为全部将解决此问题:

  • 问题内容: 我有一个问题是悬停在Firefox中无法使用!它可以在Chrome,IE 9,IE 8和IE 7中运行。有人知道此问题以及如何解决此问题吗? CSS : HTML : 问题答案: 似乎悬停事件没有反馈到跨度。 尝试选择而不是

  • 我想给文本添加颜色。我有更多的短信。因此,我从服务器检索文本颜色,并将文本颜色添加到相应的文本中。我想为文本添加边框,需要在悬停文本时为边框指定相应的文本颜色。 在样式表中,我们可以给出如下悬停: