原文地址: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”属性的属性值介绍:
- 禁止用户选中
- 对用户的选择没有限制
- 1
- 2
- 3
- 4
- 5
- 6
none
text
all
目标元素将整体被选中,也就是说不能只选中一部分,在你用鼠标选中部分文字时,浏览器会自动选中整个元素里的内容。(谷歌浏览器里好像不太灵?)
Element:可以选择文本,但选择范围受元素边界的约束
(3) 浏览器支持情况
以下图列出的是值为none|text|all的情况下各个浏览器的支持程度;值为element时,大部分浏览器不支持,故不列出。
(4) 说明
1.IE6-9不支持该属性,但支持使用标签属性 onselectstart=”return false;”来达到 user-select:none 的效果;Safari和Chrome也支持该标签属性;
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代码:
html代码: