我的页面中有3张卡片,它们排列在一个网格中.

其他两个项目是相同的,只是图标和文本不同.

卡片应该具有以下属性:

  1. 呈正方形
  2. 将图标放在中间上方
  3. 使卡片标题位于图标下方居中
  4. 使cardText位于该位置下方居中
  5. 做出react

经过多次修改,我用下面的css获得了从1到4的分数.

    .cardsWrapper {
        display: grid;
        gap: 1rem;

        margin-top: 1em;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }

    .cardWhite {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: white;
        color: black;
        box-shadow: rgba(3, 8, 20, 0.1) 0px 0.15rem 0.5rem, rgba(2, 8, 20, 0.1) 0px 0.075rem 0.175rem;

        width: 100%;
        border-radius: 10px;
        transition: all 500ms;
        overflow: hidden;

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;

        height: 0;
        padding-top: 100%;
        position: relative;

    }

    .cardContent {
        position: absolute;
        top: 0;
        left: 0;
        display: grid;
        place-items: center;
    }

    .icon {
        height: 150px;
        color: black;
    }

    .cardHeadline {
        font-family: 'Poppins';
        font-size: 4vh;
        font-weight: 600;
        text-decoration: none;
        line-height: 50px;
        text-align: center;
        color: black;
    }

    .cardText {
        font-size: 3vh;
        color: #555555;
        text-decoration: none;
        text-align: center;
        margin-top: 1em;
    }
<section class="cardsWrapper container">
  <div class="cardWhite hidden">
    <div class="cardContent container">
        <img class="icon" src="https://cdn.icon-icons.com/icons2/2596/PNG/512/check_one_icon_155665.png"/>
        <a class="cardHeadline">Seamless<br/>working</a>
        <a class="cardText">Thanks to cloud computing</a>
    </div>
  </div>
    <div class="cardWhite hidden">
    <div class="cardContent container">
        <img class="icon" src="https://cdn.icon-icons.com/icons2/2596/PNG/512/check_one_icon_155665.png"/>
        <a class="cardHeadline">Seamless<br/>working</a>
        <a class="cardText">Thanks to cloud computing</a>
    </div>
  </div>
    <div class="cardWhite hidden">
    <div class="cardContent container">
        <img class="icon" src="https://cdn.icon-icons.com/icons2/2596/PNG/512/check_one_icon_155665.png"/>
        <a class="cardHeadline">Seamless<br/>working</a>
        <a class="cardText">Thanks to cloud computing</a>
    </div>
  </div>
</section>

当我调整大小时,文本和图标没有相应地调整大小,我不知道如何实现所需的行为.我如何构建我的卡,让他们完全响应?

推荐答案

如果您想要在更改屏幕宽度时做出响应,则需要使用VW而不是PX和VH.

VH表示视区高度,因此如果使用VW进行设置:

.cardText{ 
   font-size: 3vw;
}

当你使用VH时,这意味着只有当你改变屏幕高度时,它才会响应.

对于图标,您需要设置:

.icon {
   height: 10vw;
}

使用PX完全没有react .它是静态的.

把所有的车换成大众就行了.

此外,还可以考虑在某些情况下使用media queries.

Html相关问答推荐

Flexbox嵌套div溢出

Tailwincss:自动设置网格高度

子元素以元素X开始和结束的元素的XPath?

通过POST方法提交html表单时CSV文件无法通过(在使用Django的上下文中)

使用无限数量的元素创建特定的CSS网格

MatSnackBar: colored颜色 不起作用

当我关闭时,导航栏跳到了新的生产线

更改Angular 为17的material Select 字段的高度?

元素offsetTop在滚动容器中时没有更改

如何在ASP.NET Core中添加换行符

如何使单选按钮在被 Select /选中时看起来像这样的设计?

视频重新加载而不是在 Swift 中暂停 WKWebView

为什么我的网页显示网格区域彼此相邻,而不是我设置它们的方式?

使用 popover api 和 `

悬停时宽度从 0 过渡到自动

获取链接到功能的网页表单

将图像高度调整到容器 div 中而不使其高度增加

如何将 img 元素定位到特定位置?

当另一个 div 的高度改变或执行其内容的换行时,将 flex 方向更改为列

所有幻灯片上的 Quarto RevealJS 标题