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;

}
相关推荐
袅沫35 分钟前
Nginx中部署多个前端项目——区分路径
服务器·前端
Asize40 分钟前
为什么写代码前要先规划组件树?Next.js + Redis 笔记系统实战
前端·javascript·next.js
用户9210802628644 分钟前
6. 数据大屏 WebSocket 稳定性优化:心跳检测、断点续传和消息去重
前端
柚yuzumi44 分钟前
CSS 定位布局:让元素各就各位
前端·css
光影少年1 小时前
react navite图片加载优化、大图卡顿、缓存策略
前端·react native·react.js
小林ixn1 小时前
用 Next.js 和 Redis 撸一个 Markdown 笔记系统:RSC 实战与组件化拆解
前端·redis·next.js
渣波1 小时前
重构旅行体验:基于 React 的 AI 旅游助手对话系统实战解析
前端·javascript
今日无bug1 小时前
列表转树:一道题搞懂 HashMap 在算法里的价值
前端·数据结构
用户921080262861 小时前
5. 数据大屏实时通信第一步:为什么选择 WebSocket,以及如何接入 Socket.IO
前端
岁月留痕1681 小时前
17 实战项目二:实现“日记”项目多页面管理
前端