使用CSS里的user-select属性控制用户在页面上选中的内容

原文地址:http://blog.csdn.net/qq_34348873/article/details/52184966

CSS里的user-select属性用来禁止用户用鼠标在页面上选中文字、图片等,也就是,让页面内容不可选。也可以只允许用户选中文字,或者全部都放开,用户可以同时选中文字、还包括文本里的图片、视频等其它东西。user-select属性的作用是元素级别的,它不仅可以作用整个页面,也可以只在指定的元素和其子元素上生效。

写这篇文章的时候,“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;

下面是“user-select”属性的属性值介绍:

none
禁止用户选中
text
对用户的选择没有限制
all

目标元素将整体被选中,也就是说不能只选中一部分,在你用鼠标选中部分文字时,浏览器会自动选中整个元素里的内容。(谷歌浏览器里好像不太灵?)

Element:可以选择文本,但选择范围受元素边界的约束

(3) 浏览器支持情况

以下图列出的是值为none|text|all的情况下各个浏览器的支持程度;值为element时,大部分浏览器不支持,故不列出。 
浏览器兼容图

(4) 说明

1.IE6-9不支持该属性,但支持使用标签属性 onselectstart=”return false;”来达到 user-select:none 的效果;SafariChrome也支持该标签属性;

2.直到Opera12.5仍然不支持该属性,但和IE6-9一样,也支持使用私有的标签属性 unselectable=”on” 来达到 user-select:none的效果;unselectable 的另一个值是off;

3.除Chrome和*Safari外,在其它浏览器中,如果将文本设置为 -ms-user-select:none;,则用户将无法在该文本块中开始选择文本。不过,如果用户在页面的其他区域开始选择文本,则用户仍然可以继续选择将文本设置为 -ms-user-select:none; *的区域文本;

4.对应的脚本特性为userSelect

(5) 示例

css代码:

.box{
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

html代码:

<div class="box" onselectstart="return false;" unselectable="on">
    这是测试数据
</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值