当前位置 : 主页 > 网页制作 > css >

CSS之前悬停在元素上

来源:互联网 收集:自由互联 发布时间:2021-06-13
我想通过CSS创建星级.当用户将悬停最后一颗星时,那颗星前的所有星星都必须有另一种颜色,例如:我将悬停minStar3,然后minStar1,minStar2和minStar3必须有不同的颜色. i id="minStar1" class="fa fa-s
我想通过CSS创建星级.当用户将悬停最后一颗星时,那颗星前的所有星星都必须有另一种颜色,例如:我将悬停minStar3,然后minStar1,minStar2和minStar3必须有不同的颜色.

<i id="minStar1" class="fa fa-star fa-lg" aria-hidden="true"></i>
<i id="minStar2" class="fa fa-star fa-lg" aria-hidden="true"></i>
<i id="minStar3" class="fa fa-star fa-lg" aria-hidden="true"></i>
<i id="minStar4" class="fa fa-star fa-lg" aria-hidden="true"></i>
<i id="minStar5" class="fa fa-star fa-lg" aria-hidden="true"></i>
您可以使用Flexbox创建它,并使用flex-direction更改元素的顺序:row-reverse.您还可以使用 ~通用兄弟选择器来选择悬停元素之后的所有兄弟元素.

.rating {
  display: inline-flex;
  flex-direction: row-reverse;
}
i {
  width: 20px;
  height: 20px;
  margin: 5px;
  border: 1px solid black;
  transition: all 0.3s ease-in;
}
i:hover ~ i,
i:hover {
  background: black;
}
<div class="rating">
  <i id="minStar1" class="fa fa-star fa-lg" aria-hidden="true"></i>
  <i id="minStar2" class="fa fa-star fa-lg" aria-hidden="true"></i>
  <i id="minStar3" class="fa fa-star fa-lg" aria-hidden="true"></i>
  <i id="minStar4" class="fa fa-star fa-lg" aria-hidden="true"></i>
  <i id="minStar5" class="fa fa-star fa-lg" aria-hidden="true"></i>
</div>
网友评论