背景色で画像をグレーアウト!CSSのbackground-colorプロパティ

2024-04-08

CSSで画像をグレーアウトする

filter プロパティを使用する

方法

filter プロパティを使用して grayscale() 関数を指定することで、画像をグレースケールに変換できます。

img {
  filter: grayscale(100%); /* 画像を完全にグレーアウト */
}

img:hover {
  filter: grayscale(0%); /* ホバー時に元の色に戻す */
}

利点

  • すべてのブラウザでサポートされている
  • コードがシンプル

欠点

  • 完全なグレースケール変換しかできない
  • その他のフィルターと組み合わせて使用できない

opacity プロパティを使用する

opacity プロパティを使用して画像の透明度を下げることで、グレーアウト効果を疑似的に表現できます。

img {
  opacity: 0.5; /* 画像を半透明にする */
}

img:hover {
  opacity: 1; /* ホバー時に元の色に戻す */
}
  • 画像の色合いが変化する

background-color プロパティを使用する

img {
  background-color: #ccc; /* 画像の背景をグレーにする */
}

img:hover {
  background-color: transparent; /* ホバー時に元の色に戻す */
}
  • 画像の背景色が常に表示される

SVGフィルターを使用する

SVGフィルターを使用して、より複雑なグレーアウト効果を作成できます。

<svg viewBox="0 0 100 100">
  <filter id="grayscale">
    <feColorMatrix type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" />
  </filter>

  <image href="image.jpg" filter="url(#grayscale)" />
</svg>
  • 複雑なグレーアウト効果を作成できる
  • 高度なカスタマイズが可能
  • コードが複雑



<img src="image.jpg" alt="画像">
img {
  filter: grayscale(100%); /* 画像を完全にグレーアウト */
}

img:hover {
  filter: grayscale(0%); /* ホバー時に元の色に戻す */
}

opacity プロパティを使用する

<img src="image.jpg" alt="画像">
img {
  opacity: 0.5; /* 画像を半透明にする */
}

img:hover {
  opacity: 1; /* ホバー時に元の色に戻す */
}

background-color プロパティを使用する

<img src="image.jpg" alt="画像">
img {
  background-color: #ccc; /* 画像の背景をグレーにする */
}

img:hover {
  background-color: transparent; /* ホバー時に元の色に戻す */
}

SVGフィルターを使用する

<svg viewBox="0 0 100 100">
  <filter id="grayscale">
    <feColorMatrix type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" />
  </filter>

  <image href="image.jpg" filter="url(#grayscale)" />
</svg>



@media クエリを使用して、特定のメディアクエリに一致する場合のみ画像をグレーアウトできます。

@media (prefers-color-scheme: dark) {
  img {
    filter: grayscale(100%); /* ダークモードでは画像をグレーアウト */
  }
}

JavaScriptを使用して、画像をグレーアウトするダイナミックな方法を作成できます。

<img src="image.jpg" alt="画像" id="my-image">
const image = document.getElementById('my-image');

image.addEventListener('mouseover', () => {
  image.style.filter = 'grayscale(100%)';
});

image.addEventListener('mouseout', () => {
  image.style.filter = 'grayscale(0%)';
});

CSSライブラリを使用する

grayscale.js などのCSSライブラリを使用して、画像をグレーアウトする簡単な方法があります。

<script src="https://cdnjs.cloudflare.com/ajax/libs/grayscale.js/3.0.0/grayscale.min.js"></script>

<img src="image.jpg" alt="画像" id="my-image">
const image = document.getElementById('my-image');

grayscale(image);

これらの方法は、上記4つの方法よりも複雑ですが、より柔軟性と制御性を提供します。


css


Webデザインをレベルアップさせる兄弟セレクターの活用術

指定された要素の直後に続く兄弟要素同じ親要素を持つ要素の種類が一致する例:上記のコードは、<h1> 要素の直後に続く <p> 要素を赤色にします。注意点:プラス記号 (+) は、直接隣接する兄弟要素のみを選択します。間に他の要素があると、選択されません。...


【保存版】dl要素の横並びレイアウト:Flexbox、float & margin、display: table の詳細解説

方法1:Flexboxを使うFlexboxは、要素を柔軟にレイアウトするためのCSSレイアウトモジュールです。Flexboxを使ってdtとddを同じ行に配置するには、以下の手順を行います。dl要素にdisplay: flex;を設定します。...


IEのみCSS適用テクニック完全網羅!条件付きコメント、CSSハック、Modernizr、プリプロセッサ、Autoprefixer徹底解説

条件付きコメントは、HTMLコメントを使用して特定のブラウザにのみCSSを適用する方法です。IEのみスタイルを適用するには、次のように記述します。この方法は、シンプルでわかりやすいですが、メンテナンスが難しくなる場合があります。また、すべてのIEバージョンで動作するとは限りません。...


CSS / Bootstrap4 / Sassで実現!Twitter Bootstrap ナビゲーションバーの色変更

方法1: CSSのbackground-colorプロパティを使うこれは最も簡単な方法です。ナビゲーションバーの背景色を変更したい場合は、以下のコードをstyle. cssファイルに追加します。#your_colorの部分を、好きな色コードに置き換えます。例えば、青色にしたい場合は#0000ff、緑色にしたい場合は#00ff00のように指定します。...


あなただけのオリジナルデザイン!CSSフィルターで魅せるWebサイト

HTMLファイルCSSファイル背景画像を設定したい要素に background-image プロパティを使って、画像ファイルを指定します。filter プロパティを使って、適用したいフィルターを指定します。blur(): ぼかし効果brightness(): 明るさ調整...


SQL SQL SQL SQL Amazon で見る



CSSのfilterプロパティを使って画像をグレースケールに変換する

方法1:CSSの filter プロパティを使用するこれは最も簡単な方法です。以下のコードを画像のスタイルシートに追加するだけです。grayscale プロパティの値は、0%から100%までの数値で指定できます。0%は元のカラー画像、100%は完全なグレースケールになります。