:: selection和:: - moz-selection(和用户选择?)的多个规则

时间:2012-06-12 21:35:14

标签: css css3 selection

我有网站,我首先设置

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

(仅仅因为艺术效果,不是因为我试图阻止人们复制某些东西。)

但是后来,我希望用户能够从textarea中选择文本。 我能够再次看到选择

#commentarea::selection
{
    background: #070707;
}
#commentarea::-moz-selection
{
    background: #070707;
}
#commentarea
{
    -moz-user-select: element; 
    -khtml-user-select: element; 
    -webkit-user-select: element; 
    -o-user-select: element;
    user-select: element;
}

但是如果用户从textarea中选择了某些内容,则无法通过单击某处取消选择该内容。您只能通过移动插入符(使用箭头键)取消选择文本。

为什么?我该如何防止这种情况?

2 个答案:

答案 0 :(得分:2)

对于Firefox以外的浏览器(至少13.0),Enve的答案是正确的。

对遇到同样问题的人:

在通用选择器(*)中,您必须使用-moz-user-select: -moz-none;,而不是-moz-user-select: none;。 这将解决问题。

答案 1 :(得分:1)

更改

#commentarea
{
    -moz-user-select: element; 
    -khtml-user-select: element; 
    -webkit-user-select: element; 
    -o-user-select: element;
    user-select: element;
}

#commentarea {
    -webkit-user-select: text;
    -moz-user-select: text;
    -khtml-user-select: text;
    -webkit-user-select: text;
    -o-user-select: text;
}

DEMO:http://jsfiddle.net/dWjPQ/1/