首页 > 开发 > CSS > 正文

使用CSS3的::selection改变选中文本颜色的方法

2024-07-11 08:29:39
字体:
来源:转载
供稿:网友

浏览器上页面文字选中后默认的背景色是一种蓝色, 不同浏览器的颜色有些许差异,但大致相同,文字颜色也近乎白色,如下图所示,截自Firefox3.6浏览器:

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

CSS Code复制内容到剪贴板
  1. ::selection {        background:#d3d3d3;    
  2.     color:#555;    }   
  3.    ::-moz-selection {   
  4.     background:#d3d3d3;         color:#555;   
  5. }      
  6. ::-webkit-selection {        background:#d3d3d3;    
  7.     color:#555;    }  

于是,文本选中的默认蓝色背景就此变成了淡灰色,如下图所示,截自Chrome浏览器:

当然,我们可以使用CSS选择器指定特定标签内容文字选中后的样式状态,例如下面所展示的栗色选中状态:

CSS Code复制内容到剪贴板
  1. .maroon::selection {    background:maroon;    
  2. color:#fff;    }   
  3.    .maroon::-moz-selection {   
  4. background:maroon;     color:#fff;   
  5. }      
  6. .maroon::-webkit-selection {    background:maroon;    
  7. color:#fff;    }   
  8. <p class="maroon">...文字内容。</p>  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表