あなたのキモチ つなげるカタチ

TOP > CSS > 【CSS】ボーダーが2方向に動いて四角形をつくるラインアニメーションの実装方法/CSS Animation where two lines are square

【CSS】ボーダーが2方向に動いて四角形をつくるラインアニメーションの実装方法/CSS Animation where two lines are square

スポンサーリンク

コーディングテクニックの実装内容

今回はボーダーが2方向に動いて四角形をつくるラインアニメーションの実装方法を紹介します。

実装所要時間:10分程度

CSS,JavaScriptの記述内容

.block {
  width: 300px;
  margin: 70px auto 0;
}
.a {
  position: relative;
  width: 100%;
  height: 300px;
}
.a span {
  position: absolute;
}

.a span:nth-child(1),.a span:nth-child(4) {
  top: 0;
  background-color: #7f7f7f;
  transition: all .9s linear;
}

.a span:nth-child(3),.a span:nth-child(2) {
  left: 0;
  background-color: #7f7f7f;
  transition: all .9s linear;
}

.a span:nth-child(1) {
  left: 0;
  width: 0;
  height: 1px;
  transform-origin: left center;
}

.a span:nth-child(2) {
  top: 0;
  width: 1px;
  height: 100%;
  transform-origin: center top;
  transform: scaleY(0);
}

.a span:nth-child(3) {
  bottom: 0;
  width: 0;
  height: 1px;
  transform-origin: left center;
  transition-delay: .9s;
}

.a span:nth-child(4) {
  right: 0;
  width: 1px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: center top;
  transition-delay: .9s;
}

.block.active .a span:nth-child(3),
.block.active .a span:nth-child(1) {
  width: 100%;
}
.block.active .a span:nth-child(4),
.block.active .a span:nth-child(2) {
  transform: scaleY(1);
}

@media screen and (max-width:640px){
  .block {
    width: 85%;
  }
}

実装のポイント

現在制作中
ボーダーの数だけspanタグを作成。1つ目と3つ目のspanは右方向へのアニメーション。2つ目と4つ目のspanは下方向へのアニメーション。addClassでspanタグにクラスを付与してアニメーションを発火。まずは1つ目と2つ目のspanタグのボーダーが動き、0.9秒後に3つ目と4つ目のspanタグのボーダーが動きます。

おすすめ記事

スポンサーリンク