CSS user-select文本是否可复制

1. 概述

1.1 说明

在项目过程中,有时候需要网页中内容信息不可被复制进行保护数据信息,故可使用css属性user-select进行控制用户能否选中文本。

1.2 语法

user-select : none | text | all | contain | auto

    • none:文本不能被选择,即不可选中复制
    • text:可以选择文本,即可以选中复制文本信息
    • all:当所有内容作为一个整体时可以被选择。如果双击或者在上下文上点击子元素,那么被选择的部分将是以该子元素向上回溯的最高祖先元素。
    • contain(element):可以选择文本,但选择范围受元素边界的约束,仅在IE中受支持
    • auto:
      • 在::before和::after伪元素上,计算值是none
      • 如果元素是可编辑元素,则计算值是contain
      • 否则,如果此元素的父元素的user-select的计算值为all,计算值则为all
      • 否则,如果此元素的父元素的user-select的计算值为none,计算值则为none
      • 否则,计算值则为text

默认值:text

适用于:除替换元素外的所有元素

1.3 user-select 使用

  • user-select属性的语法:
    • user-select: none;
    • user-select: auto;
    • user-select: text;
    • user-select: contain;
    • user-select: all;
  • 火狐浏览器
    • -moz-user-select: none;
    • -moz-user-select: text;
    • -moz-user-select: all;
  • 谷歌浏览器
    • -webkit-user-select: none;
    • -webkit-user-select: text;
    • -webkit-user-select: all;
  • IE浏览器
    • -ms-user-select: none;
    • -ms-user-select: text;
    • -ms-user-select: all;
    • -ms-user-select: element;

  说明:

    1.IE6-9不支持该属性,但支持标签属性  onselectstart="return false;"[IE/Safari/Chrome] 来达到 user-select:none的效果

    2.Opera 12.5之前也不支持该属性,支持私有的标签属性 unselectable="on" 来达到user-select:none的效果,on对应的是off

    

 2. 代码

2.1 代码示例

  一般使用如下:

  -webkit-user-select:text;
  -moz-user-select:text;
  -ms-user-select:text;
  user-select:text;

 

 

 

 

  

posted @ 2019-05-13 11:01  ajuan  阅读(2719)  评论(0编辑  收藏  举报