Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8667

【初心者でもわかる】box-shadow以外で影を付ける方法

$
0
0

どうも7noteです。影はbox-shadowやtext-shadow以外でも付けることができます!

影を付けるなら以下の2つのプロパティが一般的です。

「一般的な影のつけ方」
・ box-shadow
・ text-shadow

これ以外でも影を再現する方法がいくつかあるので紹介。

シンプルな影を作る

image.png

style.css
.card{color:#fff;/* 文字色を白に指定 */background:#549DE7;/* 背景色を青に指定 */border-bottom:5pxsolid#356D8F;/* 下の影を設定 */border-right:3pxsolid#356D8F;/* 右の影を設定 */padding:50px;/* 余白を指定 */}

※rgba指定して、半透明の影にすることも可能。(rgba(0,0,0,0.5)等)

ぼやっとした影を付ける

image.png

style.css
.card{color:#fff;background:#549DE7;padding:50px;position:relative;}.card::after{content:'';/* 疑似要素に必須 */display:block;/* ブロック要素にする */position:absolute;/* 相対位置にする */z-index:-1;/* 背面に移動させる */top:0;/* 上から0pxの位置に指定 */left:0;/* 左から0pxの位置に指定 */width:100%;/* 親要素と同じ幅にする */height:100%;/* 親要素と同じ高さにする */background-color:rgb(200,200,200);/* 影の色をグレーに指定 */filter:blur(15px);/* フィルターでぼかす */transform:translateY(10px)scale(1.05);/* 位置とサイズを調整する */mix-blend-mode:multiply;/* 乗算で重ねる */}

※IE非対応

png画像やsvgの形に合わせた影を付ける

image.png

style.css
img{filter:drop-shadow(5px5px8px#666);/* 画像に合った影を指定(左右の位置 上下の位置 広がり 色) */}

※jpgではなく、透過させたpngやgif、SVGなどに使用できます。

テキストを立体に見せかける影

image.png

index.html
<h2class="text">TEXT</h2>
style.css
.text{font-size:3em;/* 程よい大きさに指定 */position:relative;/* 基準位置とする */text-align:center;/* 文字を中央揃えにする */}.text::before{content:"TEXT";/* 影にするテキストを指定 */font-size:0.8em;/* 少し小さくするor大きくする */letter-spacing:8px;/* 文字間を広げる(微調整必要) */color:#ccc;/* 文字色を薄いグレーに指定 */opacity:.7;/* 透明度を0.7に指定 */position:absolute;/* 相対位置にする */bottom:3px;/* 下から3pxの位置に指定(微調整必要) */left:50%;/* 左から50%の位置に指定 */transform:translateX(-40%)skew(-45deg);/* 表示位置と傾斜を指定(微調整必要) */z-index:-1;/* 背面に移動 */}

過去にこの方法について解説しているのでこちらもどうぞ。

まとめ

box-shadowはもう古い、なんて記事があるくらい新しい方法での影の再現の仕方が出ています。
影だからbox-shadow、ではなく適材適所で影も選択する必要がありそうですね。

参考:https://ics.media/entry/200406

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】WEB制作のちょいテク詰め合わせ


Viewing all articles
Browse latest Browse all 8667

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>