【问题标题】:html table alignment in the form表单中的html表格对齐
【发布时间】:2013-05-15 11:45:16
【问题描述】:

我正在使用以下代码在 html 中创建表单。但输出未对齐。在标题和元素之间插入了一个空格。

 [<h2>Update the Transaction Details</h2>       
        <table>
                <tr>
                <h4><td>Transaction Date:</h4></td> <td><input type="text" name="transactiondate" class="tcal" /></td></tr> <br><br>
                <tr><td><h4>Category:</h4></td> <td><select name="category" id="category">
                        <option selected="selected" disabled="disabled"></option>
                            <option value="Electricity">Electricity</option>
                            <option value="Food">Food</option>                  
                            <option value="Others">Others</option>
                        </select></td></tr> <br><br>
                <tr><td><h4>Amount:</h4></td> <td>$<input type="text" name="amount" /></td></tr> <br><br>
                <tr><td><h4>Mode of Payment:</h4></td> <td><input type="radio" name="modeofpayment" value="debit"><h5>Debit</h5></td>
                                <td><input type="radio" name="modeofpayment" value="credit"><h5>Credit</h5> </td></tr> <br><br>
                <tr><td><h4>Comments:</h4></td> <td><input type="text" name="comments" /></td></tr> <br><br>
              <tr><td><input type="submit" name="update" value="Update" /></td></tr>
              </tr></table>

【问题讨论】:

    标签: html forms html-table alignment


    【解决方案1】:

    第一个H4标签在错误的地方打开。

    <h4><td>Transaction Date:</h4></td>
    

    应该是

    <td><h4>Transaction Date:</h4></td>
    

    我制作了一个 jsfiddle 来测试您的代码:http://jsfiddle.net/qLgCX/

    空间实际上是由于您在行之间添加了许多
    标签。这不是表格的布局方式。

    【讨论】:

    • 我更正了

      标签。输出仍然相同。我可以通过在我的 CSS 中包含任何内容来代替表格,以更好的方式做同样的事情吗?

    【解决方案2】:

    除了表示表格数据之外,您不应该真正将表格用于任何其他用途,但除此之外:

    <h4><td>Transaction Date:</h4></td>
    

    应该是:

    <td><h4>Transaction Date:</h4></td>
    

    希望这足以解决您的间距问题!

    再看一遍,我发现您在表格行之后也得到了一些 br。这些不应该是必需的,因为 tr 是块级元素,因此提供了自己的换行符。

    【讨论】:

    • 哈,我猜我打字太慢了!
    • 我更正了

      标签。输出仍然相同。我可以通过在我的 CSS 中包含任何内容来代替表格,以更好的方式做同样的事情吗?

    • 查看您的视觉效果,最简单的方法是将标签和输入字段都向左浮动,同时设置标签的宽度和 clear:left;在它们上,以便每个开始一个新行。
    • #label { display: block; width: 6em; float: left; } 你的意思是这样可以吗?
    • Ric 的权利 - “表格用于表格数据”。有更简单的方法来进行布局(即 - CSS),并且 HTML 代码最好通过以有意义的方式标记来组织内容。
    猜你喜欢
    • 2019-06-09
    • 2019-04-24
    • 2012-12-13
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 2011-10-26
    • 2013-06-22
    • 1970-01-01
    相关资源
    最近更新 更多