gpt4 book ai didi

html - doctype html导致表单输入字段被截断

转载 作者:行者123 更新时间:2023-11-28 13:11:59 25 4
gpt4 key购买 nike

我注意到我的一个 html 表单存在问题,文本输入字段被截断了。我将其原因缩小到我们在页面顶部使用的 <!DOCTYPE html> 指令。

当我排除 <!DOCTYPE html> 指令时,下面场景中的输入正确呈现,这意味着文本输入字段被完整绘制。但是当我按原样加载此代码段时(使用 <!DOCTYPE html>),文本输入的右侧被截断。

谁能给我解释一下这是怎么回事?我在 IE9、Firefox 23 和 Chrome 29 中注意到这个问题。

这是片段:

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#testDiv span {
display: block;
overflow: hidden;
padding: 0 5px;
}
#testInput {
width: 100%;
}
#testButton {
float: right;
}
</style>
</head>
<body>
<form id="testForm" method="post">
<div id="testDiv">
<button id="testButton">Apply</button>
<span><input type="text" id="testInput" /></span>
</div>
</form>
</body>
</html>

最佳答案

事实证明,答案在于 HTML4 和 HTML5 之间的差异,特别是 CSS box-sizing (-moz-box-sizing, -webkit-box-sizing) 属性。在 HTML4 中,box-sizing 属性默认为“border-box”。在 HTML5 中,box-sizing 属性默认为“content-box”。

border-box 表示边框和内边距包含在框的宽度中。 content-box 意味着边框和填充在框的宽度之上。因此,在 HTML4 中一个框可以很好地适合元素之间的地方,它的右侧边框在 HTML5 中可以被切断,因为它的宽度不考虑 1px 边框。

解决方案:添加“box-sizing: border-box;” (以及 -moz 和 -webkit 的相关规则)到 CSS 规则。

关于html - doctype html导致表单输入字段被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com