CSS3禁止网页中文本被选中代码

浏览器支持

目前,只有Gecko和webkit支持该属性,包括基本上所有版本的Firefox/Chrome/Safari,IE10中也将支持该属性。当然,各个浏览器都必须加上私有前缀。Opera尚不支持。

或许你常常不希望用户在你的网站上选择文本,无论是否是出于版权的原因。通常大家会有js来实现,另一个方案就是,将-webkit-user-select 和-moz-user-select 的值设为none,这针对于移动用户,可能会很有用。
请谨慎使用这个属性:因为大部分用户是来查看信息的,他们可以复制并存储下来以备将来之用,所以这种方法既无用也无效。如果你禁用了复制粘贴功能,用户还是可以通过查看源文件来获取到他们想要的内容。

 代码如下 复制代码
body {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

上面的代码兼容所有移动设备的浏览器,下面我们来看看关于user-select的一些介绍。
附:user-select的介绍
user-select是在css3 UI规范中新增的一个功能,用来控制内容的可选择性。
语法
user-select:value;
可选参数
auto——默认值,用户可以选中元素中的内容
none——用户不能选择元素中的任何内容
text——用户可以选择元素中的文本
element——文本可选,但仅限元素的边界内(只有IE和FF支持)
all——在编辑器内,如果双击/上下文点击发生在子元素上,改值的最高级祖先元素将被选中。
-moz-none——firefox私有,元素和子元素的文本将不可选,但是,子元素可以通过text重设回可选。

使用示例

 代码如下 复制代码

.selectDemo{
    background-color:#eee;
    padding:20px;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

如果想支持所有的我们可以

 代码如下 复制代码

<script type="text/Javascript">document.oncontextmenu=function(e){return   false;};document.onselectstart=function(e){return   false;};</script><style>body{-moz-user-select:none;}</style>

加上这一句即可

总结

这个属性,在之前是被用来保护网站的内容,不被用户复制和转载,从而保护资讯的版权,但是这样却对普通用户的用户体验造成了伤害,而且,并不能真正的保护页面中的内容,这对前端开发人员来说,直接查看源代码就可以复制网页中的问题。
现在,HTML5蒸蒸日上,很多网站或者web app会使用到Drag and Drop技术,user-select正好在一些情境中可以用到。

时间: 2024-07-30 08:19:41

CSS3禁止网页中文本被选中代码的相关文章

如何在网页中加入运行脚本代码的功能

如何在网页中加入运行脚本代码的功能  以下是HTML网页特效代码,点击运行按钮可查看效果: [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

C#如何获取当前网页中文本框的值

问题描述 C#如何用webkitbrowser获取当前网页中文本框的值 解决方案 解决方案二:webkitbrowser的官方文档应该有说明吧解决方案三:一定要用这个吗?

网上比较常用的嵌入网页中的播放器代码收藏_网页播放器

例如:网络上最流行的windows media流(asf,wma,wmv格式...),Real流(rm,rmvb...),还有MPEG系列编码格式(MP4/MP3格式...) Windows Media Video 是微软推出的一种流媒体格式,它是在"同门"的ASF(Advanced Stream Format)格式升级延伸来得.在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输.Windows Media Player9兼容所有格式的WMV,官方编码器是Window

javascript动态向网页中添加表格实现代码_javascript技巧

//此段代码在IE9.Firefox.Chorme.safair中测试显示没有问题,给该表格添加了一些简单的样式,基本功能可以实现,还有少量问题有待改进! 效果图如下:  以下是代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <

CSS控制网页中文本的技巧

css|技巧|控制|网页|中文 控制文字的样式 控制文字的样式包括文字大小写.文字修饰两个部分. 1.文字大小写 文字大小写使网页的设计者不用在输入文字时就完成文字的大小写,而可以在输入完毕后,再根据需要对局部的文字设置大小写. 基本格式如下: text-transform: 参数 参数取值范围: ·uppercase:所有文字大写显示 ·lowercase:所有文字小写显示 ·capitalize:每个单词的头字母大写显示 ·none:不继承母体的文字变形参数 注意:继承是指HTML的标识符对

node.js正则表达式获取网页中所有链接的代码实例_node.js

实现代码 复制代码 代码如下: var http = require('http'); //定义函数var getAHref = function(htmlstr){    var reg = /<a.+?href=('|")?([^'"]+)('|")?(?:\s+|>)/gim;    var arr = [];    while(tem=reg.exec(htmlstr)){        arr.push(tem[2]);    }    return a

Extjs中TabPane如何嵌套在其他网页中实现思路及代码_extjs

复制代码 代码如下: var tabPanel = new Ext.TabPanel({ activeTab: 0, region:'center', layoutOnTabChange : false, deferredRender: true, items:[ { title: '百度', layout: 'fit', height: 375, id: 'training_grief_rep_tab_4', border: false, deferredRender: false, //it

html网页中插入flash文件代码

这段代码是在html  页面里面. <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','216','height','128','src','swf/map','quality','high','pluginspag

让元素在网页中可拖动示例代码_jquery

1.导入相应的JS类库: 复制代码 代码如下: <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 2.带有id的div元素: 复制代码 代码如下: <div id="draggable&qu