IE7:文本区域表单中的边距过多
我正在尝试处理我的应用程序中的 IE7 错误。 这是 HTML/CSS 代码
<div style="margin-left: 320px">
<form method="post" action=""><fieldset>
<textarea name="prj_comment" id="prj_comment" rows="5" cols="50"
style="margin: 0; padding: 0"></textarea>
</fieldset></form>
</div>
在 Firefox/Opera/Webkit/IE6 中可以,但在 IE7 中文本区域有 100px 左边距。 如果有人有纠正这个问题的提示,非常感谢!
以下是 IE7 显示此示例 HTML 的屏幕截图:
I am trying to deal with an IE7 bug in my application. Here is the HTML/CSS code
<div style="margin-left: 320px">
<form method="post" action=""><fieldset>
<textarea name="prj_comment" id="prj_comment" rows="5" cols="50"
style="margin: 0; padding: 0"></textarea>
</fieldset></form>
</div>
In Firefox/Opera/Webkit/IE6 it is ok, but in IE7 the textarea have a 100px left margin.
If anyone have a tip to correct this, thanks a lot!
Here is a screenshot of IE7 displaying this sample HTML :
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这看起来像继承的边距错误(与浮动的双边距错误类似但不同)。 textarea 继承了表单周围 div 的边距。 《仓位就是一切》对此进行了更详细的描述。
实际的解决方法是:
This looks like the inherited margin bug (similar to but different from the double-margin bug with floats). The textarea is inheriting the margin from the div around the form. Position Is Everything describes it in more detail.
The practical workarounds are:
太奇怪了。 我实际上在 ie7 中得到了 320px(=父 div 边距)。
您可以用 ie7 仅负边距覆盖,但这太糟糕了...
编辑: 好吧,我不知道为什么会这样,但它确实有效。 这绝对是一个错误:
Totally weird. I actually get a 320px (=parent div margin) in ie7.
You can overwrite with an ie7 only negative margin, but that's awful...
EDIT: OK, I have no idea why this works, but it works. this is defintely a bug:
似乎是 IE 的默认样式
我只需将包装器
Seems to be a bug with IE's default styling for <fieldset>. My guess would be that internally, IE is styling fieldsets using
float
code and triggering the infamous Double-margin bug.I managed to defeat the bug simply by putting a wrapper <div> directly inside <fieldset>.
另一个(也很糟糕)的解决方案是在
another, (also awful) solution would be to add the
just in front of
<textarea>
...but IMHO, i'm ok with fighting dirty IE bugs with drity solutions... fire with fire if you will... ;)