打印网站而不打印链接位置?

Adi*_*ael 32 html javascript css printing

我正在使用一个简单的window.print()调用导航器打印功能; 呼叫.它打印完美(我想打印我在屏幕上看到的相同,所以我并没有真正使用特殊的CSS打印)但它显示文本链接旁边的链接位置,如:

    Homepage (http://localhost)
Run Code Online (Sandbox Code Playgroud)

更清楚一点:我不希望在打印版本的链接附近有链接位置,我可以控制CSS,但我找不到在任何地方定义的这种行为,所以我认为是导航器相关的问题!

编辑:这发生在Firefox 3.6.8和最后一个Chrome,在Ubuntu和Windows XP/Vista上.

mli*_*elt 46

因此,为了避免在打印的网页中打印出链接信息,请在以下@media print部分添加以下规则:

a:link:after, a:visited:after {
    content: "";
}
Run Code Online (Sandbox Code Playgroud)

这将删除丑陋的链接信息Homepage (http://localhost),并将其减少到Homepage.您当然可以添加规则以仅在文本部分中避免它(或仅在导航中,但不应以网页的打印格式显示导航.


mpl*_*jan 23

看起来您正在使用符合CSS2标准的浏览器打印具有此样式的页面

http://www.alistapart.com/articles/goingtoprint/

在完全符合CSS2标准的浏览器中,我们可以在每个浏览器之后插入链接的URL,从而使得它们对于具有打印输出副本和Web浏览器的任何人都非常有用.这是规则,它将此效果限制为"content"div,从而避免在标头中粘贴URL:

#content a:link:after, #content a:visited:after {    
  content: " ("attr(href) ") ";    
  font-size: 90%;   
}
Run Code Online (Sandbox Code Playgroud)

在基于Gecko的浏览器中试用,如Mozilla或Netscape 6.x. 在打印输出中的每个链接之后,您应该在括号中看到链接的URL.

  • 我明白了 - 但是你所描述的行为是明确地放在你正在看的页面中的.要避免在该页面上出现此行为 - 如果它是您的页面,请将其删除,如果不是,请在浏览器中使用userCSS. (2认同)

小智 12

内容:""; 不起作用我使用这个:

@media print {
    .noprint {display:none !important;}
    a:link:after, a:visited:after {  
      display: none;
      content: "";    
    }
}
Run Code Online (Sandbox Code Playgroud)

这可以禁用!


小智 7

目前使用content属性应该适用于所有主流浏览器.

    @media print  - or -  <style type="text/css" media="print">

    a:link:after, a:visited:after {  
        content: normal; //TODO: add !important if it is overridden  
    }
Run Code Online (Sandbox Code Playgroud)

更多选项:CSS内容.

这里使用内容属性更有用的方法:CSS技巧


col*_*lue 5

我的应用服务器(rails)要求我使用父选择器.该body元素非常适合选择整个页面.

body a:link:after, body a:visited:after {    
  content: "";
}
Run Code Online (Sandbox Code Playgroud)


Jer*_*n K 5

我发现其他解决方案(不再)跨浏览器不起作用。以下适用于 FF 29、Chrome 35、IE 11:

a:link:after, a:visited:after {  
  content: normal !important;  
}
Run Code Online (Sandbox Code Playgroud)

  • 遗憾的是,看起来提问者不再使用 SO,但这应该是公认的答案。 (2认同)