CSS禁用文本select
目前,我已经把它放在body标签中来禁用文本select:
body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
但是,我的input
和textarea
框现在是不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;}
而不是body
input你想要的元素列表。
我同意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">