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%;
}

関連記事

2024.09.05

HTML・CSS

radial-gradientで作る水玉模様

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

2020.10.12

HTML・CSS

CSSプロパティをショートハンドで記述

CSSプロパティをショートハンドで記述します。プロパティによって記述順や省略可・不可のルールがあります。 ■ fontプロパティfont-style・font-…

2020.09.07

HTML・CSS

animation-fill-modeの指定について

animation-fill-modeプロパティはCSSアニメーション実行後、対象要素にどのようなスタイルを適用するか設定します。animation-fill-…

2024.09.10

HTML・CSS

backdrop-filter: blurとfilter: blurの違い

backdrop-filterプロパティのblurとfilterプロパティのblurを比較して違いを確認します。デモページはこちら 共通のCSSは以下になります…

2021.02.06

HTML・CSS

高さを判定してoverflow-yプロパティで縦スクロール

画面の高さが要素の高さよりも低くなった場合、要素にoverflow-yプロパティを適用して要素内のコンテンツを縦スクロールで表示します。デモページはこちら 画面…

上に戻る