Honestamente não sei..
Mas fiquei curioso sobre essa forma de organizar a CSS, que nunca tinha visto.
Imagina que queres usar a classe .noprint, como é que o fazes (sim, sou preguiçoso e não quero ir testar).
Cumps
EDIT: E o que faz a @ ?
off-topic
@ significa "at-rule"
Também uso raramente o @
Por ex.
Código:
<style type="text/css" media="print">
.onlyprint{display: block;visibility: visible;}
.noprint{display: none;visibility: hidden;}
</style>
vai fazer o mesmo que isto
Código:
<style type="text/css">
@media print{
.onlyprint{display: block;visibility: visible;}
.noprint{display: none;visibility: hidden;}
}
Ou com o alfinete já tinha dito podes usar o <link>
Código:
<link rel="stylesheet" type="text/css" href="style.css" media="print" >
ou o @import
Código:
<style type="text/css">
@import url("style.css") print;
</style>
Basicamente o @import será um "include", em vez de estares a escrever dentro do <style> todo o código css.
Enquanto o <link> é uma tag html que te permite fazer várias coisas, o @import será mesmo especifico css, também podes usar para "esconder" o código de browsers mais antigos que não suportam (há vários hacks também para isso).
Acho que é isto, espero não estar a induzir ninguém em erro.
on-topic
O teu problema é o evento onclick não funcionar ou os objectos aparecerem sempre quando fazes print?
Não estou a ver qual é o problema, se por ex. eu fizer isto
Código:
<html>
<head>
<style type="text/css">
@media print{
.onlyprint{display: block;visibility: visible;}
.noprint{display: none;visibility: hidden;}
}
</style>
</head>
<body>
<div class="noprint">
Inside DIV, this should only appear when printing ...
</div>
<button id="btnimprimir" class="noprint" value="imprimir" onclick="window.print();">Imprimir</button>
</body>
</html>
funciona bem no IE6.
Se por ex. tiveres esse código num ficheiro externo e fizeres
Código:
<link rel="stylesheet" type="text/css" href="style_print.css" media="print" >
também não funciona?
Tenta colocar aqui mais código da página, pode ser que alguém te ajude e consiga ver melhor o problema