ホームページ  >  記事  >  ウェブフロントエンド  >  CSS3 を使用して円形のプログレス バーを作成する方法の図

CSS3 を使用して円形のプログレス バーを作成する方法の図

高洛峰
高洛峰オリジナル
2017-03-09 18:17:251945ブラウズ

ドーナツ型の進行状況バーを作成する基本的なアイデアは、基本的な円弧の形状を描画し、CSS3 でその回転を制御して、基本的な形状を直列に接続し、部分的に消える効果を作成する方法を学びましょう。 CSS3 を使用して図で円を作成します。進行状況バーの形を整える方法

まず、誰かが円形の進行状況バー効果を作成できるかどうか尋ねた場合、それが静的な完全な円形の進行状況バーであれば、それは非常に簡単です:

.circleprogress{   
    width: 160px;   
    height: 160px;   
    border:20px solid red;   
    border-radius: 50%;   
}


CSS3 を使用して円形のプログレス バーを作成する方法の図

すると、彼らはこう言うでしょう、これはとても簡単です。しかし、それが完全な円でない場合はどうなるでしょうか?それについて考えた後:

.circleprogress{   
  width: 160px;   
  height: 160px;   
  border:20px solid red;   
  border-left:20px solid transparent;   
  border-bottom:20px solid transparent;   
  border-radius: 50%;   
}


CSS3 を使用して円形のプログレス バーを作成する方法の図

それから私はまだ言いました、これは難しいことではありません。しかし、すべてが 45 度の倍数ではない場合はどうなるでしょうか?

OK、最初に 200x200 の正方形を設定してから、ここで効果を完成させましょう:

.circleProgress_wrapper{   
  width: 200px;   
  height: 200px;   
  margin: 50px auto;   
  position: relative;   
  border:1px solid #ddd;   
}


CSS3 を使用して円形のプログレス バーを作成する方法の図

次に、このコンテナにさらに 2 つの長方形を配置します。各長方形は半分を占めます:

<p class="circleProgress_wrapper">
        <p class="wrapper right">
            <p class="circleProgress rightcircle"></p>
        </p>
        <p class="wrapper left">
            <p class="circleProgress leftcircle"></p>
        </p>
 </p>
rree


CSS3 を使用して円形のプログレス バーを作成する方法の図

ここでは、重要な役割を果たすラッパーのoverflow:hidden;に焦点を当てます。どちらの四角形にもオーバーフロー非表示が設定されているため、四角形の内側で円を回転させると、オーバーフロー部分が非表示になり、目的の効果を得ることができます。

左右の長方形の中に円があることもHTML構造から分かりました。まず右の半円について話しましょう:

.wrapper{   
  width: 100px;   
  height: 200px;   
  position: absolute;   
  top:0;   
  overflow: hidden;   
}   
.rightright{   
  rightright:0;   
}   
.left{   
  left:0;   
}


CSS3 を使用して円形のプログレス バーを作成する方法の図

効果が出ていることがわかります。実は元々は半円弧だったのですが、上下の境界線を設定したため、上の境界線の半分がはみ出して隠れてしまったので、回転させることで元に戻すことができます。必要なものを回転させるだけです。角度は任意の比率のプログレスバーを実現できます。次に、左の半円弧を実現し、それを完全な円にします:

.circleProgress{   
  width: 160px;   
  height: 160px;   
  border:20px solid transparent;   
  border-radius: 50%;   
  position: absolute;   
  top:0;   
}   
.rightcircle{   
  border-top:20px solid green;   
  border-right:20px solid green;   
  rightright:0;   
}


CSS3 を使用して円形のプログレス バーを作成する方法の図

それでは、原理は次のようになります。まず、右の半円弧を180度回転させます。次に、左の半円を 180 度回転します。このようにして、オーバーフローにより 2 つの半円が消え、プログレス バーが再びスクロールしたように見えます。必要なのは、角度を調整することで逆の効果を達成することです:

.circleProgress{   
  width: 160px;   
  height: 160px;   
  border:20px solid transparent;   
  border-radius: 50%;   
  position: absolute;   
  top:0;   
  -webkit-transform: rotate(45deg);   
}


CSS3 を使用して円形のプログレス バーを作成する方法の図

さて、次のステップは、最初に見たように、最終的な効果に向けて進むことです。ゴミを掃除する 360 のガード もちろん、同様の効果はあまり似ていません:

.leftcircle{   
    border-bottom:20px solid green;   
    border-left:20px solid green;   
    left:0;   
}

ご覧のとおり、実際には、さまざまな境界線の色を変更するアニメーションがいくつかあるだけです。皆さんもこれを自分で練習してみてください。 重要なのは、このような円形のプログレス バー効果を実現するために 2 つの長方形を使用することです。重要な役割を果たすオーバーフロー ルールに特に注意してください。

以上がCSS3 を使用して円形のプログレス バーを作成する方法の図の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。