【问题标题】:On increasing the height of flex card increases its parallel flexcards增加弹性卡的高度会增加其平行弹性卡
【发布时间】:2021-03-15 20:34:06
【问题描述】:

用例:当卡片悬停时,它的宽度和高度应该增加,其他卡片应该保持原样,城市名称应该可见。

在下面的链接中,卡片列表中的城市最初是隐藏的,只有在卡片悬停时才能看到该位置

当卡片悬停时,城市变得可见并且卡片高度增加。

但是其他卡片的高度也随着这张卡片的增加而增加,这扭曲了布局。它们的高度不应增加。

解决此案的任何见解。

你可以使用模板。

.card-collection {
  display: flex;
  flex-wrap: wrap;
  margin: 30px
}

.card {
  display: flex;
  flex-direction: row;
  border: 1px solid red;
}

.card:hover {
  transform: scale(2);
  position: initial;
  z-index: 111;
  background: #fff;
}

.card p {
  display: none;
}

.card:hover p {
  display: block;
}
<div class="card-collection">

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>
  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Ravi </h5>
      <p>Chennai</p>
    </div>
  </div>

  <div class="card">
    <div class="card-body">
      <h5 class="text-center"> Aravind </h5>
      <p>Chennai</p>
    </div>
  </div>


</div>

``

【问题讨论】:

    标签: css flexbox transition css-transforms card


    【解决方案1】:

    如果您不希望它占用空间,您可能必须有一个单独的 div,在悬停时绝对定位:

    .card-collection {
      display: flex;
      flex-wrap: wrap;
      margin: 30px
    }
    
    .card {
      display: flex;
      flex-direction: row;
      border: 1px solid red;
      position: relative;
    }
    
    .hover {
      display: none;
    }
    
    .card:hover .hover {
      display: block;
      transform: scale(2);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 111;
      background: #fff;
      border: 1px solid red;
    }
    <div class="card-collection">
    
      <div class="card">
        <div class="card-body">
          <h5 class="text-center"> Aravind </h5>
          <div class="hover">
            <h5 class="text-center"> Aravind </h5>
            <p>Chennai</p>
          </div>
        </div>
      </div>
    
      <div class="card">
        <div class="card-body">
          <h5 class="text-center"> Ravi </h5>
          <div class="hover">
            <h5 class="text-center"> Ravi </h5>
            <p>Chennai</p>
          </div>
        </div>
      </div>
    
      <div class="card">
        <div class="card-body">
          <h5 class="text-center"> Aravind </h5>
          <div class="hover">
            <h5 class="text-center"> Aravind </h5>
            <p>Chennai</p>
          </div>
        </div>
      </div>
      <div class="card">
        <div class="card-body">
          <h5 class="text-center"> Aravind </h5>
          <div class="hover">
            <h5 class="text-center"> Aravind </h5>
            <p>Chennai</p>
          </div>
        </div>
      </div>
    
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多