【发布时间】:2017-08-30 01:44:07
【问题描述】:
我想对齐 <span> 元素和 <input> 文本元素。 <input>和<span>的高度应该相同,上下边框应该在同一行,<input>和<span>元素内的文字应该在同一行。
.cnt {
margin: 5px;
}
.one {
background-color: #ffffff;
border: solid 1px #ADADAD;
height: 17px;
}
.two {
background-color: #ffffff;
border: solid 1px #ADADAD;
height: 17px;
}
.in {
background-color: #ffffff;
border: solid 1px #ADADAD;
height: 17px;
}
input {
padding: 0;
}
<div class="cnt">
<label>
<span class="one">Test in Span</span>
<span class="two">Span in test</span>
</label>
<input class="in" value="mmmnnnxx" type="text" />
</div>
https://jsfiddle.net/ajo4boom/
如何做我想做的事?
【问题讨论】:
-
使用
line-height和vertical-align。 -
高度很难输入,因为浏览器都喜欢做自己的事情。我认为无论您的解决方案如何,浏览器之间都会存在非常细微的差异。您最好使用带有样式的禁用输入,这样您就可以保证它们会对齐,因为它们将是相同的元素类型。