ホームページ  >  記事  >  ウェブフロントエンド  >  新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。

新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。

青灯夜游
青灯夜游転載
2022-01-10 19:33:492603ブラウズ

新年を祝う時期になりました。次の記事では、CSS でランタンを描画し、アニメーション効果を追加して、ランタンが左右に揺れる効果を実現する方法を説明します。皆さんの参考になれば幸いです。

新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。

新年ですよ~新年ですよ~新年ですよ~

旧年に別れを告げ、新年を迎えます、春です提灯と色とりどりの飾りでお祭り~

金鶏が踊り新年に祝福を送ります~

記事の最初の数歌詞だけで急にお祭り気分になります。これ。

新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。

animation 属性

ランタンの描画 静的なランタンを描画することはできません。まず、CSS の animation 属性を確認しましょう。これは、 animation-nameanimation-durationanimation-timing-functionanimation-delay、# で構成される短縮属性です。 ##animation-iteration-countanimation-directionanimation-fill-mode、および animation-play-state 属性。ここでは説明しませんが、MDN で詳細を確認できます。

まず次の例を見てみましょう:

animation: swing 3s infinite ease-in-out;

上の例では、

swing という名前のアニメーション シーケンスが使用されており、アニメーション シーケンスは @ を渡します。 keyframes が作成され、実行時間は 3s、アニメーションはループで実行され、最後の ease-in-out はアニメーション実行のリズムを示します。

実装アイデア

  • 長方形に

    border-radius を追加して、ランタンの形状を形成します。

  • ::before::after を長方形に追加して、ランタンの上部と頭部を形成します

  • ランタンの線を描きます。

  • 長方形の内側に 2 つの細い長方形を追加し、border-radius を追加してランタンの線を形成します。

  • ランタンのアニメーション効果を設定します

  • ランプ スパイクのスタイルを追加します

次に段階的に実装していきます。

ランタンの形状の描画

最初に HTML 構造を定義します。コードは次のとおりです。

<!-- 灯笼容器 -->
<div class="lantern-con">
  <!-- 提着灯笼的线 -->
  <div class="lantern-line"></div>
  <!-- 灯笼主要区域 -->
  <div class="lantern-light">
  </div>
</div>

次に、楕円を描画し、

を渡します。 ::before::after で、ランタンの上部と下部のカバーを描画します。CSS は次のとおりです:

/* 灯笼容器 */
.lantern-con {
  position: fixed;
  left: 160px;
}

/* 灯笼中间红色区域 */
.lantern-light {
  position: relative;
  width: 120px;
  height: 90px;
  background-color: red;
  margin: 30px;
  border-radius: 50%;
  box-shadow: -5px 5px 50px 4px #fa6c00;
  /* 设置旋转点 */
  transform-origin: top center;
  animation: swing 3s infinite ease-in-out;
}

/* 灯笼顶部和底部的样式 */
.lantern-light::before,
.lantern-light::after {
  content: &#39;&#39;;
  position: absolute;
  border: 1px solid #dc8f03;
  width: 60px;
  height: 12px;
  /* 背景渐变 */
  background: linear-gradient(
    to right,
    #dc8f03,
    #ffa500,
    #dc8f03,
    #ffa500,
    #dc8f03
  );
  left: 30px;
}

/* 顶部位置 */
.lantern-light::before {
  top: -7px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

/* 底部位置 */
.lantern-light::after {
  bottom: -7px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

/* 提着灯笼的线的样式 */
.lantern-line {
  width: 2px;
  height: 50px;
  background-color: #dc8f03;
  position: absolute;
  left: 88px;
}
/* 灯笼的动画效果 */
@keyframes swing {
  0% {
    transform: rotate(-6deg);
  }

  50% {
    transform: rotate(6deg);
  }

  100% {
    transform: rotate(-6deg);
  }
}

これで、比較的基本的なランタンの形状が実装されました。

新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。

ランタンの内部線

ランタンの内部線は2つの長方形で実現されており、#で楕円に設定します。 ##border-radius

プロパティを使用して、エッジを描画してランタンの線を表示します。 <pre class="brush:html;toolbar:false;">&lt;div class=&quot;lantern-light&quot;&gt; &lt;!-- 灯笼中间的线条 --&gt; &lt;div class=&quot;lantern-circle&quot;&gt; &lt;div class=&quot;lantern-rect&quot;&gt; &lt;!-- 灯笼中间的文字内容 --&gt; &lt;div class=&quot;lantern-text&quot;&gt;灯笼&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;</pre>対応する CSS は次のとおりです:

/* 灯笼中间的线条 */
.lantern-circle,
.lantern-rect {
  height: 90px;
  border-radius: 50%;
  border: 2px solid #dc8f03;
  background-color: rgba(216, 0, 15, 0.1);
}

/* 外层 */
.lantern-circle {
  width: 100px;
  margin: 12px 8px 8px 10px;
}

/* 内层 */
.lantern-rect {
  margin: -2px 8px 8px 26px;
  width: 45px;
}

/* 文字样式 */
.lantern-text {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  color: #dc8f03;
  margin-top: 4px;
}

効果は次のとおりです:

新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。Lantern Spike

さあ、ランタン スパイクを描いてみましょう。これは比較的単純です。最も重要なことは、アニメーション効果を追加することです。HTML 構造は次のとおりです:

<!-- 灯笼主要区域 -->
<div class="lantern-light">
  <!-- more code -->
  <!-- 灯笼穗 -->
  <div class="lantern-tassel-top">
    <div class="lantern-tassel-middle"></div>
    <div class="lantern-tassel-bottom"></div>
  </div>
</div>

CSS は次のとおりです:

/* 灯穗 */
.lantern-tassel-top {
  width: 5px;
  height: 20px;
  background-color: #ffa500;
  border-radius: 0 0 5px 5px;
  position: relative;
  margin: -5px 0 0 59px;
  /* 让灯穗也有一个动画效果 */
  animation: swing 3s infinite ease-in-out;
}

.lantern-tassel-middle,
.lantern-tassel-bottom {
  position: absolute;
  width: 10px;
  left: -2px;
}

.lantern-tassel-middle {
  border-radius: 50%;
  top: 14px;
  height: 10px;
  background-color: #dc8f03;
  z-index: 2;
}

.lantern-tassel-bottom {
  background-color: #ffa500;
  border-bottom-left-radius: 5px;
  height: 35px;
  top: 18px;
  z-index: 1;
}

この時点で、このランタンの描画は完了しました。

新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。(学習ビデオ共有:

css ビデオ チュートリアル

)

以上が新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。