君は思いもよらなかった.CSSが実現する各種球体効果【オンラインデモ付】
7574 ワード
CSSは思わぬ効果をたくさん実現できますが、今日はCSSを使っていろいろな球体効果を実現してみましょう.2つの方法が実現でき,1つ目は大量の要素を用いて実際の3 D球を作成することであり,この方法には潜在的な性能問題がある.もう1つはCSS 3のグラデーションとシャドウ特性を用いて実現され、実現方法が簡単で、効果が美しい.
効果を保証するためにChrome、Firefox、Safariなどの現代ブラウザを使って閲覧してください.
興味のある記事 Metronic–Bootstrapレスポンスベースのバックグラウンド管理テンプレート Verlet-js:超眩しいオープンソースJavaScript物理エンジン推奨 Transit–超スムーズCSS遷移と変換アニメーション効果プラグイン Debuggex–非常に使いやすい正規表現の可視化デバッグツール HTML Inspector–高品質HTMLコード の作成を支援
きほんけいじょう
まず、HTMLコードは次のように基本的な円を実現します.
ここではHTML 5の新規タグfigureを使用していますが、他のタグも使用できます.Figureラベルは、Webページの画像や他のグラフの内容を表示するために使用されます.円の効果を得るには、いくつかの基本的なスタイルを追加します.
aaa
ラジアルランプ
上には基本的な円形効果が実現され、ここでは半径方向のグラデーション効果を増やしてよりリアルな球を実現します.
CSSコードは以下の通りです.
効果は次のとおりです.
bbb
シャドウと3 D
前節では基本的な球体効果が出てきましたが、立体効果を高めるためにボールの底に影を付けると立体感が強くなります.
ここで使用するHTMLコードは次のとおりです.
CSSコードは以下の通りです.
ここではCSS 3 perspective特性を用いたが、効果は以下の通りである.
ccc
多層シャドウ
よりリアルな球体効果を実現するために、ここでは多層シャドウを適用します.
次のような効果が得られます.
ddd
ひかりこうか
上の効果はすでに立体感がありますが、ここでは光の効果を変えて、球体がスノーケルビリヤードのように見えます.
効果は次のとおりです.
eee
8番ボール効果
私たちは球体に数字8を加えると、ビリヤードの黒8の効果があります.
HTMLコード:
CSSコード:
効果は次のとおりです.
fff
眼球効果
上の効果はどうですか?あなたが驚いたと信じています.しかし、CSSが乗れるのはこれだけではありません.ここでは眼球効果を実現します.
HTMLコードは次のとおりです.
コアCSSコードは以下の通りである.
最終的な効果:
ggg
動く眼球
前節では眼球効果を実現しましたが、ここではいくつかのキーフレームで眼球を動かし、コアCSSコードは以下の通りです.
これで、目が動いて、神様に伝わるでしょう?!
hhh
興味のある記事 OverAPI.com–史上最も完全な開発者のオンライン速報マニュアル CSS Matic:Webデザイナーに必須の究極のCSSツールボックス CSS Beautify–便利なオンラインCSSコード美化ツール ScrollUp–最上位jQueryプラグイン にカスタマイズ可能 Swipebox–タッチパネル用jQuery Lightboxプラグイン
英文リンク:CSS Balls:CSS実現の各種円効果【オンラインデモ付】
コンパイルソース:ドリームスカイ◆フロントエンド開発技術に注目◆Webデザインリソースの共有
効果を保証するためにChrome、Firefox、Safariなどの現代ブラウザを使って閲覧してください.
興味のある記事
きほんけいじょう
まず、HTMLコードは次のように基本的な円を実現します.
<figure class="circle"></figure>
ここではHTML 5の新規タグfigureを使用していますが、他のタグも使用できます.Figureラベルは、Webページの画像や他のグラフの内容を表示するために使用されます.円の効果を得るには、いくつかの基本的なスタイルを追加します.
.circle {
display: block;
background: black;
border-radius: 50%;
height: 300px;
width: 300px;
margin: 0;
}
aaa
ラジアルランプ
上には基本的な円形効果が実現され、ここでは半径方向のグラデーション効果を増やしてよりリアルな球を実現します.
CSSコードは以下の通りです.
.circle {
display: block;
background: black;
border-radius: 50%;
height: 300px;
width: 300px;
margin: 0;
background: -webkit-radial-gradient(100px 100px, circle, #5cabff, #000);
background: -moz-radial-gradient(100px 100px, circle, #5cabff, #000);
background: radial-gradient(100px 100px, circle, #5cabff, #000);
}
効果は次のとおりです.
bbb
シャドウと3 D
前節では基本的な球体効果が出てきましたが、立体効果を高めるためにボールの底に影を付けると立体感が強くなります.
ここで使用するHTMLコードは次のとおりです.
<section class="stage">
<figure class="ball"><span class="shadow"></span></figure>
</section>
CSSコードは以下の通りです.
.stage {
width: 300px;
height: 300px;
display: inline-block;
margin: 20px;
-webkit-perspective: 1200px;
-webkit-perspective-origin: 50% 50%;
}
.ball .shadow {
position: absolute;
width: 100%;
height: 100%;
background: -webkit-radial-gradient(50% 50%, circle, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 50%);
-webkit-transform: rotateX(90deg) translateZ(-150px);
z-index: -1;
}
ここではCSS 3 perspective特性を用いたが、効果は以下の通りである.
ccc
多層シャドウ
よりリアルな球体効果を実現するために、ここでは多層シャドウを適用します.
.ball {
display: inline-block;
width: 100%;
height: 100%;
margin: 0;
border-radius: 50%;
position: relative;
background: -webkit-radial-gradient(50% 120%, circle cover, #81e8f6, #76deef 10%, #055194 80%, #062745 100%);
);
}
.ball:before {
content: "";
position: absolute;
top: 1%;
left: 5%;
width: 90%;
height: 90%;
border-radius: 50%;
background: -webkit-radial-gradient(50% 0px, circle, #ffffff, rgba(255, 255, 255, 0) 58%);
-webkit-filter: blur(5px);
z-index: 2;
}
次のような効果が得られます.
ddd
ひかりこうか
上の効果はすでに立体感がありますが、ここでは光の効果を変えて、球体がスノーケルビリヤードのように見えます.
.ball {
display: inline-block;
width: 100%;
height: 100%;
margin: 0;
border-radius: 50%;
position: relative;
background: -webkit-radial-gradient(50% 120%, circle cover, #323232, #0a0a0a 80%, #000000 100%);
}
.ball:before {
content: "";
position: absolute;
background: -webkit-radial-gradient(50% 120%, circle cover, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0) 70%);
border-radius: 50%;
bottom: 2.5%;
left: 5%;
opacity: 0.6;
height: 100%;
width: 90%;
-webkit-filter: blur(5px);
z-index: 2;
}
.ball:after {
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 5%;
left: 10%;
border-radius: 50%;
background: -webkit-radial-gradient(50% 50%, circle cover, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8) 14%, rgba(255, 255, 255, 0) 24%);
-webkit-transform: translateX(-80px) translateY(-90px) skewX(-20deg);
-webkit-filter: blur(10px);
}
効果は次のとおりです.
eee
8番ボール効果
私たちは球体に数字8を加えると、ビリヤードの黒8の効果があります.
HTMLコード:
<section class="stage">
<figure class="ball">
<span class="shadow"></span>
<span class="eight"></span>
</figure>
</section>
CSSコード:
.ball .eight {
width: 110px;
height: 110px;
margin: 30%;
background: white;
border-radius: 50%;
-webkit-transform: translateX(68px) translateY(-60px) skewX(15deg) skewY(2deg);
position: absolute;
}
.ball .eight:before {
content: "8";
display: block;
position: absolute;
text-align: center;
height: 80px;
width: 100px;
left: 50px;
margin-left: -40px;
top: 44px;
margin-top: -40px;
color: black;
font-family: Arial;
font-size: 90px;
line-height: 104px;
}
効果は次のとおりです.
fff
眼球効果
上の効果はどうですか?あなたが驚いたと信じています.しかし、CSSが乗れるのはこれだけではありません.ここでは眼球効果を実現します.
HTMLコードは次のとおりです.
<section class="stage">
<figure class="ball">
<span class="shadow"></span>
<span class="iris"></span>
</figure>
</section>
コアCSSコードは以下の通りである.
.iris {
width: 40%;
height: 40%;
margin: 30%;
border-radius: 50%;
background: -webkit-radial-gradient(50% 50%, circle cover, #208ab4 0%, #6fbfff 30%, #4381b2 100%);
-webkit-transform: translateX(68px) translateY(-60px) skewX(15deg) skewY(2deg);
position: absolute;
-webkit-animation: move-eye-skew 5s ease-out infinite;
}
.iris:before {
content: "";
display: block;
position: absolute;
width: 37.5%;
height: 37.5%;
border-radius: 50%;
top: 31.25%;
left: 31.25%;
background: black;
}
.iris:after {
content: "";
display: block;
position: absolute;
width: 31.25%;
height: 31.25%;
border-radius: 50%;
top: 18.75%;
left: 18.75%;
background: rgba(255, 255, 255, 0.2);
}
最終的な効果:
ggg
動く眼球
前節では眼球効果を実現しましたが、ここではいくつかのキーフレームで眼球を動かし、コアCSSコードは以下の通りです.
@-webkit-keyframes move-eye-skew {
0% {
-webkit-transform: none;
}
20% {
-webkit-transform: translateX(-68px) translateY(30px) skewX(15deg) skewY(-10deg) scale(0.95);
}
25%, 44% {
-webkit-transform: none;
}
50%, 60% {
-webkit-transform: translateX(68px) translateY(-40px) skewX(5deg) skewY(2deg) scaleX(0.95);
}
66%, 100% {
-webkit-transform: none;
}
}
これで、目が動いて、神様に伝わるでしょう?!
hhh
興味のある記事
英文リンク:CSS Balls:CSS実現の各種円効果【オンラインデモ付】
コンパイルソース:ドリームスカイ◆フロントエンド開発技術に注目◆Webデザインリソースの共有