跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

CSS伪元素实现网页水印背景_利用重复平铺与透明度

水印常见问题及解决方案:透明度需用rgba控制在0.05–0.15;伪元素须设fixed定位覆盖全视口;优先用SVG背景替代transform旋转防模糊;打印时改用static定位和HTML内嵌确保可见;需多端多模式反复验证。 水印文字不显示或显示为实色块 常见原因是
color
background-color
被设成不透明黑/白,盖住了底层内容。 伪元素 默认是不透明的,必须显式控制透明度。 用
color: rgba(0, 0, 0, 0.08)
替代
color: #000
,透明度建议在
0.05–0.15
之间,太低看不见,太高干扰阅读 避免对伪元素设置
background-color
,它会遮挡页面内容;水印应靠文字本身半透叠加实现 如果用了
background-image
生成文字(如 base64 SVG),也要确保 SVG 内部 fill 是
rgba()
,而非纯色 水印无法平铺覆盖整个页面背景 伪元素默认尺寸为 0×0,
content: ""
不触发渲染,必须手动撑开并定位。 给伪元素加
position: fixed
+
top: 0; left: 0; width: 100vw; height: 100vh
,确保覆盖视口全区域 用
background-image: linear-gradient(...), linear-gradient(...)
多层渐变模拟重复文字,比
background-repeat: repeat
更可控 若用
::before
挂在某个容器上(如
body::before
),需确认该容器有高度且未被
overflow: hidden
截断 旋转水印文字模糊或错位 CSS
transform: rotate()
在非整数角度或高DPI屏下容易发虚,尤其文字边缘。 优先用
background-image
内嵌 SVG,SVG 中用
text
元素 +
transform="rotate(-30)"
,渲染更锐利 若坚持用伪元素文字,加
-webkit-font-smoothing: antialiased
backface-visibility: hidden
减少模糊 旋转中心点默认是元素中心,若文字偏移,需配合
transform-origin: center
显式声明,否则平铺后接缝错乱 打印时水印消失或错位 浏览器打印预览通常禁用
fixed
定位和部分
background-image
,水印极易丢失。 使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件 如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Andr​​oid友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Andr​​oid应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更 下载 立即学习 “ 前端免费学习笔记(深入) ”; 打印样式中改用
@media print { body::before { position: static; display: block; } }
,放弃 fixed 把水印文字写进 HTML(如一个隐藏
),再用打印样式控制显示,比纯 CSS 更可靠
  • 避免依赖 vw/vh
  • 单位,打印时它们行为不一致;改用
    %
    或固定
    px
    值,并测试 A4 纸实际尺寸(约
    210mm × 297mm
    ) 真正难的是让水印在各种缩放、滚动、打印、深色模式下都“存在但不打扰”——它不是加了就完事,而是要反复在 Chrome/Firefox/Safari 的开发者工具里切到不同设备模拟器和打印预览里看三遍。

    相关文章