IE 内联块/文本顶部上方的额外空间(过渡文档类型)
我在下面的文本区域上方有一个额外的空间,但仅限于 ie 中。如何修复它?
<div class="field">
<label>Info</label><textarea cols="40" rows="4"></textarea>
</div>
.field {
margin: 0px;
margin-top: 2px;
}
label {
display: inline-block;
width: 5em;
margin-right: 0.5em;
}
textarea {
display: inline-block;
width: 22em;
vertical-align: text-top;
}
如果我在标签和文本区域标签之间放置空格,空格就会消失。但随后我在它们之间得到了水平的额外空间。
编辑: 我发现,问题出现在 doctype - Transitional 上。严格一点就万事大吉了。有没有办法用 Transitional 来修复它?
I get an extra space above the below textarea, but only in ie. How to fix it?
<div class="field">
<label>Info</label><textarea cols="40" rows="4"></textarea>
</div>
.field {
margin: 0px;
margin-top: 2px;
}
label {
display: inline-block;
width: 5em;
margin-right: 0.5em;
}
textarea {
display: inline-block;
width: 22em;
vertical-align: text-top;
}
If I put a whitespace between label and textarea tags the space disappears. But then I get a horizontal extra space between them.
Edit:
I found, the problem appears with doctype - transitional. With strict everithing is ok. Is there a way, to fix it with transtional?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我可以重现你的问题。具体细节请参阅我的答案末尾。
您可以通过以下方式消除间隙:
vertical-align: text-top
更改为vertical-align: top
。除非您出于某种原因迫切需要
text-top
(为什么?),否则这是一个简单的补救措施。我不确定为什么
text-top
使用Transitional
文档类型在顶部添加额外的空间。在 IE8 中测试,使用此代码 (
XHTML 1.0 Transitional
),会发生您所描述的问题:如果我将第一行更改为此 (
XHTML 1.0 Strict
),则不会发生:I can reproduce your issue. See the end of my answer for exact details.
You can remove the gap by:
vertical-align: text-top
tovertical-align: top
.Unless you desperately need
text-top
for some reason (why?), this is an easy remedy.I'm not sure why
text-top
adds the extra space at the top with theTransitional
doctype.Testing in IE8, with this code (
XHTML 1.0 Transitional
), your described issue happens:If I change the first line to this (
XHTML 1.0 Strict
), it doesn't happen: