【问题标题】:css style is not setting back after h:overcss 样式在 h:over 后没有设置
【发布时间】:2015-09-02 15:58:43
【问题描述】:

在我的应用程序中,我有以下代码。

.test>div {
    display: none;
}
.test:hover>div {
    background-color: red;
    display: inline-block;
    z-index: 9999;
    height: 100px;
}

当我将鼠标悬停在测试时,会打开一个弹出窗口,而 mouseout 会隐藏它。

但是在 mouseover 和 mouseout 之后,.test:hover>div 仍然保留而不是隐藏。当我检查元素时,即使在鼠标移出 .test 之后,.test:hover>div 仍然处于活动状态。

CSS child selector (>) doesn't work with IE 在上面的链接中,css 选择器无法选择,但在这里它选择并且之后没有应用任何其他样式。 这在除 IE8 之外的所有浏览器中都可以正常工作。

【问题讨论】:

  • 尝试 .test > div:hover
  • 你用的是什么浏览器?这对我来说可以。 jsfiddle.net/jwfbq41s
  • 它的工作,我尝试检查 IE Tester IE8,9,10..
  • 在问题中提供 html 并复制您的错误。以目前的形式,我们无法使用您当前的代码复制任何内容

标签: javascript css


【解决方案1】:

我做了一个例子,显示:none 不是一个好主意,因为 div 已从 dom 中删除。 mozilla的解释:关闭元素的显示(对布局没有影响);所有后代元素的显示也会关闭。文档呈现为好像该元素不存在。

然后我使用背景:透明到元素存在,但你可以尝试可见性。

这是我的 HTML:

<div class="test">
    <div></div>
</div>

还有我的 CSS:

.test{
    float:left;
    position:relative;
    width:100px;
    height:100px;
    border:solid 1px;
}

.test > div{
    float:left;
    position:relative;
    width:50px;
    height:50px;
    background-color:transparent;
}

.test > div:hover{

    background-color:red;
}

以及在 jsfiddle 工作的示例:https://jsfiddle.net/xukLc5h1/

【讨论】:

  • 我想在鼠标悬停和鼠标悬停测试时显示和隐藏一个 div。在这里,当鼠标悬停在 .test >div 上时,您正在更改
  • 解释清楚,你想在鼠标悬停时显示一个div,在鼠标移出时隐藏一个div?
  • 反转 div 和 div:hover 的背景颜色。见这里:jsfiddle.net/5qgouxLp
  • 是的。我想在鼠标悬停时显示一个 div 并在鼠标悬停时隐藏一个 div
  • 我应用了同样的概念。悬停时显示:inline-block 否则显示:无
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 2022-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
相关资源
最近更新 更多