一副纸牌的网格布局

时间:2021-01-11 20:50:53

标签: html css css-grid

我一直在玩网格。我不太擅长 CSS,更不用说网格布局了。我让它工作,但它不太正确。并且可以,因为某些屏幕尺寸相互重叠并且看起来不太好。

它们实际上是带有图像的按钮。我希望他们肩并肩,反应迅速。类似这样的东西(使用 [] 代表一张卡片)。

[] [] [] [] [] []
[] []

一行上的卡片数量会根据屏幕宽度进行调整。

在 Codepen 上,它们是重叠的。在我的 WordPress 网站上,它们是并排的,但尺寸仍然存在问题。另外,如果 flex 更好/更容易,我不会被锁定到网格。

.btn-block {
  opacity: 0.2;
  margin: 10px 0;
}

.btn-default {
  border: none;
  background: none;
  display: inline-block;
  height: 200px;
  margin: 4px;
  padding: 0;
  width: auto;
}

.btn-default:hover {
  background: none;
}

.card-oracle-cards {
  display: grid;
  grid-gap: .5rem;
  grid-auto-rows: min-content;
  padding: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

.card-oracle-card {
  perspective: 300px;
  width: auto;
  height: 200px;
}

.card-oracle-card-body {
  width: 100%;
  height: 100%;
  -webkit-transition: transform 1s;
  transition: transform 1s;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  position: relative;
}

.card-oracle-card-body.is-flipped {
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
  transform: rotateY( 180deg);
}

.card-oracle-back,
.card-oracle-front,
.card-oracle-front-reverse {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  width: 100%;
}

.card-oracle-front,
.card-oracle-front-reverse {
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.card-oracle-front-reverse {
  -moz-transform: rotateX(180deg);
  -ms-transform: rotateX(180deg);
  -o-transform: rotateX(180deg);
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.card-oracle-back:hover {
  background: white;
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  transition: transform .2s;
  /* Animation */
}

.card-oracle-img-btn {
  background: none;
  display: block;
  height: 100%;
  width: 100%;
}

.card-oracle-rotate-image {
  -moz-transform: rotateX(180deg);
  -ms-transform: rotateX(180deg);
  -o-transform: rotateX(180deg);
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}
<h2>Select 3 cards.</h2>
<div class="card-oracle-cards">
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3899" id="id3899" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3899" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor02-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3917" id="id3917" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3917" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor04-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3998" id="id3998" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3998" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor13-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3908" id="id3908" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3908" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor03-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3980" id="id3980" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3980" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor11-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="4043" id="id4043" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back4043" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor18-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3989" id="id3989" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3989" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor12-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="4061" id="id4061" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back4061" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor20-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3935" id="id3935" data-value="3935" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3935" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front-reverse"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor06-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3953" id="id3953" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3953" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor08-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="3881" id="id3881" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back3881" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor00-6.jpg"></div>
    </div>
  </div>
  <div class="card-oracle-card">
    <div class="card-oracle-card-body">
      <div class="card-oracle-back"><button type="button" value="4025" id="id4025" data-value="4025" onclick="this.disabled = true;" class="btn btn-default clicked"><img id="back4025" src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesdemo_card_back-6.png" alt="back of card"></button></div>
      <div class="card-oracle-front-reverse"><img src="https://cuspstudios.com/wp-content/uploads/2020/10/assetsimagesmajor16-6.jpg"></div>
    </div>
  </div>
</div>

0 个答案:

没有答案