我在网页上使用了opacity: 0.1;
,使文字几乎看不见。
我希望在选中时能够变得可见。
然而,选中的颜色也几乎看不见。不幸的是,::selection
不能改变透明度。
::selection
中使用opacity
属性。它从未是允许的属性之一,即使它被实现了,也没有意义,因为你并没有修改元素本身的透明度。rgba()
颜色,而不是在整个元素上使用opacity
。这不是理想的解决方法,但至少对于颜色来说是可行的。
body {
color: rgba(0, 0, 0, 0.1);
}
::-moz-selection {
color: rgba(0, 0, 0, 1);
}
::selection {
color: rgba(0, 0, 0, 1);
}
<p>Almost invisible text that turns opaque on selection.
::selection
时,他们进行了一些实验。请参阅CSS3规范的旧版本:http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#UIfragments。然而,后来这个功能被删除了,所以它不再是标准的一部分。但是现在你提到了这一点,如果其他已有的伪元素(如`::first-line`或`::first-letter`)只适用于一组有限的属性,我也不会感到惊讶,但对此我不太确定。 - BoltClock不要使用不透明度,只需在rgba颜色中设置alpha值,如下所示...
::selection {
background: rgba(255, 255, 0, 0.5)
}