如何对齐表单中的元素?

时间:2018-04-18 09:46:51

标签: html css

我在调整窗体

中的控件时遇到问题

enter image description here

按钮高于输入或选择。

如何将它们排成一行?

代码如下所示:

<form [formGroup]="formGroup">

  <button class="td to-left-end" (click)="toFirstPage()"></button>
  <button class="td" (click)="toPrevPage()"></button>

  <input class="td" type="text" readonly formControlName="currentPageInfo">

  <button class="td" (click)="toNextPage()"></button>
  <button class="td" (click)="toLastPage()"></button>

  <select class="td" formControlName="pageSize">
    <option *ngFor="let item of pageSizes">{{item}}</option>
  </select>

</form>

4 个答案:

答案 0 :(得分:4)

只需尝试vertical-align: top按钮,输入并选择字段即可。一个建议这些表单控件在diff浏览器中呈现不同。

在这种情况下,您需要添加appearence: none;并设置表单控件的高度和宽度。

button, input, select {vertical-align: top; -webkit-appearance:none; appearance:none; height: 30px; border: 1px solid; box-sizing: border-box;}
<form [formGroup]="formGroup">

  <button class="td to-left-end" (click)="toFirstPage()"></button>
  <button class="td" (click)="toPrevPage()"></button>

  <input class="td" type="text" readonly formControlName="currentPageInfo">

  <button class="td" (click)="toNextPage()"></button>
  <button class="td" (click)="toLastPage()"></button>

  <select class="td" formControlName="pageSize">
    <option *ngFor="let item of pageSizes">{{item}}</option>
  </select>

</form>

答案 1 :(得分:1)

如果您不必支持旧的IE浏览器,我建议flexbox。它默认是响应式的,水平和垂直对齐非常容易。

&#13;
&#13;
form {
  width: 80%;
  display: flex;
  justify-content: space-around; /* Spread white space equally between and around items */
  align-items: center; /* Vertical alignment */
}
&#13;
<form [formGroup]="formGroup">
  <button class="td to-left-end" (click)="toFirstPage()"></button>
  <button class="td" (click)="toPrevPage()"></button>
  <input class="td" type="text" readonly formControlName="currentPageInfo">
  <button class="td" (click)="toNextPage()"></button>
  <button class="td" (click)="toLastPage()"></button>
  <select class="td" formControlName="pageSize">
    <option *ngFor="let item of pageSizes">{{item}}</option>
  </select>
</form>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

要定位按钮,请使用CSS内置的“网格”。为要控制的每个按钮项添加“id”。然后使用CSS填充和边距来获得按钮位置的细节调整。

答案 3 :(得分:0)

添加CSS:

button{
height: 24px;
padding-top: 12px;
}
相关问题