Как исправить проблемы с z-index в макетах flexbox и абсолютном позиционировании? - PullRequest
0 голосов
/ 28 января 2019

Я сталкиваюсь с некоторыми z-index проблемами в моем CSS, когда некоторые из моих блоков заменяются другим кодом.

Я попытался установить z-index в 9999 для различных блоков, чтобы увидеть,Я мог бы получить :hover элементов, которые будут выведены на вершину <div>, но замечание сработало.

Я не уверен, является ли это случаем flexbox или мое абсолютное позиционирование вызывает проблемы.

.fav-list {
  display: flex;
  flex-wrap: wrap;
  margin: 2px;
}

.fav-list .fav-item {
  margin: 2px;
  background-color: violet;
  position: relative;
  z-index: 1;
}

.fav-list .fav-item i {
  display: block;
  background-color: lightblue;
}

.fav-list .fav-item a {
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.fav-list .placeholder {
  flex-grow: 100;
  flex-basis: 240px;
  height: 0;
  margin: 0;
}

.fav-list .fav-item .info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  pointer-events: none;
  min-height: 50px;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.75) 100%);
  transition: opacity 0.2s;
  padding: 10px;
  z-index: 9999;
}

.fav-list .fav-item:hover .info {
  opacity: 1;
}

.fav-list .fav-item .info .user {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  transition: all 0.2s;
}

.fav-list .fav-item:hover .info .user {
  bottom: 10px;
}

.fav-list .fav-item .info a {
  width: 30px;
  height: 30px;
  vertical-align: middle;
  transition: opacity 0.2s;
  position: relative;
  float: left;
  margin: 0 10px 0 0;
}

.fav-list .fav-item .info a img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 50%;
}

.fav-list .fav-item .info span {
  display: inline-block;
  line-height: 30px;
  color: #fff;
  float: left;
  position: relative;
}

.fav-list .fav-item .info span a {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}
<div class="fav-list ng-scope" ng-controller="Ctrl">
  <!-- ngRepeat: img in imgs -->
  <div class="fav-item ng-scope" ng-repeat="img in imgs" style="flex-grow:133.33333333333334;flex-basis:320px;">
    <i style="padding-bottom:75%"></i>
    <a href="#" style="background-image:url(https://xieranmaya.github.io/images/cats/photo-23583825.jpg)"></a>
    <div class="info">
      <div class="user">
        <a class="avatar" href="https://jsfiddle.net/user/zeropsi/fiddles/">
          <img src="https://www.gravatar.com/avatar/a358489520ba580129e088aef3a690ee?s=80">
        </a>
        <span>
            <a href="https://jsfiddle.net/user/zeropsi/fiddles/">zeropsi</a>
          </span>
      </div>
    </div>
  </div>
  <!-- end ngRepeat: img in imgs -->
  <div class="fav-item ng-scope" ng-repeat="img in imgs" style="flex-grow:150;flex-basis:360px;">
    <i style="padding-bottom:66.66666666666666%"></i>
    <a href="#" style="background-image:url(https://xieranmaya.github.io/images/cats/stock-photo-132046989.jpg)"></a>
    <div class="info">
      <div class="user">
        <a class="avatar" href="https://jsfiddle.net/user/zeropsi/fiddles/">
          <img src="https://www.gravatar.com/avatar/a358489520ba580129e088aef3a690ee?s=80">
        </a>
        <span>
            <a href="https://jsfiddle.net/user/zeropsi/fiddles/">zeropsi</a>
          </span>
      </div>
    </div>
  </div>
  <!-- end ngRepeat: img in imgs -->
  <div class="fav-item ng-scope" ng-repeat="img in imgs" style="flex-grow:149.36519790888724;flex-basis:358.4764749813294px;">
    <i style="padding-bottom:66.95%"></i>
    <a href="#" style="background-image:url(https://xieranmaya.github.io/images/cats/stock-photo-132118343.jpg)"></a>
    <div class="info">
      <div class="user">
        <a class="avatar" href="https://jsfiddle.net/user/zeropsi/fiddles/">
          <img src="https://www.gravatar.com/avatar/a358489520ba580129e088aef3a690ee?s=80">
        </a>
        <span>
            <a href="https://jsfiddle.net/user/zeropsi/fiddles/">zeropsi</a>
          </span>
      </div>
    </div>
  </div>
  <!-- end ngRepeat: img in imgs -->
  <div class="fav-item ng-scope" ng-repeat="img in imgs" style="flex-grow:150.9433962264151;flex-basis:362.2641509433962px;">
    <i style="padding-bottom:66.25%"></i>
    <a href="#" style="background-image:url(https://xieranmaya.github.io/images/cats/stock-photo-79250373.jpg)"></a>
    <div class="info">
      <div class="user">
        <a class="avatar" href="https://jsfiddle.net/user/zeropsi/fiddles/">
          <img src="https://www.gravatar.com/avatar/a358489520ba580129e088aef3a690ee?s=80">
        </a>
        <span>
            <a href="https://jsfiddle.net/user/zeropsi/fiddles/">zeropsi</a>
          </span>
      </div>
    </div>
  </div>
  <!-- end ngRepeat: img in imgs -->
  <div class="fav-item ng-scope" ng-repeat="img in imgs" style="flex-grow:150.03750937734435;flex-basis:360.0900225056264px;">
    <i style="padding-bottom:66.64999999999999%"></i>
    <a href="#" style="background-image:url(https://xieranmaya.github.io/images/cats/stock-photo-21964829.jpg)"></a>
    <div class="info">
      <div class="user">
        <a class="avatar" href="https://jsfiddle.net/user/zeropsi/fiddles/">
          <img src="https://www.gravatar.com/avatar/a358489520ba580129e088aef3a690ee?s=80">
        </a>
        <span>
            <a href="https://jsfiddle.net/user/zeropsi/fiddles/">zeropsi</a>
          </span>
      </div>
    </div>
  </div>
  <!-- end ngRepeat: img in imgs -->
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...