悬停对css

时间:2017-10-18 14:29:25

标签: html css hover

我希望对跟随html类

中的所有元素都有悬停效果

HTML

.wrapper:hover {
  color: white;
}
<div class="wrapper">
  <i class="fa fa-icon"> </i>
  <h4> Headertext </h4>
  <p> Some content text </p>
  <p> <a href="url"> text </a> </p>
</div>

悬停适用于文字。问题是,我不能告诉所有元素,如图标或标题,同时采取悬停效果。

5 个答案:

答案 0 :(得分:0)

你将它们像这样级联:

.wrapper:hover i,
.wrapper:hover h4,
.wrapper:hover p,
.wrapper:hover p {
   // some css here
}

顺便说一句,这就是为什么像SASS和LESS这样的预处理器很有用,因为你可以用这种方式声明你的块:

.wrapper {
  &:hover {
    i {
      // some css here
    }
    h4 {
      // some css here
    }
    p {
      // some css here
    }
  }
}

这意味着你只需要描述一次悬停状态,然后可以将各种疯狂的风格链接到孩子身上。

答案 1 :(得分:0)

您可以使用child combinator和*选择器

定位所有子节点
.wrapper:hover > * {
  color: white;
}

或针对个别目标:

.wrapper:hover > p {
  color: white;
}

或不太严格的descendant combinator

.wrapper:hover p {
  color: white;
}

无论哪种方式,要在悬停在父级上方时影响后代,必须使用父级上的:hover选择器,然后选择后代。

答案 2 :(得分:0)

这是由于CSS规则中的一些优先级,所以为了解决这个问题,你需要逐个触发所有元素:

&#13;
&#13;
h4,
p {
  color: red;
}

.wrapper:hover p,
.wrapper:hover a,
.wrapper:hover h4 {
  color: white;
}
&#13;
<div class="wrapper">
  <i class="fa fa-icon"> </i>
  <h4> Headertext </h4>
  <p> Some content text </p>
  <p> <a href="url"> text </a> </p>
</div>
&#13;
&#13;
&#13;

您也可以使用(*)同时触发所有元素,但如果您在包装器中有更多元素,则不建议使用

.wrapper:hover *{
  color: white;
}

答案 3 :(得分:0)

到目前为止,非常感谢。

我几乎完美地工作。我只有一个问题:

我试过这段代码:

.wrapper:hover i,
.wrapper:hover h4,
.wrapper:hover a,
.wrapper:hover p {
color: white
}

它有效。

但如果尝试使用背景颜色,它不起作用:

代码

.wrapper:hover i,
    .wrapper:hover h4,
    .wrapper:hover a,
    .wrapper:hover p {
    color: white
    }

.wrapper:hover {
background-color:blue;
}

答案 4 :(得分:-1)

&#13;
&#13;
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
    $(document).ready(function () {
      
        $(".wrapper").hover(function () {
            $(".wrapper").css("color", "white");
            $(".txt").css("color", "white");
        });
    });
</script>
</head>
<body>

<div class="wrapper">
  <i class="fa fa-icon"> </i>
  <h4> Headertext </h4>
  <p> Some content text </p>
  <p> <a class="txt" href="url"> text </a> </p>
</div>
</body>
</html>
&#13;
&#13;
&#13;