速報

Microsoft 365で接続障害|OutlookやTeams予定表に影響し復旧作業が継続

CATEGORY

【CSS】グラデーションのドロップシャドウを作成する

※本ページのリンクにはプロモーションが含まれています。

【CSS】グラデーションのドロップシャドウを作成する

目次

本記事では、CSSを使って、グラデーションのドロップシャドウの作成方法をご紹介しています。要素にグラデーションの影を表示したい場合に有効な方法です。

では、解説してきます。

スポンサーリンク

box-shadowでグラデーションの影は表現できない

要素にドロップシャドウを付けたい場合はbox-shadowを使用しますが、box-shadowではグラデーションの影を表現することはできません。なぜならbox-shadowに指定することができるのは<color>のデータ型ですが、グラデーションは<gradient>というデータ型で分類では<image>のデータ型になるからです。そのためグラデーションのドロップシャドウを付けたい場合はbox-shadow以外の方法を検討する必要があります。

参考:https://developer.mozilla.org/ja/docs/Web/CSS/box-shadow

擬似要素にグラデーションの背景を付けて使用する

グラデーションのドロップシャドウのスタイルを作る場合、擬似要素を使用する方法がポピュラーです。擬似要素にグラデーションの背景を設定し、filterのblurでぼかしたものを要素と重ねてドロップシャドウ風の見た目に整えます。

下記は擬似要素で作成したものではないですが、左が要素、右が擬似要素と仮定して、二つの要素を重ねることでドロップシャドウを再現することができます。

See the Pen Untitled by ryohei (@intotheprogram) on CodePen.

完成イメージが掴めたと思いますので、上記の方法を用いてグラデーションのドロップシャドウを作成したいと思います。

スポンサーリンク

グラデーションのドロップシャドウを作成する

前項でご紹介した内容を応用し、要素の下に擬似要素が重なるように重なり順を意識してスタイルを作成します。下記ではlinear-gradientを使用していますが、radial-gradientも使用可能です。ドロップシャドウの表示位置は擬似要素のtopとleftの値で調整ください。

HTML

<div class="box">
    <div class="box__content">
        <p>Gradient</p>
    </div>
</div>

CSS

.box {
    position: relative;
    width: 500px;
    height: 300px;
    margin: 0 auto;
    
    &__content {
        position: absolute;        
        z-index: 2;
        width: 100%;
        height: 100%;
        background: #ffffff;
    }
    
    //Gradient Drop Shadow
    &::before {
        content: '';
        position: absolute;
        z-index: 1;
        top: 10px; //ドロップシャドウ:縦位置調整
        left: 10px; //ドロップシャドウ:横位置調整
        width: 100%;
        height: 100%;
        background: linear-gradient(to right, red 0%, blue 100%);
        filter: blur(10px);
    }
}

実行結果

See the Pen 7566-2 by ryohei (@intotheprogram) on CodePen.

これでグラデーションのドロップシャドウを表示することができます。

最後に

グラデーションの流行り始めたのはかなり前だったと思いますが、今でもデザインに組み込まれることが多く、根強い人気がうかがえます。グラデーションのドロップシャドウを使用するケースはあまりないと思いますが、作り方を知っておくことで表現の幅が広がると思いますので、機会があれば取り入れてみてくださいね。

以上、CSSでグラデーションのドロップシャドウを作成する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク