【问题标题】:display:table, rows not level显示:表格,行不水平
【发布时间】:2023-04-01 20:25:02
【问题描述】:

我试图使用表格布局来显示我的表单。休息按钮与提交按钮不齐,我不知道如何解决这个问题。

任何帮助将不胜感激,谢谢!

CSS:

body
{
    display:table
}

col1,col2
{
    display:table-cell;
}

http://jsfiddle.net/uhqAX/

【问题讨论】:

  • 您的 CSS 显示 #login col1,但您的 HTML 中没有 id="login",因此第二个 CSS 规则永远不会针对 col1 触发,仅针对 col2。如果有的话;一些浏览器拒绝处理无效的 HTML 元素并且不对它们应用 css。
  • 有,我只是在小提琴中错误地粘贴了代码-更新
  • 无论如何,你最好模拟一张真实的桌子。包括表格行!
  • @MrLister 我不使用表格标签,因为表格标签不是用于布局的,它们是用来制表数据的。
  • @Neeta:仅当这些标签非常特定于您的应用程序时才使用自定义标签。另一个不规范的例子是http状态码,如果服务器返回401(未授权),我们都知道是什么意思。但是,如果您设计自己的状态(600 表示未授权),只有您的应用知道。

标签: css tablelayout


【解决方案1】:

CSS:

body
{
    display:table
}
div.row
{
    display:table-row;
}
div.cell
{
    display:table-cell;
}

HTML:

<div class="row">
  <div class="cell">
        <label for="Username">Username</label>
  </div>
  <div class="cell">
      <input data-val="true" data-val-length="The Username must be at least 5 characters long." data-val-length-max="10" data-val-length-min="5" data-val-required="The Username field is required." id="Username" name="Username" type="text" value="" />
  </div>
</div>   
<div class="row">   
  <div class="cell">  
        <label for="Password">Password</label>
  </div>    
  <div class="cell">
     <input data-val="true" data-val-length="The Password must be at least 4 characters long." data-val-length-max="10" data-val-length-min="4" data-val-required="The Password field is required." id="Password" name="Password" type="text" value="" />       
  </div>
 </div>  
 <div class="row">
   <div class="cell">
      <input id="resetButton" type="reset" value="Reset" runat="server"/>
   </div>
   <div class="cell">
       <input id="submitButton" type="submit" value="Submit" runat="server"/>
   </div>
 </div>

您使用表格布局的方式不正确。您的代码实际上只有 2 个单元格,并且您使用 &lt;br/&gt; 创建新行,这不是表格布局的工作方式。

检查demo。在这个演示中,如果你注意到的话,你会看到文本UserName, Password 也是垂直对齐的

旧:

我想知道为什么在这种情况下你不使用 table 标签。你应该知道使用display:table,display:table-row,display:table-cell有浏览器兼容性问题(不是所有浏览器都支持)

更新: 不使用表格标签的原因是“语义网”。我们选择标签的依据是它们的含义,而不是表现形式。在这种情况下,表格标签不适合,因为表格标签用于表格数据,而不是布局。演示应该是 Css 角色

【讨论】:

  • 我不使用表格标签,因为表格标签不是用于布局的,它们是用来制表数据的。
  • @Neeta:我忘记了“语义网”。我们应该根据their meanings来选择标签,而不是通过展示来选择标签。
  • col1col2 没有意义。
  • 谢谢@KhanhTO,你非常有帮助。
猜你喜欢
  • 2015-01-31
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多