CSS3 badge

だいぶ以前に「border要素にグラデーションを施す方法」という記事を公開しましたが、それとほぼ同じテクニックで、「border:dashed;」や「border:dotted;」をグラデーション処理させる方法を考えてみました。

理論としては、親要素に「position:relative;」を指定して、疑似要素:beforeでボーダーを引き、さらに疑似要素:afterで背景色と同じグラデーション処理を施します。

具体的なコードは次のようになりますね。

.border-dashed {
	padding:0;
	margin:0;
	position:relative;
}
.border-dashed:before, .border-dashed:after {
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	display:block;
	content:'';
	height:1px;
}
.border-dashed:before {
	border-bottom:1px dashed #000;
}
.border-dashed:after {
	background:-webkit-linear-gradient( left, white, rgba(255, 255, 255, 0));
	background:linear-gradient( to right, white, rgba(255, 255, 255, 0));
}

HTML側では、ボーダー・グラデーションを実装したい要素に「class="border-dashed"」を指定すればOKです。

<p class="border-dashed">この要素にボーダーを引きます。</p> 

下記URLにサンプルを用意しました。

SAMPLE : https://on-ze.com/demo/css3-border-dashed-gradient/

ぜひお試しください!