.inp_box{
position: relative;
width: 100px;
height: 20px;
margin:50px 0;
background: red;
}
.inp_box1 input{
position: absolute;
top: 0;
left: 0;
}
.inp_box input{
height: 100%;
width: 100%;
border: none;
outline: none;
}
<div class="inp_box inp_box1">
<input type="text">
</div>
<div class="inp_box">
<input type="text">
</div>
结果:加了定位的input和div一样,不加会对不齐,为什么会出现这种情况?原因是啥?
因为
input
是内联元素,有默认的vertical-align
,这个多余的就是vertical-align
引起的.你用定位之后就不受周围元素的影响,消除了
vertical-align
的影响要消除
vertical-align
的影响有很多办法,详细的可以看看后面的参夸文章参考文章
CSS深入理解vertical-align和line-height的基友关系
10.8 Line height calculations: the 'line-height' and 'vertical-align' properties