【问题标题】:How to align multiple form elements?如何对齐多个表单元素?
【发布时间】:2011-07-15 07:46:11
【问题描述】:

我对设计一无所知,我试图让一个简单的 HTML 表单看起来像这样: .

基本上,它是一个带有三个输入字段和一个提交按钮的表单。

关于输入字段,有两个在上面一个在下面。我希望它们彼此完全居中对齐,并且第二个拉伸到与上面的宽度相同。

关于提交按钮,我希望它与输入字段在水平和垂直方向上完全居中对齐,但要在这些输入字段的右侧。

我不太担心它不能完全跨浏览器。

感谢任何指点!

编辑:我更喜欢用 CSS 完成而不是基于表格。 (我听说基于表格的方法简直是邪恶的。)

【问题讨论】:

  • 神圣巨魔脸从 reddit 迁移到 SO ;O
  • 几天后,我发布了一个优秀教程的链接,该教程将 div 水平和垂直居中。也许它也可以帮助你,但你的输入、标签等。这里是:stackoverflow.com/questions/5282758/…

标签: html css web


【解决方案1】:

这样的纯 CSS 怎么样?顺便说一句……您知道输入字段和搜索按钮的具体尺寸吗?如果我知道一些尺寸,我可能会做得更干净一些。无论如何,看看演示......

http://jsfiddle.net/zxSFp/1/

HTML

<div id="wrap">
    <div id="fields">
        <input type="text" id="left" />
        <input type="text" id="right" />
        <div class="clear"></div>
        <input type="text" id="bottom" />
    </div>
    <input type="button" value="Search" id="search-button" />
</div>

CSS

#wrap {
    min-width: 375px;
    position: relative;
}
#fields {
    float: left;
    position: relative;
}
#left {
    height: 15px;
    width: 150px;
    float: left;
    position: relative;
}
#right {
    height: 15px;
    width: 150px;
    margin-left: 5px;
    float: left;
    position: relative;
}
#bottom {
    height: 15px;
    width:309px;
    margin-top: 5px;
    position: relative;
}
#search-button {
    position: relative;
    left: 15px;
    top: 12px;
}
.clear {
    clear: both;
}

我希望这会有所帮助。

【讨论】:

  • 绝对的英雄。顶部字段可容纳大约 20 个字符,底部字段可容纳 20 个字符。
  • 哈哈好吧。好吧,我给你的是足够的宽度。但您还可以指定&lt;input&gt; 字段的size 属性,该属性根据可见字符数控制输入字段的宽度...我认为:)
  • 那么这是否回答了您的问题?
【解决方案2】:

你可以使用一张桌子。 :) 这里的代码都准备好了:

<table>
  <tbody>
    <tr>
      <td><input type="text" /></td>
      <td><input type="text" /></td>
      <td rowspan="2" style="vertical-align:middle;"><input type="submit" /></td>
    </tr>
    <tr>
      <td colspan="2"><input style="width:100%" type="text" /></td>
    </tr>
  </tbody>
</table>

【讨论】:

  • 表格,至少对我来说,不是最好的选择。关于它的几个链接:webdesign.about.com/od/layout/a/aa111102a.htmphrogz.net/css/WhyTablesAreBadForLayout.html
  • 非常正确,表格完美地解决了这个问题(如果 CSS 这么简单,至少对我来说是这样!)。不过,我更喜欢用 CSS 完成。
  • 同意。即使有表格,我也倾向于远离它们,除非有这样的设计问题......然后它就更容易上桌了。诚然,我觉得这样做有点肮脏...... :)
  • 在我的设置中,div 不起作用。我不得不用表格方法解决。效果很好。
猜你喜欢
  • 2015-05-24
  • 2013-08-13
  • 2013-07-23
  • 1970-01-01
  • 2021-12-02
  • 2012-08-27
  • 2021-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多