1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[CSS]画像の上にグラデーションフィルター

Last updated at Posted at 2020-11-18

カードデザインやセクションの背景に、画像+グラデーションフィルターを敷きたいときの備忘録です。

手順

  1. 「background-image:url()」の前後どちらかに「,」区切りでlinear-gradient(グラデーションの方向, 開始色, 終了色);をプロパティを追加して色を設定する
  2. background-blend-mode: screen;をプロパティを追加してブレンドする

linear-gradient(グラデーションの方向, 開始色, 終了色);をもっと知りたい方はこちら

加工前

スクリーンショット 2020-11-18 12.37.34.png

<!-- 画像部分のみ抽出 -->

<div class="card__picture">
   <div class="card__imge"></div>
</div>                                                        
/* ------- 画像 スタイル ------- */

.card__picture{
    width: 500px;
    height: 250px;
}

/* 画像の設定 */
.card__imge{
    height: inherit;
    background-image: url(../img/coverSample.jpg);
    background-size: cover;
    background-position:center;
    background-repeat: no-repeat;   
}

加工後

スクリーンショット 2020-11-18 12.47.08.png

/* ------- 画像 スタイル ------- */

.card__picture{
    width: 500px;
    height: 250px;
}

/* 画像の設定 */
.card__imge{
    height: inherit;
    background-image:url(../img/nat-1-large.jpg), linear-gradient(to right,  red, blue); /* 一部追加 */
    background-size: cover;
    background-position:center;
    background-repeat: no-repeat;
    background-blend-mode: screen; /* 追加(継承するため親要素に当ててもOK) */
}

おまけ(部分グラデーション)

後半に出てくるサンプルBはWEBデザインでものよく出てくるため、CSSで書いた方が保守性アップ。
また、上記もそうだが1つのdivタグ、1つのセレクタで背景画像+変形フィルターができるのでソースもすっきり。

事前知識
linear-gradient(グラデーションの方向, 開始色, 終了色);をもっと知りたい方はこちら

手順

  1. 全体の何%にグラデーションにするかを決める。
  2. その%で色を分配し、色の後にtransparent 0%を記述。

サンプルを見た方が早いので以下参照。

サンプル

サンプルA(2色グラデーション)

/* 画像の設定 */
.card__imge{
    height: inherit;
    background-image:url(../img/nat-1-large.jpg), linear-gradient( purple 25%,blue 50%, transparent 0%);
    background-size: cover;
    background-position:center;
    background-repeat: no-repeat;
    background-blend-mode: screen;
}

スクリーンショット 2020-11-18 17.37.11.png

サンプルB(1色ななめ)

/* 画像の設定 */
.card__imge{
    height: inherit;
    background-image:url(../img/nat-1-large.jpg), linear-gradient(120deg,green 50%, transparent 0%);
    background-size: cover;
    background-position:center;
    background-repeat: no-repeat;
    background-blend-mode: screen;
}

スクリーンショット 2020-11-18 17.39.04.png

参考記事

background-blend-modeはプロパティ値によって様々な加工モードが存在し、手軽に印象を変化さることができます。(詳細は以下参照)
https://www.webcreatorbox.com/tech/css-blend-mode

次回

[CSS]background-image:linear-gradient();で背景グラデーション/複数色で区切る/文字グラデーションの3パターン

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?