Другой значок непрозрачности - PullRequest
0 голосов
/ 03 июня 2018

То, что у меня есть, хорошо.Единственная проблема заключается в том, что я хочу, чтобы изображение sign имело opacity: 0.3 после hover, а star - opacity: 1, что означает полный черный цвет hover.Теперь кажется, что star получает opacity частично из образа sign, и это не нужно (вы видите, что star сероватый. Как исправить?

.div:hover .sign {
  opacity: .3;
}
.div:hover > .sign::before {
  opacity: 1;
}

.div .sign {
  -webkit-transition: all 3.0s ease;
  -moz-transition: all 3.0s ease;
  -o-transition: all 3.0s ease;
  -ms-transition: all 3.0s ease;
  transition: all 3.0s ease;
  position: relative;
}

.div .sign::before {
  content: '\2605';
  font-family: "fontello";
  font-size: 5em;
  color: #fff;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  color: black;
  backface-visibility: hidden:
  -webkit-transition: all 3.0s ease;
  -moz-transition: all 3.0s ease;
  -o-transition: all 3.0s ease;
  -ms-transition: all 3.0s ease;
  transition: all 3.0s ease;
}

.div .sign {
  width: 150px;
  height: 150px;
}
.div .sign img {
  width: 100%;
}
<div id="wrapper">
  <div class="div">
    <div class="sign">
      <img src="http://via.placeholder.com/150x150" alt="">
    </div>
  </div>
</div>

1 Ответ

0 голосов
/ 03 июня 2018

Не применяйте 0.3 непрозрачности к .sign div, потому что это также повлияет на звезду, так как она является частью его содержимого.Вместо этого наведите курсор на изображение:

.div:hover .sign img {
  opacity: .3;
}

.div:hover>.sign::before {
  opacity: 1;
}

.div .sign img {
  transition: all 3.0s ease;
}

.div .sign::before {
  content: '\2605';
  font-family: "fontello";
  font-size: 5em;
  color: #fff;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  color: black;
  transition: all 3.0s ease;
}

.div .sign {
  width: 150px;
  height: 150px;
  position: relative;
}

.div .sign img {
  width: 100%;
}
<div id="wrapper">
  <div class="div">
    <div class="sign">
      <img src="http://via.placeholder.com/150x150" alt="">
    </div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...