ホームページ > 記事 > ウェブフロントエンド > 新年を祝う時期が来ました。CSS を使用して、お祭りのランタン アニメーション効果を実現してください。
新年を祝う時期になりました。次の記事では、CSS でランタンを描画し、アニメーション効果を追加して、ランタンが左右に揺れる効果を実現する方法を説明します。皆さんの参考になれば幸いです。
新年ですよ~新年ですよ~新年ですよ~
旧年に別れを告げ、新年を迎えます、春です提灯と色とりどりの飾りでお祭り~
金鶏が踊り新年に祝福を送ります~
記事の最初の数歌詞だけで急にお祭り気分になります。これ。
ランタンの描画 静的なランタンを描画することはできません。まず、CSS の animation
属性を確認しましょう。これは、 animation-name
、animation-duration
、animation-timing-function
、animation-delay
、# で構成される短縮属性です。 ##animation-iteration-count、
animation-direction、
animation-fill-mode、および
animation-play-state 属性。ここでは説明しませんが、MDN で詳細を確認できます。
animation: swing 3s infinite ease-in-out;上の例では、
swing という名前のアニメーション シーケンスが使用されており、アニメーション シーケンスは
@ を渡します。 keyframes が作成され、実行時間は
3s、アニメーションはループで実行され、最後の
ease-in-out はアニメーション実行のリズムを示します。
border-radius を追加して、ランタンの形状を形成します。
::before と
::after を長方形に追加して、ランタンの上部と頭部を形成します
<!-- 灯笼容器 --> <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: ''; 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); } }これで、比較的基本的なランタンの形状が実装されました。 ランタンの内部線ランタンの内部線は2つの長方形で実現されており、#で楕円に設定します。 ##border-radius
プロパティを使用して、エッジを描画してランタンの線を表示します。 <pre class="brush:html;toolbar:false;"><div class="lantern-light">
<!-- 灯笼中间的线条 -->
<div class="lantern-circle">
<div class="lantern-rect">
<!-- 灯笼中间的文字内容 -->
<div class="lantern-text">灯笼</div>
</div>
</div>
</div></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; }
効果は次のとおりです:
Lantern Spike
<!-- 灯笼主要区域 --> <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 を使用して、お祭りのランタン アニメーション効果を実現してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。