2016-06-13 42 views
0

我想使用内嵌CSS使一些文本只读。这两种方法在使用标准html页面进行测试时都可以正常工作。使文本只读/不可选

Firefox的语法:

<div style="-moz-user-select: none;">Some text</div> 

铬语法:

<div style="-webkit-user-select: none;">Some text</div> 

不过,我想在一个CMS产品中使用文本编辑器来使用此语法。它适用于Firefox而不是Chrome。我一直在使用它也不起作用最基本的做法也试过:

<div style="user-select: none;">Some text</div> 

我的问题是,是否有使用在线CSS(或HTML)禁用文本块的任何其他方式。因为我们使用的是免费的文本编辑器,所以我们不能使用任何HTML输入类型。

+1

只是将所有3个CSS规则...见[ caniuse](http://caniuse.com/#search=user-select) - Chrome只支持前缀为'webkit'的版本 – Rhumborl

+0

您是否尝试过将所有这些组合在一起我的意思是'

Some text
' –

+4

可能的[ CSS规则禁用文本选择突出显示](http://stackoverflow.com/questions/826782/css-rule-to-disable-text-sele ction-highlighting) – Rhumborl

回答

2

人们可以这三个在线CSS结合起来如下:

<div style="-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;">Some text</div> 

这样,它应该对你所提到的所有的浏览器。 一个可以换这个CSS成一个在链接后 建议作为解释一类是从How to disable text selection highlighting using CSS?报价:

-webkit-触摸标注:无;/* iOS Safari /
-webkit-user-select:none;/
Chrome/Safari/Opera /
-khtml-user-select:none;/
Konqueror /
-moz-user-select:none;/
Firefox /
-ms-user-select:none;/
Internet Explorer/Edge /
user-select:none;/
无前缀的版本,目前 没有任何浏览器都支持*/

人们还可以使用一些JavaScript性能,防止选择:

<div style="-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;" unselectable="on" onselectstart="return false;" onmousedown="return false;">Some text</div> 
+0

是的,我最初尝试过,但它不起作用。我只是简单地将它分解出来。我想知道是否还有其他房产我可以尝试? –

+0

我也看到了你发布的这些信息,但我想知道是否有另一种方式来实现同样的事情,无论是内联的CSS或HTML。从回应的角度来看,没有其他办法可以做到这一点。 –

+0

我想没有别的办法了。然而,如果你想要一个输入字段是只读的,可以添加只读属性:http://www.w3schools.com/tags/att_input_readonly.asp – Baklap4