CSS user-select文本是否可复制

1. 概述

1.1 说明

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

1.2 语法

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

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

默认值:text浏览器

适用于:除替换元素外的全部元素spa

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;

  说明:code

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

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

    

 2. 代码

2.1 代码示例

  通常使用以下:it

 -webkit-user-select:text; -moz-user-select:text; -ms-user-select:text; user-select:text;
相关文章
相关标签/搜索