在表单中排列字段

时间:2015-03-27 13:58:43

标签: html css forms alignment

我无法整齐排列表格中的所有字段。有什么建议吗?

我希望三个输入字段的外边缘相互对齐,字段之间的空间垂直地与名称和电子邮件字段之间的空格相同...感谢您的帮助! :)



form {
  background-color: #3d549a;
}
input {
  border: none;
  width: 400px;
  padding: 15px;
  border-radius: 5px
}
textarea {
  height: 10em;
  resize: vertical;
  font-family: avenir;
  font-size: 17px;
  color: #fff;
  font-weight: 100;
  border: none;
  width: 860px;
  padding: 15px;
  border-radius: 5px
}
.buttonblue {
  padding-left: 90px;
  background-color: #31b9e9;
  font-family: avenir;
  font-size: 16px;
  width: 300px;
  height: 75px;
  color: #fff;
  padding: 0;
  border: none;
  border-radius: 5px;
  box-shadow: 0 5px 1px #21a1c6
}

<table width="100%" style="background-color: #3d549a" height="820px">

  <tr height="250">
    <td valign="bottom" align="center" width="100%" colspan="4">
      <span style="font-family: avenir; font-size: 40px; color: #ffffff; font-weight: 500; line-height: 10px;">GET IN TOUCH<span/>
      <hr color="#273a72" width="75" align="centre">
      <span style="font-family: avenir; font-size: 15px; color: #ffffff; font-weight: 100; line-height: 10px;">1600 Pennslyvania Ave NW, Washington, DC 20500, United States of America. Tel: (202) 456-1111</span>
    </td>
  </tr>

  <tr>
    <td <td width="100%" align="center">
      <form class="form" action="/my-handling-form-page" method="post">
        <p>
          <input class="required" type="text" id="name" placeholder="Your Name" style="font-family: avenir; font-weight:100; font-size: 17px; background-color: #273a72;" />
          <input class="required" type="email" id="mail" placeholder="Your Email" style="font-family: avenir; font-weight:100; font-size: 17px; background-color: #273a72;" />

        </p>

        <p>
          </br>
          <textarea class="required" id="msg" placeholder="Your Message" style="font-family: avenir; color: #fff; font-weight:100; font-size: 17px; background-color: #273a72"></textarea>

        </p>
        <p>
          </br>
          </br>
          <button class="buttonblue" type="submit">SEND MESSAGE</button>
          </br>
          </br>
          </br>
          </br>
        </p>
      </form>
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

尝试使用该属性 display:inline-block;

答案 1 :(得分:0)

编辑:根据评论......

您的原始代码存在一些问题。首先,我不确定为什么你在<p>标签中包装所有内容(也许这是来自CMS或其他东西?),但是摆脱它和元素之间的额外<br>会给你使用诸如margin和/或padding之类的css属性,可以更好地控制它们之间的距离。

此外,您还有许多内联样式/已弃用的代码,例如valignalign。考虑将所有这些移动到外部CSS并清理它。

最后,在示例中对齐事物的一种简单方法是使用表格。并非所有人都同意使用表格进行布局,除非您正在对齐表格数据,但它很容易使用。

执行上述所有操作可能会产生类似以下jsFiddle的内容: http://jsfiddle.net/ka43prwu/3/