如何使用CSS3的selection改变选中文本颜色-成都快上网建站

如何使用CSS3的selection改变选中文本颜色

这篇文章主要讲解了“如何使用CSS3的selection改变选中文本颜色”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用CSS3的selection改变选中文本颜色”吧!

靖宇网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

浏览器上页面文字选中后默认的背景色是一种蓝色, 不同浏览器的颜色有些许差异,但大致相同,文字颜色也近乎白色,如下图所示,截自Firefox3.6浏览器:
如何使用CSS3的selection改变选中文本颜色
在CSS3的爸爸妈妈还没有相亲认识的时候,要改变页面上文字选中后的背景色以及文字颜色,就跟让太监生孩子一样困难。但是,随着CSS3呱呱落地,获得越来越多的浏览器认可,一切又显得那么自然而然。虽然有些顽固的糟老头(如IE浏览器)还不认可这个新生的CSS3,但是,丝毫不影响其在其他浏览器上对UI的又一次改进。
目前Firefox、Safari、Chrome以及Opera浏览器都支持文本选择属性,如果浏览器不支持该属性,会直接忽略它,所以不会产生任何不良的影响。
下面就简单展示下这个改进UI体验的小技巧。
改变默认选中颜色
首先,简单点的例子,我们可以设置整个页面文本选中的基本样式,如下:

CSS Code复制内容到剪贴板

  1. ::selection {   

  2.     background:#d3d3d3;    

  3.     color:#555;   

  4. }   

  5.   

  6. ::-moz-selection {   

  7.     background:#d3d3d3;    

  8.     color:#555;   

  9. }   

  10.   

  11. ::-webkit-selection {   

  12.     background:#d3d3d3;    

  13.     color:#555;   

  14. }  

于是,文本选中的默认蓝色背景就此变成了淡灰色,如下图所示,截自Chrome浏览器:
如何使用CSS3的selection改变选中文本颜色
当然,我们可以使用CSS选择器指定特定标签内容文字选中后的样式状态,例如下面所展示的栗色选中状态:

CSS Code复制内容到剪贴板

  1. .maroon::selection {   

  2. background:maroon;    

  3. color:#fff;   

  4. }   

  5.   

  6. .maroon::-moz-selection {   

  7. background:maroon;    

  8. color:#fff;   

  9. }   

  10.   

  11. .maroon::-webkit-selection {   

  12. background:maroon;    

  13. color:#fff;   

  14. }   

  15. ...文字内容。

      


会得到类似下图的效果:
如何使用CSS3的selection改变选中文本颜色

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

CSS Code复制内容到剪贴板

  1. ::selection { color:#333; background-color:#cce8cf;}   

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

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


上面的代码效果如下图(截自 Firefox 5 浏览器):
如何使用CSS3的selection改变选中文本颜色
当然,你也可以结合CSS选择器,指定标签或区域文本选中后的样式状态。如:

CSS Code复制内容到剪贴板

  1. h2::selection { color:#f60; background-color:#cce8cf;}   

  2. p::selection { color:#333; background-color:#cce8cf;}   

  3.   

  4. h2::-moz-selection { color:#f60; background-color:#cce8cf;}   

  5. p::-moz-selection { color:#333; background-color:#cce8cf;}   

  6.   

  7. h2::-webkit-selection { color:#f60; background-color:#cce8cf;}   

  8. p::-webkit-selection { color:#333; background-color:#cce8cf;}  


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

感谢各位的阅读,以上就是“如何使用CSS3的selection改变选中文本颜色”的内容了,经过本文的学习后,相信大家对如何使用CSS3的selection改变选中文本颜色这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


本文标题:如何使用CSS3的selection改变选中文本颜色
网站路径:http://kswjz.com/article/jgocjc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流