仅打印文本区
答
制作一个打印样式表,其中所有元素除了 textarea都设置在CSS中以显示:none;并且对于textarea,overflow:visible。
将其链接到链接标记设置为media =“print”的页面。
你完成了。
答
做出不同的CSS与介质集打印
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
答
如果用户点击“打印”,你可以打开一个新的窗口,只是一个空白页上textarea的内容并从那里开始打印,然后关闭该窗口。
更新:我认为提出的CSS解决方案可能是更好的策略,但如果有人喜欢这个建议,他们仍然可以使它胜利。
答
我会去其他建议的组合。
不要使用样式表覆盖来终止整个页面的打印按钮,而是通过textarea提供一个按钮,让用户只打印这些内容。
该按钮会打开一个新窗口,菜单/铬等,只克隆textarea的内容(或提供打印css文件)
答
我做了一个打印介质CSS来隐藏一些字段。这个问题很复杂,因为我使用nicEdit动态创建一个IFRAME。所以我不得不添加一个事件来处理onblur事件,并将它们复制到一个隐藏的(除了打印)div上。 “divtext”是hiddent Div,而“storyText”是TextArea。
textarea {
display: none;
}
*/ #divtext {
display: block;
}
div, DIV {
border-style: none !important;
float: none !important;
overflow: visible !important;
display: inline !important;
}
/* disable nearly all styles -- especially the nicedit ones! */
#nav-wrapper, #navigation, img, p.message, .about, label, input, button, #nav-right, #nav-left, .template, #header, .nicEdit-pane, .nicEdit-selected, .nicEdit-panelContain, .nicEdit-panel, .nicEdit-frame {
display: none !important;
}
/*hide Nicedit buttons */
.nicEdit-button-active, .nicEdit-button-hover, .nicEdit-buttonContain, .nicEdit-button, .nicEdit-buttonEnabled, .nicEdit-selectContain, .nicEdit-selectControl, .nicEdit-selectTxt {
display: none !important;
}
为nicEdit JavaScript代码:
<script type="text/javascript" src="/media/nicEdit.js"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
var nic = new nicEditor({
fullPanel: true
}).panelInstance('storyText');
document.getElementById("storyText").nic = nic;
nic.addEvent('blur', function() {
document.getElementById("storyText").value =
nic.instanceById('storyText').getContent();
document.getElementById("divtext").innerHTML = nic.instanceById('storyText').getContent();
});
});
</script>
答
做了溢出:可见;在textarea实际上为你们任何人工作? FF3似乎忽略了印刷单上的textarea规则。并不是说它是一个bug或任何东西。
这实际上并不奏效,你试过了吗?在Chrome 8中,textarea上的“overflow:visible”实际上并不打印其内容。 “height:auto”也不是。或我惯常的伎俩。 – 2011-01-06 02:05:20