11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【CSS練習】「ゼルダ○伝説」に出てくるお金(ルピー)をCSSだけで作ってみた

Last updated at Posted at 2021-06-10

#どうも7noteです。某人気ゲーム「ゼルダ○伝説」に出てくるルピーをCSSだけで作る

rypy.png

私事ですが、普段からゲームは結構好きで、京都に本社のある花札を作っていたことで有名な大手ゲーム会社のゲームも昔からよく遊んでました。

その中でよく遊んでいたゲームの中に「ゼルダ○伝説」という種類のゲームがあるのですが、
そのゲーム内で出てくるルピーという通貨のお金をCSSで再現してみました。
(※ゲームタイトルは一応伏せ字しておきます。)

ちなみにインドルピーではないので、インドルピーだと思った方はブラウザバックボタンを押して前のページにお戻りください。

ゲーム内で出てくるルピーは宝石みたいできれいなので、応用すれば他のことにも使えるかも?

ソース

index.html
<div class="rupee">
  <div class="base"></div>
  <div class="center"></div>
</div>
style.css
.rupee {
  width: 100px;   /* 全体の基準になります。 */
  height: 200px;  /* 横幅の2倍 */
  position: relative;
}

.base {
  width: 100%;
  height: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to right, #287e27 50%, #1f511e 50%);
  margin: auto;
}
.base::before,
.base::after {
  content: "";
  width: 0;
  right: 0;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
.base::before {
  border-top: 35px solid #23361a;    /* 横幅の35%の値 */
  border-right: 35px solid #23361a;
  border-bottom: 35px solid #9cf859;
  border-left: 35px solid #9cf859;
  top: -35px;
}
.base::after {
  border-top: 35px solid #2d9d2f;    /* 横幅の35%の値 */
  border-right: 35px solid #2d9d2f;
  border-bottom: 35px solid #1e3a14;
  border-left: 35px solid #1e3a14;
  bottom: -35px;
}

.center {
  width: 60%;
  height: 30%;
  background: #26a824;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.center::before,
.center::after {
  content: '';
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
.center::before {
  border-top: 0 solid transparent;
  border-left: 30px solid transparent; /* 横幅の30% */
  border-bottom: 30px solid #26a824;
  border-right: 30px solid transparent;
  top: -30px;
}
.center::after {
  border-top: 30px solid #26a824;     /* 横幅の30% */
  border-left: 30px solid transparent;
  border-bottom: 0 solid transparent;
  border-right: 30px solid transparent;
  bottom: -30px;
}

rypy.png

解説

作り方は上のソースをまるまるコピーしてください。
borderなど一部はpx指定の必要があるので、全体の横幅を基準としてコメントの%分のpxを指定してください。

そして作り方の解説としては大きく3つのパーツに分かれているので、それぞれで解説します。

パーツ① 「ベース」

parts1.png

これが左右になる部分です。このベースを作ります。
cssは「.base」となっている部分ですね。

パーツ② 「上下」

ベースに擬似要素で上下部分も作ります。
cssは「.base::before」と「.base::after」です。

parts2.png

パーツ③ 「中心部」

最後に中心の6角形を作ります。
cssは「.center」です。

6角形の作り方は過去に記事を書いているので、詳しく知りたい方は以下の記事もご覧ください。

parts3.png

まとめ

上で解説した3つのパーツをすべて重ねることで、ルピーをCSSだけで再現することができます。

もっとこだわりを入れるのであれば、
若干グラデーションをかけてもっと立体感を出すこともできるかもしれませんね。

気が向いたときに違う色でも作ってみたいなと。紫ルピーの透明感とかは再現しようと思うと結構苦戦しそう・・・

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】WEB制作のちょいテク詰め合わせ

11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?