CSS禁用文本选择

Nei*_*eil 91 css css3

目前,我已将其放在body标签中以禁用文本选择:

body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
Run Code Online (Sandbox Code Playgroud)

但是,我input和textarea盒子现在无法选择.我怎样才能使这些输入元素可选择,其余部分不可选?

Som*_*ory 161

不要将这些属性应用于整个身体.将它们移动到一个类并将该类应用于要禁用的元素选择:

.disable-select {
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}
Run Code Online (Sandbox Code Playgroud)

  • @knutole再次阅读表格.Chrome/Safari不支持`element`的_value_. (5认同)
  • 在Chrome,Safari中[不支持](https://developer.mozilla.org/en-US/docs/Web/CSS/user-select#Browser_compatibility). (3认同)

Rik*_*Rik 30

您还可以禁用所有元素的用户选择:

* {
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
}
Run Code Online (Sandbox Code Playgroud)

然后在元素上启用它,您希望用户能够选择:

input, textarea /*.contenteditable?*/ {
    -webkit-touch-callout:default;
    -webkit-user-select:text;
    -moz-user-select:text;
    -ms-user-select:text;
    user-select:text;
}
Run Code Online (Sandbox Code Playgroud)


Meg*_*lio 10

只是想总结一切:

.unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

<div class="unselectable" unselectable="yes" onselectstart="return false;"/>
Run Code Online (Sandbox Code Playgroud)