User-select詳解:控制文字選中

一、user-select怎麼樣

user-select屬性控制是否允許用戶選擇文本,以及如何選擇文本。該屬性在CSS3中出現。

如果user-select的值被設置為none,則所有子元素都無法選中文本。而如果值設置為auto,則子元素將跟隨父元素的規則。

對於需要禁止用戶選中的元素,如代碼框或工具提示,可以使用user-select:none(注意,這可能僅適用於WebKit瀏覽器)。

二、user-select的默認行為

默認情況下,user-select是對文本上的滑鼠游標進行的選擇。

下面的代碼段演示了如何使用CSS3 user-select屬性 來控制文字的選中:

    
    * {
        user-select: none;
    }
    

三、user-select的skip屬性

skip屬性指定哪些元素不應影響或限制其父級及其祖先元素的user-select屬性。其可選值為none和all。

例如,當某一行包含一些文本和一個字體圖標時,我們不希望用戶在文本和圖標之間選擇:

    
    .no-user-select, .no-user-select * {
        -webkit-user-select: none; /* Chrome all / Safari all */
        -moz-user-select: none;
        -ms-user-select: none; /* IE 10+ */
        user-select: none; /* Likely future */ 
    }
    

四、user-select的selected屬性

selected屬性允許用戶選中文本,但文字看起來不同。我們可以使用JavaScript和CSS組合來顯示放縮的文本,例如放大的文本,而不是選擇內容。下面是一段CSS代碼,使用了user-select來隱藏一部分內聯CSS,以使放大的文本仍然可見:

  
    #custom-selection {
      /* Define an invisible character */
      font-size: 16px;
      color: rgba(0, 0, 0, 0);
      user-select: none;
      display: inline-block;
      width: 0;
      height: 2em;
    }

    #custom-selection::before {
      /* Display a "normal" character */
      content: '\221A';
      font-size: 32px;
      color: black;
      display: inline-block;
      margin-right: 10px;
      /* No user selection here */
      user-select:none;
    }

    #custom-selection::after {
      /* Display your magnified text here */
      content: 'This text is awesome';
      color: red;
      display: inline-block;
      /* Your style rules here */
      font-size: 48px;
      font-weight: bold;
      background-color: yellow;
      /* No user selection here */
      user-select:none;
    }
  

五、user-select為none的input框不對選取

當設置input元素的user-select為none時,文字不會被選擇,但使用滑鼠拖動仍然可以滾動文本。此時需要通過CSS將文本框禁用掉:

  
    input[type="text"] {
      pointer-events: none;
      user-select: none;
      opacity: .5;
    }
  

此時,input框將不會影響到滑鼠的取詞和選中文本,同時,此輸入框將呈現為禁用狀態。

原創文章,作者:LDSXO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/363825.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LDSXO的頭像LDSXO
上一篇 2025-03-12 18:48
下一篇 2025-03-12 18:48

相關推薦

  • Python飛機大戰中文字資源分析

    Python飛機大戰是一款經典的飛行射擊遊戲,在遊戲過程中,玩家需要控制一架飛機不斷消滅敵人,生存到最後。該遊戲使用Python語言編寫,其中涉及到的文字資源對遊戲的整體體驗有重要…

    編程 2025-04-29
  • 使用SQL實現select 聚合查詢結果前加序號

    select語句是資料庫中最基礎的命令之一,用於從一個或多個表中檢索數據。常見的聚合函數有:count、sum、avg等。有時候我們需要在查詢結果的前面加上序號,可以使用以下兩種方…

    編程 2025-04-29
  • Python如何打出精美文字

    Python作為一種高級編程語言,擁有廣泛的應用領域。其中最常見的一項應用就是文字處理。Python可以幫助我們打出各種類型的文字,從簡單的文本到複雜的圖形和音頻文件都不在話下。 …

    編程 2025-04-28
  • Python定位文字的實現方法

    本文將從多個方面對Python定位文字進行詳細的闡述,包括字元串匹配、正則表達式和第三方庫等方面。 一、字元串匹配 字元串匹配是最基礎的Python定位文字方法,適用於簡單的字元串…

    編程 2025-04-28
  • 使用Python繪圖時如何添加文字

    在Python中繪圖是一種十分重要的數據可視化方式,而其中添加文字則是讓圖像更加生動、信息更加詳細的重要手段。本篇文章可以幫助您學習如何在繪圖中添加文字。在代碼中,我們將使用mat…

    編程 2025-04-28
  • 自動換行後不能全部顯示文字的解決方法

    在網頁設計中,自動換行是非常必要的。但是有時候會出現自動換行後不能全部顯示文字的情況。下面將從多個方面闡述這個問題的解決方法。 一、字型大小和行高 字型大小和行高是影響內容顯示的兩個重要因…

    編程 2025-04-27
  • 使用詞雲圖生成器網站,讓文字更美麗

    詞雲圖是一種非常實用的工具,通過它可以直觀地展示出文字內容的重點。而作為一個全能編程開發工程師,你一定需要掌握一些生成詞雲圖的技巧。這篇文章將從多個方面詳細闡述使用詞雲圖生成器網站…

    編程 2025-04-27
  • 騰訊會議語音轉文字導出教程

    本文將從多個方面對騰訊會議語音轉文字導出進行詳細闡述,包括使用方法、技巧、注意事項等。 一、使用方法 1、進入騰訊會議,選擇需要導出語音的會議記錄,在會議記錄處點擊「導出」。 im…

    編程 2025-04-27
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25

發表回復

登錄後才能評論