对齐div中的垂直输入元素

时间:2016-06-19 22:30:33

标签: html css css3

我在SO上搜索了解如何在div中垂直对齐输入元素。这个div在一个表单中。大多数问题,表单元素对于每个元素都有很多<div>个或者<br>标记。

Vertically aligning input elements

Vertical align with my inputs

我用这个CSS制作了fiddle

.fillform{
position: relative;
width: 100%;
height: 33%;
bottom: 0;
background: rgba(225, 43, 50, 1.0);
}

.fillform div{
position: absolute;
float: left;
width: 100%;
height: 200px;
box-sizing: border-box;
border: 2px solid rgba(0,0, 255, 1.0);
}

.fillform div input{
float: left;
display: inline-block;
border: 2px solid rgba(255, 0, 0, 1.0);
box-sizing: border-box;
vertical-align: middle;
}

输入元素不能垂直对齐并有边距?

编辑:我不会使用表格或display: table-cell;

2 个答案:

答案 0 :(得分:2)

更改此规则:

.fillform div input{
    display: block;
    border: 2px solid rgba(255, 0, 0, 1.0);
    box-sizing: border-box;
    vertical-align: middle;
}

https://jsfiddle.net/m9ev8etj/

答案 1 :(得分:0)

position: relative;top: 50%;margin: 1px;添加到.fillform div input课程中,然后尝试:

.fillform{
     width: 100%;
     height: 33%;
     bottom: 0;
     background: rgba(225, 43, 50, 1.0);
}

.fillform div{
     float: left;
     width: 100%;
     height: 200px;
     box-sizing: border-box;
     border: 2px solid rgba(0,0, 255, 1.0);
}

.fillform div input{
     float: left;
     border: 2px solid rgba(255, 0, 0, 1.0);
     box-sizing: border-box;
     position: relative;
     top: 50%;
     margin: 1px;
}