我有这段代码:
<div style='padding: 30px; border: 1px solid #777; width: 500px; height: 500px;'>
<div style='border: 1px solid #000; width: 260px; height: 26px;'>
<form style='margin: 0; padding: 0;'>
<input type='text' style='margin: 0; padding: 0; border: 0; background-color: #F88; height: 26px; width: 200px'/><input type='submit' value='' style='margin: 0; padding: 0; border: 0; background-color: #88F; height: 26px; width: 60px'/>
</form>
</div></div>
你可以看到2个输入标签在一行中直接转换为其他标签,否则该中断会产生一个空间,令人讨厌。 无论如何这是结果:
那么这里给出了什么?为什么chrome和Safari表现得很奇怪? 我尝试了所有方法,将边框,边距和填充重置为0甚至线高。
答案 0 :(得分:1)
您可以将vertical-align:top
添加到input
元素中。它们是inline
个元素,因此vertical-align
会对它们产生影响。值得注意的是,此属性的默认值为baseline
。此外,您应该使用CSS而不是内联样式。
<div style='padding: 30px; border: 1px solid #777; width: 500px; height: 500px;'>
<div style='border: 1px solid #000; width: 260px; height: 26px;'>
<form style='margin: 0; padding: 0;'>
<input type='text' style='vertical-align: top; margin: 0; padding: 0; border: 0; background-color: #F88; height: 26px; width: 200px'/><input type='submit' value='' style='vertical-align: top; margin: 0; padding: 0; border: 0; background-color: #88F; height: 26px; width: 60px'/>
</form>
</div>
</div>