28

这是一个典型的多项选择考试,假设问题格式:

<question qid='1'>
<stem>What is your name?</stem>
<choice value = 'a'>Arthur, King of the Britons</choice>
<choice value = 'b'>There are some who call me ... Tim!</choice>
<choice value = 'c'>He is brave Sir Robin, brave Sir Robin, who-- Shut up! Um, n-- n-- n-- nobody, really. I'm j-- j-- j-- ju-- just, um-- just passing through.</choice>
<choice value = 'd'>Sir Galahad... the Chaste.</choice>
<choice value = 'e'>Zoot... Just Zoot.</choice>
</question>

我已经通过网络单选按钮将所有这些映射到适当的样式。

现在,我需要制作一个可打印的测试版本。这实际上更简单,因为我不需要包括收音机,只需“___”作为复选标记。主要问题是如何防止问题在分页符上分裂。

4

4 回答 4

40

我从来没有运气一直阻止这样的事情。它可能有点脏,但如果问题通常长度相同,你可以在每 X 个问题后强制分页吗?

<style type="text/css">
.pageBreak{
    page-break-before: always;
}
</style>

<question>...</question><br class="pageBreak" />
<question>...</question>

(或将该课程应用于问题或您想要的任何内容)

您可以尝试使用 page-break-inside 属性,但我还没有看到它是一致的,因为浏览器对它的支持现在一团糟:

question {
    page-break-inside:avoid;
}
于 2010-01-12T19:45:22.607 回答
20

我建议您查看page-break-after,page-break-insidepage-break-beforeCSS 中的规则。

于 2010-01-12T19:41:37.337 回答
1

使用单独的打印样式表,并使用page-break-beforepage-break-after选择器作为每页上的引导和结束问题。

如果测验是静态的,您可以绘制出您使用的类并使其在没有任何其他内容的情况下工作,而无需任何 CSS。

于 2010-01-12T19:57:30.303 回答
1

使用表格布局。但是为了避免改变语义,请使用 CSS。

question {
    display: inline-table;
} 
于 2012-12-06T20:08:03.100 回答