【问题标题】:why is there space between controls if margin and padding are set to 0?如果边距和填充设置为 0,为什么控件之间有空格?
【发布时间】:2011-06-30 08:14:53
【问题描述】:

我有一个 div 包含两个文本类型的输入元素和它们之间的标签。用户可以定义一个区间(如 4 - 5)。它们显示在同一行。所有三个控件都将边距和填充设置为 0。Firebug 证实了这一点。他们之间仍然有一些空间。怎么会 ?这个空间是从哪里来的?

【问题讨论】:

  • 在任何情况下将旧式 CSS Reset *{ margin:0; padding:0 } 放在你的 CSS 顶部,这将删除所有额外的边距或填充。 ;)
  • @aSeptik,它仍然不适用于空格..

标签: html css


【解决方案1】:

很可能是元素之间的空白(换行符/空格)。

查看这些示例以了解

<input type="text" /><label>-</label><input type="text" />

<input type="text" /> <label>-</label> <input type="text" />

<input type="text" />
<label>-</label>
<input type="text" />

会以不同的方式呈现。

演示http://jsfiddle.net/rS2QQ/

【讨论】:

    【解决方案2】:

    HTML 文件中的空格。

    【讨论】:

      【解决方案3】:

      确保您的输入之间没有任何空格:

      <input /> <input />
               ^
               |
               \_ space
      

      此外,连字符周围总是有一些空格。您可以在 CSS 中指定负字母间距或添加一些负边距。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-29
        • 1970-01-01
        • 1970-01-01
        • 2013-01-09
        • 1970-01-01
        • 2022-11-13
        • 2011-08-16
        • 2015-10-16
        相关资源
        最近更新 更多