文章里十几个外链,打印出来只有蓝色文字,纸上完全看不出跳去哪,审稿的同事只能拿手机一个个扫。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,屏幕上有下划线或颜色区分,黑白打印后这层区别消失。链接目标只存在 href 属性里,没有用伪元素把地址写进可见文本。

「打印显示链接地址」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

@media print {
  article a[href^='http']::after { content: ' (' attr(href) ')';
    font-size: 9pt; word-break: break-all; }
}

权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

具体做法是,在打印样式里给正文链接加 a::after 输出 attr(href);站内锚点和 javascript 开头的链接排除掉 避免印出无用串;长地址加 word-break 防止顶出页面。

最后用这个标准收尾,打印预览里每个外链后面跟着完整地址,没有超出右边距。

作者 9823189