前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS禁止网页中文本被选中

CSS禁止网页中文本被选中

作者头像
C4rpeDime
发布2020-01-20 10:54:50
1.6K0
发布2020-01-20 10:54:50
举报
文章被收录于专栏:黑白安全黑白安全

现在可以直接使用CSS3禁止网页中文本被选中了,但只兼容Firefox/Chrome/Safari,IE10了,不过也是未来主流了,下面来看看。

或许你常常不希望用户在你的网站上选择文本,无论是否是出于版权的原因。通常大家会有js来实现,另一个方案就是,将-webkit-user-select 和-moz-user-select 的值设为none,这针对于移动用户,可能会很有用。

请谨慎使用这个属性:因为大部分用户是来查看信息的,他们可以复制并存储下来以备将来之用,所以这种方法既无用也无效。如果你禁用了复制粘贴功能,用户还是可以通过查看源文件来获取到他们想要的内容。

代码语言:javascript
复制
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的一些介绍。

CSS禁止网页中文本被选中
CSS禁止网页中文本被选中

user-select的介绍

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

使用示例:

代码语言:javascript
复制
.selectDemo{
     background-color:#eee;
     padding:20px;
     -moz-user-select: none;
     -webkit-user-select: none;
     -ms-user-select: none;
 }

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

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

加上这一句即可

总结

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-015,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • user-select的介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档