如何在仅使用 CSS 加载时缩放元素?

How to scale an element when it loads using only CSS?

我正在加载一个初始 css 值为 :

的元素
.popOver {
  height: 100%;
  width: 100%;
  position: fixed;
  background-color: #d9dfe5;
  transition: all 2s ease-in-out; 
  transform: scale(0,0); 
}

当元素加载到页面中并查看过渡时,我需要更改为 scale(1, 1)。有人可以帮忙吗?

transition 将在您加载页面时应用,因此在您的情况下这不是理想的解决方案,您需要的是 CSS @keyframes 您需要设置 scale(0,0)class 然后 scale(1,1)100% 因为 关键帧 将在页面完全加载后拍摄。

Demo (稍微重构了代码并添加了 animation-fill-mode 以防止弹出窗口缩小到 0 所以使用版本 2)

.popOver {
    height: 100%;
    width: 100%;
    position: fixed;
    background-color: #d9dfe5;
    -webkit-animation: bummer 2s;
    animation: bummer 2s;
    -webkit-transform: scale(0,0); 
    transform: scale(0,0);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards; /* Add this so that your modal doesn't 
                                      close after the animation completes */
}

@-webkit-keyframes bummer {
    100% {
        -webkit-transform: scale(1,1); 
    }
}

@keyframes bummer {
    100% {
        transform: scale(1,1); 
    }
}

正如我之前解释的那样,我将元素的初始比例设置为 0,0,然后使用关键帧将其动画化为 1,1。动画的时间可以通过调整 2s 来控制,它只是 2 秒 .