我试图以一致的方式设置输入字段和一些按钮的样式,但似乎有一些魔法正在进行。事件虽然输入与按钮完全相同,但它略高。此外,占位符文本与输入的文本垂直对齐(高一个像素)。这可以通过跨浏览器解决方案来解决吗?
编辑:正如JanTotoň所指出的那样,线路高度解决了Webkit中的问题。现在,如果您检查Firefox中的codepen,您会注意到该元素仍然具有1px边框。如何摆脱它?
Thx,PS
HTML
<form action="">
<a href=""class="btn">Button</a>
<input type="text" class="btn" placeholder="input"/>
<button class="btn">Login</button>
<a href=""class="btn">Button</a>
</form>
CSS
.btn, input, button {
display: inline-block;
vertical-align: middle;
line-height: 15px;
font-size: 15px;
font-family: sans-serif;
border: 0;
padding: 0;
margin: 0;
cursor: pointer;
cursor: hand;
text-decoration: none;
color: #f2f2f2;
background-color: #1a1a1a;
padding: 7px 12px 8px 12px;
margin-right: 1px;
margin-bottom: 1px;
}
答案 0 :(得分:2)
line-height
不会将输入高度缩小到font-size
以上加一些像素see the MDN info:
在替换的内联元素(如按钮或其他输入元素)上,行高无效。
只需删除line-height
,即使不应用height
样式,也应该得到您想要的内容。将line-height
设置为130%似乎也有效。
答案 1 :(得分:0)
我试图解决这个问题好几天,并且每个解决方案都不完整,并且不能在不同的浏览器中工作。
我发现此代码可以完成工作:
float: left;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
height: 33px;
我更新了Codepen - http://codepen.io/anon/pen/pvqRwE