CSS user-select 屬性(是否允許用戶選中文本)

来源:https://www.cnblogs.com/suducn/p/18190039
-Advertisement-
Play Games

一、是什麼 許可權是對特定資源的訪問許可,所謂許可權控制,也就是確保用戶只能訪問到被分配的資源 而前端許可權歸根結底是請求的發起權,請求的發起可能有下麵兩種形式觸發 頁面載入觸發 頁面上的按鈕點擊觸發 總的來說,所有的請求發起都觸發自前端路由或視圖 所以我們可以從這兩方面入手,對觸發許可權的源頭進行控制,最 ...


本文操作環境:Windows7系統,CSS3版本,Dell G3電腦。

user-select,設置或檢索是否允許用戶選中文本

user-select 屬性規定是否能選取元素的文本。

在 web 瀏覽器中,如果您在文本上雙擊,文本會被選取或高亮顯示。此屬性用於阻止這種行為。

user-select語法:

user-select:none |text| all | element

預設值:text

適用於:除替換元素外的所有元素

繼承性:無

動畫性:否

計算值:指定值

屬性值:

描述
auto 預設。如果瀏覽器允許,則可以選擇文本。
none 防止文本選取。
text 文本可被用戶選取。
all 單擊選取文本,而不是雙擊。

說明:

設置或檢索是否允許用戶選中文本。

IE6-9不支持該屬性,但支持使用標簽屬性 onselectstart="return false;" 來達到 user-select:none 的效果;Safari和Chrome也支持該標簽屬性;

直到Opera12.5仍然不支持該屬性,但和IE6-9一樣,也支持使用私有的標簽屬性 unselectable="on" 來達到 user-select:none 的效果;unselectable 的另一個值是 off;

除Chrome和Safari外,在其它瀏覽器中,如果將文本設置為 -ms-user-select:none;,則用戶將無法在該文本塊中開始選擇文本。不過,如果用戶在頁面的其他區域開始選擇文本,則用戶仍然可以繼續選擇將文本設置為 -ms-user-select:none; 的區域文本;

對應的腳本特性為userSelect。

相容性:

淺綠 = 支持

紅色 = 不支持

粉色 = 部分支持

 

實例

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <style> .test{ padding:10px; -webkit-user-select:none; -moz-user-select:none; -o-user-select:none; user-select:none; background:#eee;} </style> </head> <body> <div onselectstart="return false;" unselectable="on">選擇我試試,你會發現怎麼也選擇不到我,哈哈哈哈</div> </body> </html>

這段代碼結合了css+js,基本上將常用的瀏覽器都禁止選擇了。

1 2 3 4 5 6 7 8 div { -webkit-user-select: none; /* Safari */ -ms-user-select: none; /* IE 10+ and Edge */ -o-user-select:none; -moz-user-select:none;/*火狐*/ -khtml-user-select:none;/*早期瀏覽器*/ user-select: none; /* Standard syntax */ }

瀏覽器支持

表格中的數字註明瞭完全支持該屬性的首個瀏覽器版本。

跟隨 -webkit-、-ms- 或 -moz- 的數字規定使用首碼的首個版本。

ChromeIE / EdgeFirefoxSafariOpera
54.0
6.0 -webkit-
79.0
10.0 -ms-
69.0
2.0 -moz-
3.1 -webkit- 41.0
15.0 -webkit-

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、Stage模型概述和組件 1.Stage模型概述 HarmonyOS的Stage模型是其應用程式的核心概念之一,它提供了一種靈活的方式來管理應用程式的生命周期和界面管理。 Stage模型由以下幾個主要組件組成: 應用程式:每個應用程式被視為一個Stage,它可以包含一個或多個視窗,每個窗 ...
  • 一、組合手勢 應用程式的手勢操作是指在移動設備上使用手指或手勢進行與應用程式交互的方式。手勢操作可以包括點擊、滑動、雙擊、捏合等動作,用於實現不同的功能和操作。 HarmonyOS中常見的手勢操作及其功能: 組合手勢是由多個手勢組合而成的手勢動作。通過不同手勢的組合,可以完成更複雜的操作。例如, ...
  • 為了做《基於安卓定位的考勤系統》,學了一些雜亂的知識,在這裡簡單記錄一下。除了在C#桌面應用開發中感性的體會到了些XML佈局的知識以及課上學習的Java知識,其他也算是零基礎了。 Google Android Developer的課程 2023/10/25 :跟著官方文檔先快速入門一下基本內容。截至 ...
  • 簡介: 還在使用原生的sqllite?有這麼清爽且穩如狗的room為啥不用呢? Room是Google官方推薦使用的資料庫,相比較某些優秀資料庫框架來說,不用過於擔心某天庫會停止維護,且訪問資料庫非常流暢,並且提供了與常規的ORM框架一樣,通過添加編譯期註解來進行表和欄位的配置,譬如@Databas ...
  • 一、單一手勢 應用程式的手勢操作是指在移動設備上使用手指或手勢進行與應用程式交互的方式。手勢操作可以包括點擊、滑動、雙擊、捏合等動作,用於實現不同的功能和操作。 HarmonyOS中常見的手勢操作及其功能: 1.點擊手勢(TapGesture) 點擊手勢(TapGesture)是指用戶在觸摸 ...
  • 一、手勢方法 應用程式的手勢操作是指在移動設備上使用手指或手勢進行與應用程式交互的方式。手勢操作可以包括點擊、滑動、雙擊、捏合等動作,用於實現不同的功能和操作。 HarmonyOS中常見的手勢操作及其功能: 1.gesture(常規手勢綁定方法) 介面說明: .gesture(gesture ...
  • 前言 焦點事件是指程式中的重要事件或關鍵點。焦點事件通常是程式的核心邏輯和功能,需要引起特殊的關註和處理。 在圖形用戶界面(GUI)編程中,焦點事件通常與用戶交互和界面輸入相關。例如,當用戶點擊按鈕、輸入文本或選擇菜單項時,這些操作會觸發相應的焦點事件。程式需要捕獲這些焦點事件併進行處理,以執行 ...
  • Vue模板語法: 使用插值表達式的內容必須是有結果的內容才可以,就是需要return出來的才可以顯示出來。 插值表達式所表現的內容為純文本模式 如何避免 即所有的邏輯操作都在js裡面實現,不要再templete中實現可以完美的避免這個問題。 Vue屬性綁定 1.使用v-bind 進行屬性綁定 語法: ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...