表格用于表单可以接受吗? 还是使用div更加正确?

我想知道是否可以使用table来表格。

严格来说,名称/值对是表格数据,不是吗? 而表单只是用户可自定义的一组名称/值对。 那么在这种情况下使用table s是否正确? 或者我应该使用与CSS风格的div


两者都是正确的。

我preffer使用一些div / li ,因为这可以让我做一些不同的布局,但tablesforms并不令人难以接受的。

实际上,默认情况下,Django会为您提供表格格式。


尝试字段集

我更喜欢用一个<legend>将字段分解为逻辑<fieldset> s,因为:

  • 代码不那么混乱
  • 默认的格式是用户友好的(我特别喜欢图例的显示方式)
  • 使用CSS进行样式设计很容易
  • 这是一个代码示例。 请注意,标签' for属性可让您单击该标签以将焦点移至指定的输入(它与id属性相匹配)。

    <form>
      <fieldset>
        <legend>Wombat Statistics</legend>
        <ol>
          <li>
            <label for="punchstrength">Punch Strength</label>
            <input id="punchstrength" name="punchstrength" />
          </li>
          <li>
            <label for="beverage">Favorite Beverage</label>
            <input id="beverage" name="beverage" />
          </li>
        </ol>
      </fieldset>
      <fieldset>
        <legend>Questions That Are Too Personal</legend>
        <ol>
          <li>
            <label for="creditcard">What is your credit card number?</label>
            <input id="creditcard" name="creditcard" />
          </li>
          <li>
            <label for="gullibility">Did you actually fill that in?</label>
            <input id="gullibility" name="gullibility" />
          </li>
        </ol>
      </fieldset>
    </form>
    

    对于基本布局,您可以使用如下所示的内容:

    label, input, textarea, select { 
      display: inline-block; vertical-align: top; width: 30%; 
    }
    

    请参阅本文以获得更深入的教程。


    表单不是表格数据。

    使用CSS布局表单元素非常简单,我没有看到任何值得使用表格混淆标记的值。 就我个人而言,我发现使用CSS布局表格比使用表格更容易。 例如:

    HTML:

    <fieldset>
      <label for="FirstName">First Name</label>
      <input type="text" id="FirstName" />
    
      <label for="LastName">Last Name</label>
      <input type="text" id="LastName" />
    
      <label for="Age">Age:</label>
      <select id="Age">
        <option>18-24</option>
        <option>25-50</option>
        <option>51-old</option>
      </select>
    </fieldset>
    

    CSS:

    fieldset {
      overflow: hidden;
      width: 400px;
    }
    
    label {
      clear: both;
      float: right;
      padding-right: 10px;
      width: 100px;
    }
    
    input, select {
      float: left;
    }
    

    使用该主题的简单变体,您可以制作外观漂亮,易于使用的表单,无论如何,这些表单实际上比表格更易于使用。 我已经使用了这种基本的方法,并将它提升到一些相当复杂的多列数据输入表单,没有出汗。

    链接地址: http://www.djcxy.com/p/88185.html

    上一篇: Is it acceptable to use tables for forms? Or is it still more correct to use divs?

    下一篇: based layouts for web pages