css 如何调整卡片的响应式设计

9rygscc1  于 2023-01-06  发布在  其他
关注(0)|答案(2)|浏览(130)

我正在为一个网站设计信息卡片,但是在移动终端上浏览时,有些卡片看起来比其他的要大。我该怎么解决这个问题呢?在代码的开头,有CSS,然后是html代码

<style>
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.row {
  display: flex;
  flex-wrap: wrap;
}
.row h1 {
  width: 100%;
  text-align: center;
  font-size: 3.75em;
  margin: 0.6em 0;
  font-weight: 600;
  color: #c49d12;
}
.column {
  padding: 1em;
}
.card {
  padding: 3.1em 1.25em;
  text-align: center;
  background: linear-gradient(0deg, #c49d12 10px, transparent 10px);
  background-repeat: no-repeat;
  background-position: 0 0.62em;
  box-shadow: 0 0 2.5em rgba(139, 118, 32, 0.15);
  border-radius: 0.5em;
  transition: 0.5s;
  cursor: pointer;
}
.card .icon {
  font-size: 2.5em;
  height: 2em;
  width: 2em;
  margin: auto;
  background-color: #c49d12;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
}
.icon:before {
  position: absolute;
  content: "";
  height: 1.5em;
  width: 1.5em;
  border: 0.12em solid #5d4b0b;
  border-radius: 50%;
  transition: 0.5s;
}
.card h3 {
  font-size: 1.3em;
  margin: 1em 0 1.4em 0;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #cda928;
}
.card p {
  line-height: 2em;
  color: #625a71;
}
.card:hover {
  background-position: 0;
}
.card:hover .icon:before {
  height: 2.25em;
  width: 2.25em;
}
@media screen and (min-width: 768px) {
  section {
    padding: 1em 7em;
  }
}
@media screen and (min-width: 992px) {
  section {
    padding: 1em;
  }
  .card {
    padding: 5em 2em;
  }
  .column {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 1em;
  }
}
</style>

    <!-- Font Awesome CDN -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css">
    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&amp;display=swap" rel="stylesheet">
   
    <section>
      <div class="row">
        <h1>Características</h1>
      </div>
      <div class="row">
        <!-- Column One -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-user-friends"></i>
                        </div>
            <h3>Capacidad</h3>
            <p>
             De 500 hasta 1,000 personas.
            </p>
          </div>
        </div>
        <!-- Column Two -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-couch"></i>
                        </div>
            <h3>Mobiliario</h3>
            <p>
             Mobiliario incluido.
            </p>
          </div>
        </div>
        <!-- Column Three -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-glass-cheers"></i>
                        </div>
            <h3>Bebidas</h3>
            <p>
              Refrescos y café
            </p>
          </div>
        </div>
      </div>
      

      <div class="row">
        <!-- Column One -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-money-bill-wave-alt"></i>
                                                            </div>
            <h3>Apartado</h3>
            <p>
             Apartado con $15,000.
            </p>
          </div>
        </div>
        <!-- Column Two -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-utensils"></i>                                    
            </div>
            <h3>Mantelería</h3>
            <p>
              Mantelería, cubertería y vajilla.
            </p>
          </div>
        </div>
        <!-- Column Three -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-wine-bottle"></i>
                                    </div>
            <h3>Alcohol</h3>
            <p>
              Descorche libre.
            </p>
          </div>
        </div>
      </div>


      <div class="row">
        <!-- Column One -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-money-bill"></i>
                                                                        </div>
            <h3>Liquidación</h3>
            <p>
              Liquidar 20 días antes del evento
              </p>
          </div>
        </div>
        <!-- Column Two -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-lightbulb"></i>
                        </div>
            <h3>Iluminación</h3>
            <p>
              Videos musicales,iluminación y robótica.
            </p>
          </div>
        </div>
        <!-- Column Three -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-user-check"></i>
                                                </div>
            <h3>Personal</h3>
            <p>
              Mesero, personal y maestro de ceremonias.
            </p>
          </div>
        </div>
      </div>

      <div class="row">
        <!-- Column One -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-comments-dollar"></i>
                                                                                    </div>
            <h3>Mensualidades.</h3>
            <p>
              Manejamos los mejores precios a mensualidades.
            </p>
          </div>
        </div>
        <!-- Column Two -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fab fa-black-tie"></i>
                                    </div>
            <h3>Entretenimiento</h3>
            <p>
              DJ y batucada.
            </p>
          </div>
        </div>
        <!-- Column Three -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-fan"></i>
                                                            </div>
            <h3>Florería</h3>
            <p>
              Centro de flores
            </p>
          </div>
        </div>
      </div>

      <div class="row">
        <!-- Column One -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-user-clock"></i>
                                                                                                </div>
            <h3>Servicio.</h3>
            <p>
              Servicio hasta por 5hrs.
            </p>
          </div>
        </div>
        <!-- Column Two -->
        <div class="column">
          <div class="card">
            <div class="icon">
              <i class="fas fa-cloud-meatball"></i>
                                                </div>
            <h3>Menú</h3>
            <p>
              Menú a 3 tiempos
            </p>
          </div>
        </div>
       
      </div>
    </section>

第一节第一节第一节第一节第一次
我尝试编辑媒体查询的某些值,但没有看到任何显著的变化。

cetgtptt

cetgtptt1#

牌"Entretenimiento"有最宽的标题(h3),这使得它的牌在这一堆牌中最宽。实际上,它的.columns容器比其他的容器伸展得更宽。牌"Mensualidades"也是如此。
我在CSS中添加了以下代码:

.column {
    flex: 1;                        /* allow to fill parent width */
    min-width: min(15.25rem, 100%); /* at least 15.25rem, 100% when less space available*/
}
.card { height: 100% }              /* Stretch to fill parent height */
  • h3临时更改为width: max-content,以使用 * DevTools * 查找最宽的h3
  • 最小卡片宽度= 15.25rem =(最宽h3的~172px)加上(2 x 1.25em卡片填充)加上(2 x 1rem列填充)= (172px + 40px + 32px) / 16 = 15.25rem

无论是移动设备还是台式机,您都不会在任何地方更改h3 { font-size: 1.3em },这意味着上面的15.25rem是一张卡在所有设备上保持所有卡大小相同所需的最小空间。
根据您希望在设备上的单行中的卡的数量,您将不得不摆弄每个设备类型的h3字体大小,并根据您的要求修改上面的15.25rem

    • 片段**

x一个一个一个一个x一个一个二个x

nuypyhwy

nuypyhwy2#

在这种情况下,你也必须定义一个min-heightmax-heightmin-widthmax-width取决于你试图控制的维度。因为内容是动态的&同样的,你可能在内容中的任何图像。尝试通过使用上述样式,你会得到你需要的。

相关问题