问题 无法覆盖子节点上的用户选择?


我正在尝试添加一个CSS规则,使默认行为不允许选择页面上的文本或元素。然后,我为特定节点(例如段落或标题文本)添加规则,以允许对它们进行文本选择。

不幸的是,这不能按预期工作,似乎无法在子节点上覆盖此设置。

检查这个jsfiddle,看看我的意思:

http://jsfiddle.net/cH8WD/

知道我怎么能让它正常工作?

谢谢

编辑:

为了更好地说明问题:

http://jsfiddle.net/cH8WD/5/


11587
2017-10-12 14:06


起源



答案:


尝试“文本”而不​​是“正常”,如:

* {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: -moz-none;
    -o-user-select: none;
    user-select: none;
}

p, h1, h2, h3, h4, h5 {
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -o-user-select: text;
    user-select: text;
}

编辑:对于FireFox,我更改了行“-moz-user-select:none;”到“-moz-user-select:-moz-none;”


15
2017-10-12 14:20



没什么区别。您可以通过修改我的版本中的值来自己尝试使用jsfiddle。 - Naatan
我尝试使用Chrome,它对我有用。 “正常”不起作用,但“文本”起作用。我现在会检查其他浏览器。 - Emir Akaydın
好吧,我正在测试Firefox,它有同样的问题,无论是“正常”,“文本”,“自动”还是其他任何东西。不幸的是,我需要一个适用于所有浏览器的解决方案。 - Naatan
好的,我解决了这个问题。检查我的帖子上的更新。 - Emir Akaydın
太棒了,非常感谢!你是怎么设法搞清楚那一个的?具有与“无”操作不同的“-moz-none”的Firefox并不完全直观。 - Naatan


答案:


尝试“文本”而不​​是“正常”,如:

* {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: -moz-none;
    -o-user-select: none;
    user-select: none;
}

p, h1, h2, h3, h4, h5 {
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -o-user-select: text;
    user-select: text;
}

编辑:对于FireFox,我更改了行“-moz-user-select:none;”到“-moz-user-select:-moz-none;”


15
2017-10-12 14:20



没什么区别。您可以通过修改我的版本中的值来自己尝试使用jsfiddle。 - Naatan
我尝试使用Chrome,它对我有用。 “正常”不起作用,但“文本”起作用。我现在会检查其他浏览器。 - Emir Akaydın
好吧,我正在测试Firefox,它有同样的问题,无论是“正常”,“文本”,“自动”还是其他任何东西。不幸的是,我需要一个适用于所有浏览器的解决方案。 - Naatan
好的,我解决了这个问题。检查我的帖子上的更新。 - Emir Akaydın
太棒了,非常感谢!你是怎么设法搞清楚那一个的?具有与“无”操作不同的“-moz-none”的Firefox并不完全直观。 - Naatan