user-select介绍
之前在《CSS的未来:一些试验性CSS属性》中有提到user-select这个属性,最近整理的时候有遇到,所以详细的了解了下,这里简单的介绍下。
这是在css3 UI规范中新增的一个功能,用来控制内容的可选择性。
用法:
1 | user-select:value; |
值:
- auto——默认值,用户可以选中元素中的内容
- none——用户不能选择元素中的任何内容
- text——用户可以选择元素中的文本
- element——文本可选,但仅限元素的边界内(只有IE和FF支持)
- all——在编辑器内,如果双击/上下文点击发生在子元素上,改值的最高级祖先元素将被选中。
- -moz-none——firefox私有,元素和子元素的文本将不可选,但是,子元素可以通过text重设回可选。
实例——用鼠标拖动或双击下面的文字试下:
前端观察是一个纯粹的前端技术分享网站,本站的目的是为前端技术人员提供所需的资讯及资源。
向来中国的前端开发领域,就像一盘散沙一样,每个人每个站都各自为营,高手就像就像天空的星星一样多,但是他们的成就却很少广为传播,初学者却苦于在大海一样的设计中寻找自己的参考。
所以本站首先将是挖掘,挖掘国内优秀的原创设计及内容,加以高度的整理。
相信你在这里能够发现自己需要的东西,同时也希望各位能提供一些好的内容给我们。
向来中国的前端开发领域,就像一盘散沙一样,每个人每个站都各自为营,高手就像就像天空的星星一样多,但是他们的成就却很少广为传播,初学者却苦于在大海一样的设计中寻找自己的参考。
所以本站首先将是挖掘,挖掘国内优秀的原创设计及内容,加以高度的整理。
相信你在这里能够发现自己需要的东西,同时也希望各位能提供一些好的内容给我们。
浏览器支持
目前,只有Gecko和webkit支持该属性,包括基本上所有版本的Firefox/Chrome/Safari,IE10中也将支持该属性。当然,各个浏览器都必须加上私有前缀。Opera尚不支持。
结语
这个属性,在之前是被用来保护网站的内容,不被用户复制和转载,从而保护资讯的版权,但是这样却对普通用户的用户体验造成了伤害,而且,并不能真正的保护页面中的内容,这对前端开发人员来说,很容易搞定的吧? …XD
现在,HTML5蒸蒸日上,很多网站或者web app会使用到Drag and Drop技术,user-select正好在一些情境中可以用到。
当然,技术是为人服务的,怎么用都可以,但是,伤害用户体验的产品,最终是得不到用户的吧。。。
如果你喜欢本文,欢迎 订阅本站 以获得本站最新内容。
以前需要使用JS实现的功能,现在CSS也逐渐能实现了~ CSS逐渐突破了表现层的领域。
话说,在google reader里就直接可以复制了……
因为这个是通过CSS实现的,GReader未加载这段CSS,当然没效果咯……
对于其他浏览器的方法:
Javascript:
function disableSelection(target){
if (typeof target.onselectstart!=”undefined”) //IE route
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!=”undefined”) //Firefox route
//-moz-user-select:none
target.style.MozUserSelect=”none”
else //All other route (ie: Opera)
target.onmousedown=function(){return false}
target.style.cursor = “default”
}
//Sample usages
//disableSelection(document.body) //Disable text selection on entire body
//disableSelection(document.getElementById(“mydiv”)) //Disable text selection on element with id=”mydiv”
CSS:
-moz-user-select: none;
-khtml-user-select: none;//webkit
HTML for IE
element.setAttribute(‘UNSELECTABLE’,on)
css管的事情越来越多了。
你看,这样就可以选了…
==================================
实例——用鼠标拖动或双击下面的文字试下:
前端观察是一个纯粹的前端技术分享网站,本站的目的是为前端技术人员提供所需的资讯及资源。
向来中国的前端开发领域,就像一盘散沙一样,每个人每个站都各自为营,高手就像就像天空的星星一样多,但是他们的成就却很少广为传播,初学者却苦于在大海一样的设计中寻找自己的参考。
所以本站首先将是挖掘,挖掘国内优秀的原创设计及内容,加以高度的整理。
相信你在这里能够发现自己需要的东西,同时也希望各位能提供一些好的内容给我们。
浏览器支持
这是哪个浏览器?
就是chrome,你从”实例”两个字开始选定,,一直选到”浏览器支持”,然后复制,中间的也被复制了…
看来chrome/safari处理的不好,Firefox测试正常。
到chrome社区提交了个bug~~
我现在的 Chrome 16.0 没有这个问题
想跟您换个连接,可以吗?等待回复!http://echowong.info/
bingo
css3跟html5好强大,得跟上才行啊。
防复制的话,确实对用户不太友好。不过要是某些地方需要用户复制,这个user-select还是很有用的。