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;

}
相关推荐
前端缘梦几秒前
Next.js 实现AI流式输出(打字机效果)
前端·面试·全栈
oscar999几秒前
给 Claude Code 装上浏览器:Chrome 集成测试版详解
前端·chrome·集成测试·浏览器
美团内卖2 分钟前
雪碧图还在手写 background-position?试试这款 Vite + Vue3 构建期雪碧图插件
前端
大萝卜呼呼2 分钟前
Next.js第三课 - 布局与页面 - 优栈
前端·next.js
码云数智-园园3 分钟前
Java接口与抽象类:从设计哲学到应用场景的深度辨析
前端
莱昂晨3 分钟前
Vue 3偶发字体乱码 - 原因探究
前端·javascript·vue.js
AlkaidSTART4 分钟前
0 基础入门 Zustand:新手友好的 React 状态管理方案
前端·javascript
云天0014 分钟前
前端私活神器,nodejs+vue3+typescript全栈框架,
前端·后端·node.js
我命由我123456 分钟前
HTML 开发 - HTML 描述列表标签(<dl>、<dt>、<dd>)
前端·javascript·css·html·css3·html5·js
白开水都有人用12 分钟前
点击数据行选中复选框-抽离公共方法
java·前端·html