2021.07.06

HTML・CSS

background-imageプロパティを利用した高さ可変の三角形

borderプロパティで三角形を作成した場合、高さを可変にすることができません。そこで、background-imageプロパティのlinear-gradient(線形グラデーション)を利用して、高さ可変の三角形を作成します。
デモページはこちら

CSSはdivタグの疑似要素に指定します。width: 60px;、height: 100%;、background-size: 100% 100%;を指定することで、ボックス内のテキスト量の増減に合わせて三角形の高さのみが可変します。

三角形はposition: absolute;で配置します。左寄せの三角形はleft: 0;を指定します。

.div01 {
	position: relative;
	margin: 0 0 1em;
	padding: 40px 40px 40px 70px;
	background-color: #1563ad;
	color: #fff;
}

.div01::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 60px;
	height: 100%;
	background: no-repeat top left/100% 100%;
	background-image: linear-gradient(to top left, transparent 50%, #f2f2f2 50.5%);
}

右寄せの三角形はright: 0;を指定します。background-imageプロパティはbackgroundプロパティにショートハンドで記述することができます。

.div02 {
	position: relative;
	margin: 0 0 1em;
	padding: 40px 70px 40px 40px;
	background-color: #1563ad;
	color: #fff;
}

.div02::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 60px;
	height: 100%;
	background: linear-gradient(to top right, transparent 50%, #f2f2f2 50.5%) no-repeat top left/100% 100%;
}

関連記事

2020.10.15

HTML・CSS

CSS疑似要素のcontentプロパティにjQueryで設定したカスタムデータ属性の値を指定

デモページはこちら CSS疑似要素のcontentプロパティにjQueryで設定したカスタムデータ属性の値を指定します。以下のhtml構造でテストします。デモペ…

2020.08.30

HTML・CSS

Font Awesomeの使い方

Font Awesomeの公式サイトで使用したいアイコンフォントを選びます。Iconsのページでアイコンフォントの一覧が確認できます。有料版と無料版があり有料版…

2021.07.06

HTML・CSS

Photoshopのドロップシャドウをbox-shadowプロパティで適用

Photoshopのレイヤースタイルで作成したドロップシャドウを、box-shadowプロパティで適用します。デモページはこちら box-shadowプロパティ…

2025.05.08

HTML・CSS

text-decorationを利用した文字の下線

text-decorationプロパティを利用して複数行の文字に下線を引きます。複数行に対応させるため、inline要素に適用します。デモページはこちら 以下の…

2024.09.05

HTML・CSS

radial-gradientで作る水玉模様

background-imageプロパティのradial-gradientで水玉模様を作成します。わかりやすいように背景を繰り返し前と繰り返し後で比較します。デ…

上に戻る