Html 阻止元素参与文本选择

Html 阻止元素参与文本选择,html,css,textselection,Html,Css,Textselection,我在中有一些源代码,行号在单独的中。选中文本后,行号将随文本一起出现,并随后进行复制。有没有办法防止行号成为选择的一部分,即使我选择了源代码块上方和下方的元素 #id-name { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select:

我在
中有一些源代码,行号在单独的
中。选中文本后,行号将随文本一起出现,并随后进行复制。有没有办法防止行号成为选择的一部分,即使我选择了源代码块上方和下方的元素

#id-name {
   -webkit-touch-callout: none;
   -webkit-user-select: none;
   -khtml-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}
::-moz-selection {
   background: transparent;
}
::selection { 
   background: transparent; 
}
我希望避免使用JavaScript,以方便那些不使用JavaScript进行浏览的人。(使用JavaScript,我会添加一个按钮来隐藏行号)


unselectable=“on”
和各种特定于供应商的
user select
CSS属性不起作用;数字仍然被选择和复制。

给出要阻止选择id的元素

然后将其放入CSS中:


啊。我现在明白了。元素看起来仍然处于选中状态(我使用的是Firefox),但是文本实际上没有被选中,也没有复制任何内容。要禁用选择外观,我在元素上添加了
:-moz selection{background:transparent;}
::selection{background:transparent;}
。能否将
::selection
位添加到答案中?(如果你不介意的话)@nneonneo:如果这解决了你的问题,请把它标记为答案。谢谢