トップへ(mam-mam.net/)

CSSでコピー禁止、コンテキストメニュー禁止、テキスト選択禁止、長押しメニュー禁止の方法

検索:

CSSでコピー禁止、コンテキストメニュー禁止、テキスト選択禁止、長押しメニュー禁止の方法

CSSを使用して「コピー禁止」「コンテキストメニューを禁止」「テキスト選択の禁止」「スマホ等でのロングタップによるメニュー表示の禁止」の方法です。

コピー禁止

コピー禁止にするには要素のタグに oncopy="return false;" を指定します。

このタグ内の文字だけを選択した場合はコピーできません。
このタグ内の文字を含む上下の文字も選択した場合はコピーできるので注意。

<body oncopy="return false;">
  body全体がコピー禁止
</body>

コンテキストメニューを禁止

任意の要素で右クリックによるコンテキストメニューの表示を禁止にするにはその要素に oncontextmenu="return false;" を指定します。

ここで右クリックしてもコンテキストメニューは表示されません。

<body oncontextmenu="return false;">
  bodyタグ全体で右クリックによるコンテキストメニューが表示されなくなります
</body>

テキスト選択の禁止

テキストの選択を禁止するにはCSSで "user-select:none;" を設定します。

このテキストは選択できません。このテキストは選択できます。

<span class="no_select">このテキストは選択できません。</span>このテキストは選択できます。
<style>
  .no_select{
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
  }
</style>

長押しメニュー表示の禁止

スマホ等でimgタグの画像をロングタップした時に表示されるメニュー表示を禁止するにはCSSで "-webkit-user-select:none;pointer-events:none;-webkit-touch-callout:none;" を設定します。


上記画像をロングタップしてもメニューは表示されません。

上記画像をロングタップしたらメニューは表示されます。

<img src="./imgs/0001s.jpg" style="width:100px;height:auto;-webkit-user-select:none;pointer-events:none;-webkit-touch-callout:none;" width="225" height="300"><br>
上記画像をロングタップしてもメニューは表示されません。<br>
<img src="./imgs/0002s.jpg" style="width:100px;height:auto;" width="225" height="300"><br>
上記画像をロングタップしたらメニューは表示されます。