Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8591

CSSでR2-D2を描く

$
0
0

この内容について

CSSを使ってR2-D2を描けるかをやってみました。
なお、本内容で作るR2-D2は、立体的なものではなく、平面的なデザインのものです。ご了承ください。
今回はあえて、CSSを省略した書き方をしていないです。

見本

今回作成するのは、このようなR2-D2です。


See the Pen
R2-D2
by engineerhikaru (@engineerhikaru)
on CodePen.


R2-D2を描く

リセットCSS

リセットCSSを全部書いときたいところですが、今回はmarginとpaddingだけなくします。

CSS
*{margin:0;padding:0;}

台紙となるコンテナを用意

今回描くR2-D2の台紙となるコンテナ要素を用意します。
要素を中央に配置して、高さと横幅を300pxにして、背景色を変えています。

HTML
<divclass="container"><!-- ここにR2-D2を描く --></div>
CSS
/* 外枠 */.container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:300px;width:300px;background:#222;}

R2-D2の土台

R2-D2の土台となる骨格を描きます
要素を中央に配置して、高さを120px、横幅を200pxにして、上左と上左を丸く変え、背景色を変えています。

HTML
<divclass="r2d2-container"><!-- ここにR2-D2の目 --><!-- ここにR2-D2の色々なパーツ --><!-- ここにR2-D2の下の青い帯のような部分 --></div>
CSS
/* R2-D2の外枠(骨格) */.r2d2-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:120px;width:200px;border-radius:120px120px00;background:#E1E4E8;}

R2-D2の目

R2-D2の目を描きます
まず外枠は、要素を中央少し上に配置して、高さを40px、横幅を40pxにして、角を少し丸く変え、背景色を変えています。
中身の目玉は、要素を中央に配置して、高さを30px、横幅を30pxにして、角を丸くし円に変え、背景色を変えています。

HTML
<divclass="r2d2-eye-container"><divclass="r2d2-eye"></div></div>
CSS
/* R2-D2の目の外枠 */.r2d2-eye-container{position:absolute;top:calc(50%-10px);left:50%;transform:translate(-50%,-50%);height:40px;width:40px;border-radius:3px;background:#0685B7;}/* R2-D2の目玉 */.r2d2-eye{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:30px;width:30px;border-radius:50%;background:#000;}

R2-D2の色々なパーツたち

R2-D2の色々なパーツたちを描きます
まず外枠は、要素を中央少し下に配置して、高さを20px、横幅を100%より少し小さくして、外側に余白を少し出し、子要素を横並びに配置させます。
中身の1番左のパーツは、高さを20px、横幅を15pxにして、角を少し変え、背景色を変えています。
中身の2番目の左のパーツは、左側に少し余白を出し、高さを20px、横幅を10pxにして、角を少し変え、背景色を変えています。
中身の3番目の左のパーツは、左側に少し余白を出し、高さを20px、横幅を15pxにして、角を少し変え、背景色を変えています。
中身の4番目の左のパーツは、左側に少し余白を出し、高さを18px、横幅を18pxにして、角を少し変え、背景色を変えています。
中身の5番目の左のパーツは、左側に少し余白を出し、高さを18px、横幅を30pxにして、角を少し変え、背景色を変えています。
中身の5番目の左のパーツの中身は、要素を中央少し右に配置して、高さを14px、横幅を14pxにして、角を丸くし円に変え、背景色を変えています。
中身の6番目の左のパーツは、左側に少し余白を出し、高さを18px、横幅を18pxにして、角を丸くし円に変え、背景色を変えています。
中身の6番目の左のパーツの中身は、要素を中央少し右に配置して、高さを14px、横幅を14pxにして、角を丸くし円に変え、背景色を変えています。
中身の7番目の左のパーツは、左側に少し余白を出し、高さを18px、横幅を18pxにして、角を少し変え、背景色を変えています。
中身の7番目の左のパーツは、左側に少し余白を出し、高さを20px、横幅を15pxにして、角を少し変え、背景色を変えています。

HTML
<divclass="r2d2-parts"><divclass="r2d2-parts-left1"></div><divclass="r2d2-parts-left2"></div><divclass="r2d2-parts-left3"></div><divclass="r2d2-parts-left4"></div><divclass="r2d2-parts-center"><divclass="r2d2-parts-center-eye"></div></div><divclass="r2d2-parts-right1"><divclass="r2d2-parts-right1-eye"></div></div><divclass="r2d2-parts-right2"></div><divclass="r2d2-parts-right3"></div></div>
CSS
/* R2-D2の目の下のパーツ */.r2d2-parts{position:absolute;top:calc(50%+15px);height:20px;width:calc(100%-20px);padding:010px;display:flex;}/* R2-D2の左のパーツ1 */.r2d2-parts-left1{height:20px;width:15px;border-radius:3px;background:#0685B7;}/* R2-D2の左のパーツ2 */.r2d2-parts-left2{margin-left:2px;height:20px;width:10px;border-radius:3px;background:#0685B7;}/* R2-D2の左のパーツ3 */.r2d2-parts-left3{margin-left:5px;height:20px;width:15px;border-radius:3px;background:#0685B7;}/* R2-D2の左のパーツ4 */.r2d2-parts-left4{margin-left:5px;margin-top:2px;height:18px;width:18px;border-radius:3px;background:#0685B7;}/* R2-D2の中央のパーツ */.r2d2-parts-center{margin-left:5px;margin-top:2px;height:18px;width:30px;border-radius:3px;background:#0685B7;position:relative;}/* R2-D2の中央のパーツの中身 */.r2d2-parts-center-eye{position:absolute;top:50%;left:60%;transform:translate(-50%,-50%);height:14px;width:14px;border-radius:50%;background:#FF5657;}/* R2-D2の右のパーツ1 */.r2d2-parts-right1{margin-left:5px;margin-top:2px;height:18px;width:18px;border-radius:50%;background:#A6A6A6;position:relative;}/* R2-D2の右のパーツ1の中身 */.r2d2-parts-right1-eye{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:14px;width:14px;border-radius:50%;background:#535353;}/* R2-D2の右のパーツ2 */.r2d2-parts-right2{margin-left:5px;margin-top:2px;height:18px;width:18px;border-radius:3px;background:#0685B7;}/* R2-D2の右のパーツ3 */.r2d2-parts-right3{margin-left:5px;height:20px;width:15px;border-radius:3px;background:#0685B7;}

R2-D2の下の青い帯のような部分

R2-D2の下の青い帯のような部分を描きます
要素を中央下の方に配置して、高さを10px、横幅を100%にして、背景色を変えています。

HTML
<divclass="r2d2-band"></div>
CSS
/* R2-D2の下の青い帯のような部分 */.r2d2-band{position:absolute;bottom:10px;height:10px;width:100%;background:#0685B7;}

まとめ

今回使ったCSSは、基本的なものばかりで、これらを駆使すればどんなものでも描けます。(平面的なものであれば)
CSSを使って絵を書いたりと、ゲーム感覚で学んでいくと学習効率が上がりますね(^^)

この記事が良いと思った方は、LGTMをしていただければ嬉しいです!
フォローも是非お願い致します(^^)


Viewing all articles
Browse latest Browse all 8591

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>