[英]Formatting an Exam in CSS/HTML
我想在线格式化考试文字。 经过上下搜索,这是我唯一能想到的解决方案:
<table>
<tr><td colspan="3">Question 1</td><td>[24]</td></tr>
<tr><td>1.1</td><td colspan="2">Solve for $x$</td></tr>
<tr><td></td><td>1.1.1</td><td>$(3x+7)(x^2+2)=0$</td><td>(3)</td></tr>
<tr><td></td><td>1.1.2</td><td>$\sqrt{2-x} - x = 4$</td><td>(5)</td></tr>
<tr><td>1.2</td><td colspan="2">The equations of two parabolas are $y = x^2 +
x + c$ and $y = 1 - cx - x^2$, where $c$ is a real number.</td></tr>
<tr><td></td><td>1.2.1</td><td>Prove that these parabolas must intersect
for all real values of $c$.</td><td>(6)</td></tr>
</table>
试图让每个问题排成一行。 我看过使用HTML列表,但是在插入图形等时它们会出现问题。 有什么我想念的吗? 有没有更快的方法来输入? 我的问题仅在于格式化,在寻找答案的同时找出了CSS中的计数器。
非常感谢一位绝望的老师和noobie。
如果您的问题是垂直对齐,请在最上方将问题编号和分数,最直接的答案是添加CSS样式vertical-align:top;
。
所以你的CSS应该是这样的:
td {
vertical-align:top;
}
看到这个http://jsfiddle.net/dyPR9/
对于更高级的版本,您不应使用表格来格式化输出。 在这种情况下,您有一个订单列表,因此,该表将转换为ol
和li
元素,并将得分放入div
元素中:
<ol>
<li class="mainquestion">Question 1
<div class="score">[24]</div>
</li>
<ol>
<li>Solve for $x$</li>
<ol>
<li>$(3x+7)(x^2+2)=0$
<div class="score">(3)</div>
</li>
<li>$\sqrt{2-x} - x = 4$
<div class="score">(5)</div>
</li>
</ol>
</ol>
</ol>
CSS应该负责演示:
OL { counter-reset: item }
LI { display: block }
LI:before { content: counters(item, ".")" "; counter-increment: item }
ol:first-child { padding: 0; }
li.mainquestion { list-style: none; }
li.mainquestion+ol { padding: 0; }
li.mainquestion:before { content: ""; counter-increment: item }
div.score { float: right; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.