一起CSS

当前位置:一起CSS > CSS > 文章正文

用 selection 让“选择”五彩缤纷

从接触网络到现在,选择的文本后的样式似乎一直都是蓝底白字,如下图(截自 Firefox 5 浏览器):

选择文本的默认样式截图

这一成不变的颜色,有没有让你的视觉感到疲劳。你有没有想过换成自己喜欢或者其他颜色呢?也许你会问这个可能吗?之前不可能,但现在,CSS 3 让这个成为可能。

要改变选中文本的颜色和背景颜色,需要使用 CSS3 新增的伪 ::selection,设置颜色 color 和背景颜色 background-colcr 即可,如:

::selection { color:#333; background-color:#cce8cf;}
::-moz-selection { color:#333; background-color:#cce8cf;}
::-webkit-selection { color:#333; background-color:#cce8cf;}


上面的代码效果如下图(截自 Firefox 5 浏览器):

CSS3 selection属性效果截图

当然,你也可以结合CSS选择器,指定标签或区域文本选中后的样式状态。如:

h2::selection { color:#f60; background-color:#cce8cf;}
p::selection { color:#333; background-color:#cce8cf;}

h2::-moz-selection { color:#f60; background-color:#cce8cf;}
p::-moz-selection { color:#333; background-color:#cce8cf;}

h2::-webkit-selection { color:#f60; background-color:#cce8cf;}
p::-webkit-selection { color:#333; background-color:#cce8cf;}

大部分标签使用 selection 没有问题,但 a 标签在不同的浏览器下有差异,有的浏览器 a 标签不会应用上 ::selection 样式(如 FF5,Chrome12),有些浏览器则会应用上 ::selection 样式(如 Opera 11.50)。这可能是有的浏览器认为a比较重要,为了让用户知道这是链接,所以不改变颜色。

查看 Demo 页面:CSS3 ::selection 属性 Demo

目前 Firefox、Safari、Chrome 以及 Opera 浏览器都支持 ::selection 属性,如果浏览器不支持该属性,则会被忽略它,不会产生任何不良的影响。

参与测试的浏览器及支持情况

IE Firefox Chrome Safari Opera
IE6 不支持 FF 3.6 支持 Chrome 12 支持 Safari 4 支持 Opera 11.50 支持
IE7 不支持 FF 4 支持 Chrome 13 支持
IE8 不支持 FF 5 支持
IE9 支持 FF 6 支持

注意:图片表示支持,表示不支持,表示部分支持或需要加前缀。

如果你想让自己的页面更有特色、个性,不妨加上 CSS 3 ::selection 属性,设置自己喜欢的颜色,让“选择”五彩缤纷。

查看:4,679 评论:9 标签:

相关日志

已经有 9 条群众意见

  1. hinesey

    哇,真的能啊?
    我刚学习CSS不久,是从前沿翻墙过来浏览的~~~

    这里有很多可以学习哦,还每个月都有更新 ,
    慢 慢 看 ^_6 对话

    #1
  2. 朱宝祥

    CSS3的众多属性让人掉眼珠,可惜目前支持的情况不太好,不知道好等多久才能成主流 对话

    #2
  3. jfbcb

    以前也纠结过这问题.后来editplug处理的.. 对话

    #3
  4. tradekey

    为了学习这个知识,到处找相关文章,在此也要感谢一下博主了。 对话

    #4
  5. 长兴seo

    2qg2mc你灰常牛B,我灰常滴崇拜侬 对话

    #5
  6. seo千里眼

    原来现在连UTF-16都有了!呵呵! 对话

    #6
  7. 李艳东

    你好,我们是html5中国,想和您的博客换下友情链接。手机:13811074948 对话

    #7
  8. 吉林女性网

    好久没来了,过来支持下博主,希望继续看多更多精彩的内容! 对话

    #8
  9. U盘安全管理

    好久不用divcss了 都有些生疏了呢 对话

    #9

我要发表意见