页面水印问题

html-css014

页面水印问题,第1张

为了保证数据的安全,使得信息的传播可以追溯,和微博图片右下角的水印类似,一些站点会要求加上自己的专属水印。

为了显示的需要,我把其中一个水印颜色做了处理,大致效果如下:

以下为同事提供的一个水印生成脚本

页面引入以上的js 文件,调用方法如下:

水印生成成功,要是这么简单就好了。同事写的脚本原理是在页面上方生成绝对定位的浮动层,即每个水印标签都是一个反转透视的浮动div。那么如果你的div区域还有事件热点区域就惨了,比如我的这个页面要支持滑动,手指上移或者下移要触发页面滚动事件,实际操作时,手指与屏幕的接触位置可能是水印,接触点不在事件的有效元素。

如图,水印所在位置形成了一个事件盲点区域。

为了解决这个问题,我首先尝试手指接触到屏幕时,隐藏水印,但没什么卵用,因为touchstart已经触发。然后我尝试将水印层下移,即z-index比当前层低一层,设置页面整体的透明度,这个效果可以实现,但真个页面的呈现效果会变得比较诡异。

上线在即,我又开始各种检索,最后一个知乎网友处找到方案,但仅支持css3标准,不管啦,问题已经部分解决。万能的简友,有好的方案请一定要给我留言。

什么,你说解决方案。差点忘了,是这样的。首先在脚本里面增加一句,给每个水印加个class属性:

然后在样式表里增加一句:

关于该属性的说明如下:

css样式不可以重复使用。

这是因为,外部css样式和内部css样式同时存在,以内部css样式为准。

内部css样式与标签的style属性同时存在,以style属性的样式为准。

所以,CSS类的优先级更高,如果存在相同的样式属性,CSS类中的定义的样式会覆盖掉