欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何在CSS中制作對角線無旋轉生長的動畫?

阮建安1年前7瀏覽0評論

我正在制作一個動畫,我希望對角線從初始高度的0%增長到100%,沒有任何旋轉。目前,我有以下CSS代碼:

超文本標記語言

<div class="stripes-1">
         <span class="rec-1"></span>
         <span class="rec-1"></span>
         <span class="rec-1"></span>
         <span class="rec-1"></span>
      </div>

半鑄鋼?鋼性鑄鐵(Cast Semi-Steel)

.who-we-are {
  height: 100vh;
  margin: auto;
  padding: auto;
}

.stripes-1 {
  display: flex;
  flex-direction: column;
}

.rec-1 {
  transform: scaleX(100%) rotate(40deg);
  animation: expandHeight 1s ease-in-out forwards;
  width: 72.5%;
  margin: 1rem 0;
  animation: appearUp 1.5s linear;
  transition: ease-in ;
  position: relative;
  left: 500px;
  top: 350px;
}

@keyframes appearUp{
  0%{
    transform:scaleX(0) rotate(0deg);
  } 
  100%{
    transform: scaleX(100%) rotate(40deg);
  } 
    
    
}

.rec-1:nth-of-type(1){
  border-bottom: 30px solid #1DCDFE;
}

.rec-1:nth-of-type(2) {
    border-bottom: 30px solid #11FFC4;
}

.rec-1:nth-of-type(3) {
    border-bottom: 30px solid #21D0B2;
}

.rec-1:nth-of-type(4) {
    border-bottom: 30px solid #2F455C;
}

問題是,在動畫過程中,線條不僅會增長,還會旋轉。但是,我希望它們保持40度的初始角度,垂直生長。我已經嘗試調整transform-origin屬性并添加單獨的動畫,但我無法獲得想要的結果。

有人能指導我如何修改CSS動畫,使線條從40度的初始角度開始增長,而不旋轉嗎?

更新的HTML和CSS

# # #此變換:scaleX(100%)旋轉(40度);和這個變換:旋轉(40度)scaleX(100%);-這不是一回事。

body {
  display: grid;
  min-height: 100vh;
  align-items: end;
  overflow: hidden;
  margin: 0;
}

.rec-1 {
  transform-origin: right bottom;
  margin: 1rem 0;
  animation: appearUp 1.5s linear both;
  transform: rotate(40deg) scaleX(0);
}

@keyframes appearUp {
  to {
    transform: rotate(40deg) scaleX(100%);
  }
}

.rec-1:nth-of-type(1) {
  border-bottom: 30px solid #1DCDFE;
}

.rec-1:nth-of-type(2) {
  border-bottom: 30px solid #11FFC4;
}

.rec-1:nth-of-type(3) {
  border-bottom: 30px solid #21D0B2;
}

.rec-1:nth-of-type(4) {
  border-bottom: 30px solid #2F455C;
}

<div class="rec-1"></div>
<div class="rec-1"></div>
<div class="rec-1"></div>
<div class="rec-1"></div>

# # #要修改CSS動畫并使線條從40度的初始角度開始增長而不旋轉,您可以調整關鍵幀動畫中的變換屬性。這是您的CSS代碼的更新版本:

.rec-1 {
  position: relative;
  width: 80%;
  margin: 1rem 0;
}

.rec-1::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 30px;
  transform: scaleX(0);
  transform-origin: left bottom;
  background-color: #1DCDFE;
  animation: line-growth 1.5s linear;
  transition: ease-in;
}

.rec-1:nth-of-type(2)::before {
  background-color: #11FFC4;
}

.rec-1:nth-of-type(3)::before {
  background-color: #21D0B2;
}

.rec-1:nth-of-type(4)::before {
  background-color: #2F455C;
}

@keyframes line-growth {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

在這個更新的代碼中,我們使用::before偽元素來創建增長行。我們設定…的位置。rec-1 to relative為偽元素創建定位上下文。

::before偽元素的位置為:absolute,位于的左下角。rec-1使用底部:0和左側:0。它的初始寬度設置為0,高度設置為30px,以匹配您指定的邊框粗細。

我們使用transform: scaleX(0)最初將偽元素的寬度縮放為0,有效地隱藏了它。通過設置變換-原點:左下角,我們確保從左下角開始生長。

使用animation:line-growth 1.5s linear應用動畫,其中line-growth是關鍵幀動畫的名稱,1.5s是持續時間。我們將其設置為線性,以實現一致的增長率。

每個。rec-1元素指定了不同的背景色,以匹配您在原始代碼中設置的樣式。

通過這些修改,線條將從左下角開始垂直增長,而不會旋轉。根據需要隨意調整寬度、高度、顏色和動畫屬性。