繁体   English   中英

用CSS / HTML格式化考试

[英]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/

对于更高级的版本,您不应使用表格来格式化输出。 在这种情况下,您有一个订单列表,因此,该表将转换为olli元素,并将得分放入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; }

请参阅http://jsfiddle.net/q2YCV/中的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM