ホームページ > ウェブフロントエンド > CSSチュートリアル > CSSで動的なバブル背景のコード共有を実現

CSSで動的なバブル背景のコード共有を実現

小云云
リリース: 2018-02-26 09:35:01
オリジナル
4212 人が閲覧しました

この記事では、CSSアニメーションでダイナミックなバブル背景を実現する方法について、主に関連情報を紹介します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

今日の最初のタスクは、ログインページを作成することです。リンクをクリックすると、参照 (chao) テスト (xi) ケースが表示されます。確かに、このログイン ページは非常に簡潔でエレガントで、特にバブルの背景は動的な画像であるべきだと思いましたが、レビュー要素を開いた後、それがコードで記述されていることがわかり、突然赤ちゃんの好奇心を呼び起こしました。 . そこで、バブルの背景を使用してログイン ページを作成しようとしました。その結果は次のとおりです。

えっと...アップロードされた GIF アニメーションがいつもとても小さいのはなぜですか? スクリーンショットを追加しましょう:

(皆さん、これらの背景の泡が自分で上がっている絵を想像してみてください:すすり泣き:)

この効果は、いくつかの簡単なコードだけで実現できます。

まず、10 個の li リスト タグを定義します。私は vue フレームワークを使用します。


<ul class="bg-bubbles">
    <li v-for="(item, index) in bubbles" :key="index"></li>
</ul>
ログイン後にコピー


created() {
    this.bubbles.length = 10;
 },
ログイン後にコピー

スタイルはlessで書かれています:


.bg-bubbles {
    position: absolute;
    // 使气泡背景充满整个屏幕
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    li {
      position: absolute;
      // bottom 的设置是为了营造出气泡从页面底部冒出的效果;
      bottom: -160px;
      // 默认的气泡大小;
      width: 40px;
      height: 40px;
      background-color: rgba(255, 255, 255, 0.15);
      list-style: none;
      // 使用自定义动画使气泡渐现、上升和翻滚;
      animation: square 15s infinite;
      transition-timing-function: linear;
      // 分别设置每个气泡不同的位置、大小、透明度和速度,以显得有层次感;
      &:nth-child(1) {
        left: 10%;
      }
      &:nth-child(2) {
        left: 20%;
        width: 90px;
        height: 90px;
        animation-delay: 2s;
        animation-duration: 7s;
      }
      &:nth-child(3) {
        left: 25%;
        animation-delay: 4s;
      }
      &:nth-child(4) {
        left: 40%;
        width: 60px;
        height: 60px;
        animation-duration: 8s;
        background-color: rgba(255, 255, 255, 0.3);
      }
      &:nth-child(5) {
        left: 70%;
      }
      &:nth-child(6) {
        left: 80%;
        width: 120px;
        height: 120px;
        animation-delay: 3s;
        background-color: rgba(255, 255, 255, 0.2);
      }
      &:nth-child(7) {
        left: 32%;
        width: 160px;
        height: 160px;
        animation-delay: 2s;
      }
      &:nth-child(8) {
        left: 55%;
        width: 20px;
        height: 20px;
        animation-delay: 4s;
        animation-duration: 15s;
      }
      &:nth-child(9) {
        left: 25%;
        width: 10px;
        height: 10px;
        animation-delay: 2s;
        animation-duration: 12s;
        background-color: rgba(255, 255, 255, 0.3);
      }
      &:nth-child(10) {
        left: 85%;
        width: 160px;
        height: 160px;
        animation-delay: 5s;
      }
    }
    // 自定义 square 动画;
    @keyframes square {
      0% {
        opacity: 0.5;
        transform: translateY(0px) rotate(45deg);
      }
      25% {
        opacity: 0.75;
        transform: translateY(-400px) rotate(90deg)
      }
      50% {
        opacity: 1;
        transform: translateY(-600px) rotate(135deg);
      }
      100% {
        opacity: 0;
        transform: translateY(-1000px) rotate(180deg);
      }
    }
  }
ログイン後にコピー

この時点で、バブルの背景画像が完成します。振り返ってみると、確かに難しいことではありませんが、CSS アニメーション :relaxed: の魅力と威力を感じる人が増えています。

関連おすすめ:

Photoshop CS5 バラエティブラシチュートリアル - ファンタジーバブル背景

ボタントリガーを使用して背景色の点滅を実現する方法

Web ページの背景画像を実現する CSS のアダプティブフルスクリーン詳細説明

以上がCSSで動的なバブル背景のコード共有を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート