利用CSS3的selection伪类隐藏文本
网页的文字有一个“硬伤”,你去选择它的时候,底部会显示一个蓝色背景。虽然没几个用户会去选择,哪怕是要复制文本也不会介意这个颜色的好看与否。但是对于强迫症患者来说,这个问题足以让他们连续几晚寝食不安,彻夜难眠。
css3终于来拯救他们了,虽然旧版的IE不支持CSS3,但随着webkit内核在国产浏览器中的逐步普及,老版IE现在真的可以洗洗睡了。
实现这个功能的,是CSS3的新伪类selection。
请看下面的代码:
p::selection{
background:#f00;
}
p::-moz-selection{
background:#f00;
}
p::-webkit-selection{
background:#f00;
}
p::o-selection{
background:#f00;
}
需要注意的是冒号一定要两个,不然有的浏览器不识别。
不同前缀用于兼容不同的浏览器,然而没有旧版IE的份儿。
这是一个很简单的东西,查手册是分分钟的事。之所以要写这篇教程,是因为技术狂人总喜欢钻牛角尖,不把这些新属性玩转个360度就不高兴,其中的一种玩法就是让文本选中的时候自动隐藏。
做法其实不难,把文字颜色和选中时的背景颜色设置成一样即可。
下面来看看完整的html代码:
运行效果如下图所示,span和p元素都显示为红色,因为它们都继承body。
但是当鼠标选取文本时,效果就成这样了
哎呦,你这么折腾好玩么?就是逗用户玩,让用户误以为选不中文字,或者系统出问题了要重装?
没错,在天朝,程序员确实是个很苦逼的群体。他们处于社会最底层,过着卑躬屈膝,任人凌辱的生活,直到夜深人静了,才拥有“属于自己”的时间与泡面作伴,实则还是在为老板卖命。本教程所展示的案例,正是程序员们黄连树下唱小曲——苦中作乐的真实写照。