ダース・ベイダー – css Darth Vader –

ダース・ベイダーアイコン その他

cssのみで 「ダース・ベイダー」アイコンを作成してみました。
突っ込みどころがありすぎてすみません。これが精一杯です。ご了承ください。
スターウォーズといえばダースベイダーではないでしょうか。
ボバ・フェットと同じく大好きなキャラクターです。
今までのアイコンと違ってcssの量がどんどん増えてます・・・
もっと簡単に出来るようにしたいですね。

2015/06/20
iPhoneで表示崩れしてた
原因は「rotate3d」みたいです。「rotate」にしたら直った。

ソース

html

<div id="darth_vader">
  <div id="darth_vader_helmet_back"></div>
  <div id="darth_vader_face_back"></div>
  <div id="darth_vader_face1"></div>
  <div id="darth_vader_face2"></div>
  <div id="darth_vader_face3"></div>
</div>

css

/* ヘルメット */
#darth_vader {
	font-size: 100px;
	position: relative;
	margin: 0.1em auto;
	width: 1.0em;
	height: 1.1em;
	background-color: #222;
	border-radius: 0.5em;
}
#darth_vader::before {
	position: absolute;
	content: "";
	top: 0.5em;
	left: 0.5em;
	width: 0.6em;
	height: 0.8em;
	background-color: #222;
	-webkit-transform: rotate(-20deg);
	transform: rotate(-20deg);
	border-radius: 0 0 0.2em 0.2em;
}
#darth_vader::after {
	position: absolute;
	content: "";
	top: 0.5em;
	left: -0.08em;
	width: 0.6em;
	height: 0.8em;
	background-color: #222;
	-webkit-transform: rotate(20deg);
	transform: rotate(20deg);
	border-radius: 0 0 0.2em 0.2em;
}
/* ヘルメット背景 */
#darth_vader_helmet_back {
	position: absolute;
	top: 0.6em;
	left: 0.2em;
	width: 0.6em;
	height: 0.8em;
	background-color: #000;
	border-radius: 0 0 0.2em 0.2em;
	z-index: 1;
}
#darth_vader_helmet_back::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0.2em;
	width: 0.6em;
	height: 0.7em;
	background-color: #000;
	-webkit-transform: rotate(-20deg);
	transform: rotate(-20deg);
	border-radius: 0 0 0.2em 0.2em;
}
#darth_vader_helmet_back::after {
	position: absolute;
	content: "";
	top: 0;
	left: -0.2em;
	width: 0.6em;
	height: 0.7em;
	background-color: #000;
	-webkit-transform: rotate(20deg);
	transform: rotate(20deg);
	border-radius: 0 0 0.2em 0.2em;
}
/* 顔背景 */
#darth_vader_face_back {
	position: absolute;
	top: 0.5em;
	left: 0.05em;
	width: 0.4em;
	height: 0.3em;
	background-color: #000;
	border-radius: 0.3em 0.3em 0.2em 0.2em;
	box-shadow: 0.5em 0 0 0 #000;
	z-index: 2;
}
#darth_vader_face_back::before {
	position: absolute;
	content: "";
	top: -0.5em;
	left: 0.4em;
	width: 0.1em;
	height: 0.6em;
	background-color: #2a2a2a;
	border-radius: 0.05em;
	box-shadow: 0 0 0 1px #2f2f2f;
}
/* 顔パーツ1 */
#darth_vader_face1 {
	position: absolute;
	top: 0.6em;
	left: 0.1em;
	width: 0.35em;
	height: 0.25em;
	background-color: #333;
	border-radius: 0.4em 0.2em 0.1em 0.3em / 0.4em 0.3em 0.2em 0.1em;
	z-index: 3;
}
#darth_vader_face1::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0.45em;
	width: 0.35em;
	height: 0.25em;
	background-color: #333;
	border-radius: 0.2em 0.4em 0.3em 0.1em / 0.3em 0.4em 0.1em 0.2em;
}
#darth_vader_face1::after {
	position: absolute;
	content: "";
	top: 0.3em;
	left: 0.35em;
	width: 0.1em;
	height: 0.1em;
	background-color: #444;
	border-radius: 0.1em 0.1em 0 0;
}
/* 顔パーツ2 */
#darth_vader_face2 {
	position: absolute;
	top: 1em;
	left: 0.275em;
	width: 0.5em;
	height: 0.4em;
	background:
		linear-gradient(to bottom, #2a2a2a 0%, #444 100%) 0em 0.2em / 0.05em 0.1em no-repeat,
		linear-gradient(to bottom, #2a2a2a 0%, #444 100%) 0.1em 0.1em / 0.05em 0.2em no-repeat,
		linear-gradient(to bottom, #2a2a2a 0%, #444 100%) 0.2em 0.025em / 0.05em 0.275em no-repeat,
		linear-gradient(to bottom, #2a2a2a 0%, #444 100%) 0.3em 0.1em / 0.05em 0.2em no-repeat,
		linear-gradient(to bottom, #2a2a2a 0%, #444 100%) 0.4em 0.2em / 0.05em 0.1em no-repeat
	;
	z-index: 3;
}
#darth_vader_face2::before {
	position: absolute;
	content: "";
	top: 0.2em;
	left: -0.1em;
	width: 0.05em;
	height: 0.05em;
	background-color: #444;
	border-radius: 100%;
}
#darth_vader_face2::after {
	position: absolute;
	content: "";
	top: 0.2em;
	left: 0.5em;
	width: 0.05em;
	height: 0.05em;
	background-color: #444;
	border-radius: 100%;
}
/* 顔パーツ3 */
#darth_vader_face3 {
	position: absolute;
	top: 0.95em;
	left: 0.225em;
	width: 0;
	height: 0;
	border-top: 0.2em solid #2a2a2a;
	border-right: 0.2em solid transparent;
	z-index: 3;
}
#darth_vader_face3::before {
	position: absolute;
	content: "";
	top: -0.2em;
	left: 0.35em;
	width: 0;
	height: 0;
	border-top: 0.2em solid #2a2a2a;
	border-left: 0.2em solid transparent;
}
タイトルとURLをコピーしました