javascript - 为什么文本框和周围跨度之间存在高度差异?

标签 javascript html css

为什么在给定以下 html 的情况下报告元素高度存在差异?

<span id="spanner" style="margin:0;padding:0;border:0;outline:0;"><input type="text" /></span>

当您询问文本框的高度时,您会得到 16px。跨度的高度报告为 19px(通常,IE 显示为 22px)。

最佳答案

输入元素将有一个默认的边框和填充,这可能因浏览器而异。尝试删除它:

<input type="text" style="padding: 0; border: 0" />

尝试在 Firefox 中使用 Firebug 检查元素以查看元素的有效填充/边距/边框。在您的示例中,您会看到文本字段有一个 2px 的边框和一个 1px 的顶部和底部填充。

关于javascript - 为什么文本框和周围跨度之间存在高度差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1650265/

相关文章:

javascript - 我不明白为什么 displayAllTodoItems() 在这段代码中被执行两次

javascript - Number 类型可以包含哪些类型的值?

javascript - ExtJS 6 - 从绑定(bind)完全加载后选择网格上的默认行?

javascript - jQuery + CSS : Creating a pulsating heart

javascript - 无法在 IE11 中使用 SheetJS 在 AngularJS UI Grid 中上传 excel

jquery - 如何通过滚动到新页面上的特定点来添加超文本链接?

javascript - 按住按钮并更改查询选择器

css - 在 CSS 中,如何根据 <ul> 列表中的级别为同一个 div 提供两种样式?

javascript - 如何使用javascript根据输入元素类限制多组复选框选择

jquery - 无法获取 infoWindow 宽度以进行使内容位于 InfoWindow 中心的计算