問題 × 解決策

cssで要素をひし形(ダイヤ型)にする方法

問題

cssで要素をひし形(ダイヤ型)にするには?

解決策

  1. 要素を正方形にするために、幅(width)と高さ(height)を同じにします。
  2. css3のrotateを使い、「transform: rotate(45deg)」と記述します。
  3. rotateで変形させた後、中の要素に「transform: rotate(-45deg)」で逆方向にrotateで変形させることで、枠をひし形(ダイヤ型)にすることができます。

 

css3によるひし形の実現

css3を駆使することで様々な表現が実現できるため、デザインに幅が広がります。
今回はcssで要素をひし形(ダイヤ型)にする方法をご紹介します。

DEMOはこちら

要素をひし形(ダイヤ型)に加工

HTMLはこちら

要素「クラス:diamond-box」の中に、さらに中を囲う要素「クラス:inner-box」を用意します。

<div class="diamond-box">
	<div class="inner-box">
		<p class="text">要素をひし形(ダイヤ型)に加工</p>
	</div>
</div>

CSSはこちら

要素「クラス:diamond-box」を、要素を正方形にするために、幅(width)と高さ(height)を同じにします。
そして「transform: rotate(45deg)」で45度変形させ、さらに中を囲う要素「クラス:inner-box」を「transform: rotate(-45deg)」で-45度変形させます。

.diamond-box{
	width: 150px;
	height: 150px;
	background-color: #FCECE8;
	overflow: hidden;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
.diamond-box .inner-box{
	width: 150px;
	height: 150px;
	padding: 30px;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

ポイント!

  • rotateを掛けた要素の中の要素に、同じ数値の逆の値(足して0になる)でrotateを掛けることで、中の要素は回転していない状態で表示することができます。

参考ページ

以下のサイトが、より詳しく解説してくれています。

【CSSのみで作るダイヤ型のボタン | WEBLABLA Web制作で使える小技集】
https://weblabla.mikim.me/button05/

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

one × two =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧