问题描述:在使用vue-admin系统的时候,有时候比较懒想复制页面的文字测试一下某某功能,突然发现鼠标无法选中文字,进行复制。那么问题来了,为何无法选中?

原因:css3 UI规范中新增的一个功能user-select,用来控制内容的可选择性,当前被设置成了页面文字不可选中

介绍:

user-select:值

  • auto——默认值,用户可以选中元素中的内容

  • none——用户不能选择元素中的任何内容

  • text——用户可以选择元素中的文本

  • element——文本可选,但仅限元素的边界内(只有IE和FF支持)

  • all——在编辑器内,如果双击/上下文点击发生在子元素上,该元素的最高级祖先元素将被选中。

  • -moz-none——firefox私有,元素和子元素的文本将不可选,但是input输入框中的文字除外(IE浏览器下是通过onselectstart="javascript:return false;"事件来实现该功能的)

而我们把值设置成了none,所有无法选中

解决方案:

在全局css文件里设置user-select:text就行了,如下:

div{

-webkit-user-select: text;

-moz-user-select: text;

-o-user-select: text;

user-select: text;

}

就此解决问题

  • 三、结语

  • 这个属性,在之前是被用来保护网站的内容,不被用户复制和转载,从而保护资讯的版权,但是这样却对普通用户的用户体验造成了伤害,而且,并不能真正的保护页面中的内容,通过查看源代码其实也可以复制。。。

  • 现在,HTML5蒸蒸日上,很多网站或者web app会使用到Drag and Drop技术,user-select正好在一些情境中可以用到。

Logo

前往低代码交流专区

更多推荐