CSS禁用文本select

目前,我已经把它放在body标签中来禁用文本select:

body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } 

但是,我的inputtextarea框现在是不input 。 我怎样才能使这些input元素可选,其余的不可选?

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

 .disable-select { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } 

您也可以禁用所有元素的用户select:

 * { -webkit-touch-callout:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } 

而不是启用它的元素,你希望用户能够select:

 input, textarea /*.contenteditable?*/ { -webkit-touch-callout:default; -webkit-user-select:text; -moz-user-select:text; -ms-user-select:text; user-select:text; } 

只是想总结一切:

 .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;"/> 
 ::selection,::moz-selection {color:currentColor;background:transparent} 

为此使用通配符select器*

 #div * { /* Narrowing, to specific elements, like input, textarea is PREFFERED */ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } 

现在div div div id中的每个元素都没有select。

演示

你可以禁用所有的select

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

现在您可以启用input和文本区域启用

 input, textarea{ -webkit-touch-callout:default; -webkit-user-select:text; -khtml-user-select: text; -moz-user-select:text; -ms-user-select:text; user-select:text;} 

而不是bodyinput你想要的元素列表。

我同意Someth胜利,你需要添加一个特定的类,你想成为一个不可选的元素。

另外,您可以使用javascript在特定情况下添加此类。 这里的例子在CSS的帮助下使内容不可选 。

无处不在select

 input, textarea ,*[contenteditable=true] { -webkit-touch-callout:default; -webkit-user-select:text; -moz-user-select:text; -ms-user-select:text; user-select:text; } 

IE7

  <BODY oncontextmenu="return false" onselectstart="return false" ondragstart="return false">