ホームページ >ウェブフロントエンド >CSSチュートリアル >特定のパーセンテージで停止する CSS のみの進行状況インジケーターを作成するにはどうすればよいですか?
CSS のみを使用して特定のパーセンテージで停止する進行状況インジケーター
この Web サイトで進行状況バーを検索しましたが、完全に 100% になるアニメーション化された円をすべて表示しました。ただし、以下のスクリーンショットに表示されているような、特定のパーセンテージで停止するプログレス バーを作成したいと考えています。
CSS のみを使用してこの効果を実現するには、クリッピングとアニメーションのテクニックを組み合わせて使用できます。 。例として次のフィドルを考えてみましょう:
.wrapper { width: 100px; /* Set the size of the progress bar */ height: 100px; position: absolute; /* Enable clipping */ clip: rect(0px, 100px, 100px, 50px); /* Hide half of the progress bar */ } /* Set the sizes of the elements that make up the progress bar */ .circle { width: 80px; height: 80px; border: 10px solid green; border-radius: 50px; position: absolute; clip: rect(0px, 50px, 100px, 0px); } /* Using the data attributes for the animation selectors. */ /* Base settings for all animated elements */ div[data-anim~=base] { -webkit-animation-iteration-count: 1; /* Only run once */ -webkit-animation-fill-mode: forwards; /* Hold the last keyframe */ -webkit-animation-timing-function:linear; /* Linear animation */ } .wrapper[data-anim~=wrapper] { -webkit-animation-duration: 0.01s; /* Complete keyframes asap */ -webkit-animation-delay: 3s; /* Wait half of the animation */ -webkit-animation-name: close-wrapper; /* Keyframes name */ } .circle[data-anim~=left] { -webkit-animation-duration: 6s; /* Full animation time */ -webkit-animation-name: left-spin; } .circle[data-anim~=right] { -webkit-animation-duration: 3s; /* Half animation time */ -webkit-animation-name: right-spin; } /* Rotate the right side of the progress bar from 0 to 180 degrees */ @-webkit-keyframes right-spin { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(180deg); } } /* Rotate the left side of the progress bar from 0 to 360 degrees */ @-webkit-keyframes left-spin { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } } /* Set the wrapper clip to auto, effectively removing the clip */ @-webkit-keyframes close-wrapper { to { clip: rect(auto, auto, auto, auto); } }
<div class="wrapper" data-anim="base wrapper"> <div class="circle" data-anim="base left"></div> <div class="circle" data-anim="base right"></div> </div>
このフィドルでは、クリッピング、円形要素、およびアニメーションの組み合わせを使用して、目的の効果を作成します。クリップ プロパティを使用してプログレス バーの半分を非表示にし、円形要素のさまざまな部分の回転をアニメーション化すると、特定のパーセンテージで停止するプログレス バーが実現します。
以上が特定のパーセンテージで停止する CSS のみの進行状況インジケーターを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。