css 点击后样式-使用 CSS3 ::selection 伪元素更改文本选择颜色

关于浏览器文本选择颜色

以我的系统为例(xp默认主题),浏览器上页面文字的默认背景颜色是一种白色,不同浏览器的颜色略有不同,但大致相同,文字颜色为几乎是黑色的css 点击后样式,如下图,从Firefox3.6浏览器截取:

在CSS3的父母相亲认识之前,更改页面上所选文本的背景颜色和文本颜色就像让太监生儿子一样困难。 然而,随着CSS3的诞生以及越来越多浏览器的认可,一切又变得那么自然了。 虽然一些顽固的坏老头(比如IE浏览器)还没有认识到这个新的CSS3,但这并不影响它对其他浏览器上UI的又一次改进。

目前,Firefox、Safari、Chrome和Opera浏览器均支持文本选择属性。 如果浏览器不支持该属性,会直接忽略它,因此不会造成任何不良影响。

下面简单演示一下这个改善UI体验的小技巧。

2.更改默认选择的颜色

首先举个简单的例子,我们可以设置整个页面的文字选择的基本样式,如下:

::selection {
    background:#d3d3d3; 
    color:#555;
}
::-moz-selection {
    background:#d3d3d3; 
    color:#555;
}
::-webkit-selection {
    background:#d3d3d3; 
    color:#555;
}

这样一来,文本选择的默认黑色背景就变成了浅黄色,如下图,取自Chrome浏览器:

当然,我们可以使用CSS选择器来指定文本被选中后特定标签内容的样式状态css 点击后样式,例如下图所示的黑色选中状态:

.maroon::selection {
    background:maroon; 
    color:#fff;
}
.maroon::-moz-selection {
    background:maroon; 
    color:#fff;
}
.maroon::-webkit-selection {
    background:maroon; 
    color:#fff;
}

...文字内容。

你会得到类似右图的疗效:

同样,你可以根据自己的需要指定CSS选择器以及对应内容文本/图片的选定样式,这里就不举例了。