HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

JavaScript不要!CSSだけで画像のドラッグ・選択を無効化する方法

Webページ上の画像は、デフォルトではマウスでドラッグしたり、ダブルクリックで選択(ハイライト表示)したりできてしまいます。これらの操作を防ぎたい場合は、CSSのuser-selectプロパティやベンダープレフィックス付きのプロパティを使うことで、JavaScriptに頼らず簡単に実現できます。

画像のドラッグ・選択を無効化するCSSコード

以下のコードスニペットをスタイルシートに追加するだけで、画像がドラッグされたり選択されたりするのを防げます。

img {
    user-drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

user-selectプロパティの仕組み

テキストや画像をダブルクリックすると、通常はハイライト表示(選択状態)になります。user-selectプロパティは、この選択動作を制御するためのものです。このプロパティをnoneに設定することで、画像が選択(ハイライト表示)されるのを防ぐことができます。

各プロパティの役割は以下の通りです。

  • user-select: none; … 標準仕様のテキスト選択防止プロパティ
  • -webkit-user-select / -moz-user-select / -ms-user-select … Chrome・Safari、Firefox、旧Edgeなど各ブラウザ向けの互換用プレフィックス
  • -webkit-user-drag: none; … WebKit系ブラウザでのドラッグ操作を無効化

実装例

実際に画像の選択・ドラッグを無効化するコードは以下の通りです。ブラウザで表示して、画像が選択できないことを確認してみてください。

<!DOCTYPE html>
<html>
<head>
<style>
img {
    -drag: none;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}
</style>
</head>
<body>
<img src = "https://www.tutorialspoint.com/images/python3.png" alt = "Python" width = "62" height = "62">
</body>
</html>

まとめ

CSSのuser-select-webkit-user-dragなどのプロパティを組み合わせることで、主要なブラウザで画像のドラッグや選択を確実に無効化できます。JavaScriptを書く必要がないため、軽量かつ手軽に導入できるのが魅力です。ただし、あくまでユーザー操作の防止であり、ソースコードから画像URLを取得されること自体は防げない点には注意しましょう。

  1. OpenCVで画像をカラーからグレースケールに変換する方法

    この記事では、OpenCVを使って画像のカラー表現をRGB(BGR)からグレースケールへ変換する方法を解説します。グレースケール変換は、エッジ検出や物体認識などの画像処理を行う前段階としてよく使われる、最も基本的なテクニックの一つです。アルゴリズムステップ1:OpenCVをインポートする。 ステップ2:imread()関数で元画像を読み込む。 ステップ3:cv2.cvtColor()関数を使ってグレースケールに変換する。サンプルコードimport cv2 image = cv2.imread(colourful.jpg) cv2.imshow(Original, image) grayscal

  2. 「SearchIndexer.exeは、このデバイスが停止するのを防いでいます」エラーの原因と対処法

    ハードウェアの安全な取り外しは、Windowsに搭載された便利な機能で、外部ストレージデバイスを安全に取り外すことができます。この機能を使うには、エクスプローラーでストレージデバイスを右クリックし、取り出しを選択します。タスクトレイからも同じ操作が可能です。通常、USBデバイスが使用中の場合のみ警告メッセージが表示されますが、一部のユーザーからは、デバイスが使用中でないにもかかわらず警告が表示されるという報告があります。具体的には、USBデバイスを取り外そうとするたびに、「アプリケーション SearchIndexer.exe は、このデバイスが停止するのを防いでいます」というメッセージが画面に