css 禁止用户选中元素

一、使用`user-select`属性

1. `user-select: none;`

可以直接应用于特定的元素,阻止用户选中该元素的文本内容。

css 复制代码
.disabled-element {

  user-select: none;

}

然后在 HTML 中,将这个类应用到需要禁止选中的元素上

html 复制代码
<p class="disabled-element">这段文本不能被选中。</p>

2. 还可以使用`all`值来禁止选中元素及其子元素的文本

`.parent-element`的直接子元素不会被选中,但如果其子元素设置了`user-select`为其他值,可能会覆盖父元素的设置。

css 复制代码
.parent-element {

  user-select: none;

}

.parent-element * {

  user-select: inherit;

}

二、使用其他方式间接实现

1. `pointer-events`

通过设置元素的`pointer-events`属性为`none`,可以阻止鼠标事件,间接实现不能选中的效果,但这也会阻止其他鼠标交互,如点击等。

css 复制代码
.blocked-element {

  pointer-events: none;

}

2. 对于一些特定的标签

如`input`、`textarea`等,可以设置`readonly`或`disabled`属性来阻止用户编辑和选中内容,但这会改变元素的外观和行为。

css 复制代码
input[readonly],

textarea[readonly] {

  -webkit-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

}
相关推荐
刘天远20 分钟前
Agent成本核算实现:事件表、状态分布与Python归集
前端·数据库·人工智能·python
欣欣之王来了22 分钟前
开发环境准备:Node.js、npm、VS Code安装配置
前端·学习·架构·项目·vue3教程
xiaolinudao12328 分钟前
将多个 Excel 表格中的数据合并到单个表中|6 种实现方案全解析
java·前端·excel
LRL_1 小时前
跨平台 Node 模块安装指南:如何利用 pnpm/npm 配置`supportedArchitectures` 锁定平台依赖
前端·npm·node.js
EatFan1 小时前
React 项目踩坑实录:useEffect 闭包陷阱、Context 性能陷阱与 React 18 升级避坑排查手册
前端·javascript·react.js·react·react hooks·useeffect·闭包陷阱
风骏时光牛马2 小时前
企业业务运营信息数据库
前端
IT_陈寒3 小时前
Vue的数组更新把我坑惨了
前端·人工智能·后端
于航3 小时前
分层上下文压缩,幻觉检测,错误累积概要
前端
数据掘金3 小时前
鸿蒙统计的权限弹窗怎么适配?
前端
数据掘金3 小时前
鸿蒙统计的多设备协同数据怎么打通?
前端