Css 为什么输入字段的高度小于15px时会分散开来?

Css 为什么输入字段的高度小于15px时会分散开来?,css,input-field,Css,Input Field,为什么我的输入字段在高度小于15px时会分散开来?我有0px的边距和填充 高度为30像素的输入⬈ 高度为15像素的输入⬈ 高度为10像素的输入⬈ 高度为5像素的输入⬈ 输入{ 高度:10px; 填充:0px; 边际:0px; } 因为它们存在于由行高属性控制的文本行中 如果在父级块级别元素中设置行高度,则它们的外观将符合您的要求 另外,元素是自动关闭的,虽然使用语法在XML中有效(因此XHTML),但在HTML中无效,一些(较旧的)浏览器和其他HTML DOM库可能会阻塞它,

为什么我的输入字段在高度小于15px时会分散开来?我有0px的边距和填充

高度为30像素的输入⬈


高度为15像素的输入⬈


高度为10像素的输入⬈


高度为5像素的输入⬈


输入{ 高度:10px; 填充:0px; 边际:0px; }
因为它们存在于由
行高
属性控制的文本行中

如果在父级块级别元素中设置
行高度
,则它们的外观将符合您的要求


另外,
元素是自动关闭的,虽然使用
语法在XML中有效(因此XHTML),但在HTML中无效,一些(较旧的)浏览器和其他HTML DOM库可能会阻塞它,因此请将它们更改为
-样式。

您可以查看更新的fiddle:

我通过删除
br标签
来实现这一点,并将输入设置为显示块类型。以下是完整的css:

input {
    height: 10px;
    padding: 0px;
    margin: 0px;
    display:block;
}

从来不知道它们就像一行行行的文字。我原以为他们会表现得更像演员。感谢您澄清。@MaxMastalerz否,
元素在流中被归类为“替换元素”(以及
),其行为类似于
内联块
元素,因为它们以
内联
的形式存在,但是它们有自己的预定义高度,从而改变了父行的占用空间,但不是行高本身。
display:block
如果有人想要在一行上有多个字段,则可能是一个问题。您可以分享一个真实的示例,让我看看如何解决这个问题。与解决方案类似,输入总是可以包装到另一个标记中,该标记设置为
display:inline block
尝试将display:block解决方案与此解决方案结合使用:我宁愿更新html以包含包装,而不使用display block。请看这里:
input {
    height: 10px;
    padding: 0px;
    margin: 0px;
    display:block;
}