[英]search form ugly alignment if font-sizes of type=text and type=submit are different
我想要的是:
我也在CSS下面尝试了height
和line-height
几种组合,但是我无法实现。
如何使用CSS达到要求?
.input, .submit{margin:0;padding:0;border:1px solid #000;} .submit{font-size:12px;} .input{font-size:16px;}
<form action="#" method="post"> <input class="input" type="text" name="search"><input class="submit" type="submit" value="SEARCH"> </form>
使用line-height
和vertical-align
:
.input, .submit { margin: 0; padding: 0 10px; border: 1px solid #000; line-height:30px; vertical-align:middle; } .submit { font-size: 12px; } .input { font-size: 16px; }
<form action="#" method="post"> <input class="input" type="text" name="search"> <input class="submit" type="submit" value="SEARCH"> </form>
input{ display:inline-block; line-height:20px; } .input, .submit{margin:0;padding:0;border:1px solid #000;} .submit{font-size:12px; vertical-align:middle;padding:0px 5px;} .input{font-size:16px; vertical-align:middle;}
<form action="#" method="post"> <input class="input" type="text" name="search"><input class="submit" type="submit" value="SEARCH"> </form>
这里的问题是,普通输入在其宽度和高度之外具有边框,而在内部提交输入。
解决方法是使用box-sizing:border-box; 对于两个输入。
将height
, box-sizing
和vertical-align
在一起
.input, .submit { margin:0; padding:0; border:1px solid #000; /*added*/ height:25px; box-sizing:border-box; vertical-align:middle; } .submit{font-size:12px;} .input{font-size:16px;}
<form action="#" method="post"> <input class="input" type="text" name="search"> <input class="submit" type="submit" value="SEARCH"> </form>
高度/线高似乎可以正常工作,尽管出于兼容性考虑,我会添加box-sizing
。
.input, .submit { margin: 0; padding: 0; border: 1px solid #000; height: 16px; line-height: 16px; box-sizing:border-box; } .submit { font-size: 12px; } .input { font-size: 16px; }
<form action="#" method="post"> <input class="input" type="text" name="search"> <input class="submit" type="submit" value="SEARCH"> </form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.