筋肉チョットデキル

borderをグラデーションにしたい

2020年06月18日

CSS

backgroundにグラデーションをかける方法

以下のような背景が白のボックスと背景がグラデーションのボックスを重ねることで枠線を表現します。

ラッパーにグラデーションをかけて中の要素は白色にすると以下のようになり、

ラッパーのためにHTMLの構造を変えたくなく、z-indexを使っていいなら疑似要素を使うと以下のようになります。

border-imageを使った方法

border-imageを使うともっと簡単にできます!

border-imageは、border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeatの一括指定プロパティで、
今回はborder-image-sourceborder-image-sliceを指定しています。

例えば当サイトのトップページでは、
スクロールに合わせてナビゲーションにグラデーションの下線が引かれ、これにはborder-imageを使っています。

top header


岡本 侑貴@筋肉チョットデキル

筋肉バカ。筋トレしてコード書いて、毎日幸せに生きてる。ボディビルにドハマリ。2021年東京オープンボディビル選手権で最高の身体に仕上げてつよつよエンジニアになる!!

Made with Gatsby& ChakraUi

Yuuki Okamoto • 2020