IE7 HTML / CSS边缘错误
时间:2020-03-05 18:40:32 来源:igfitidea点击:
这是场景:
我有一个表的底边距为19px。在此之下,我有一个包含一些字段集的表单。其中之一漂浮在右边。问题是,margin-bottom不能在IE7中获得完整的19px。我经历了所有我能想到的IE7 css / margin / float错误,并尝试了补救措施但未成功。我已经搜寻了一段时间了,找不到任何有帮助的东西。
这是我尝试过的。
- 在无样式的div中包装表单或者字段集。没有明显的变化。
- 在表格的边缘底边加上一个div,然后将其用div包裹起来,并将其底边填充为19px。没有明显的变化。
- 在表格的下边空白处添加一个固定高度为19px的div。没有明显的变化。
- 在表和字段集之间放置一个空格。
我知道还有其他一些我会忘记的东西,但这就是我最近尝试过的东西。这发生在每个字段集。
我正在使用重置样式表,并且具有xhtml过渡文档类型。
编辑:我也有IE7 Web开发人员工具栏和Firebug。两种浏览器的样式信息均显示其底距为:19px;但显然不适用于IE7.
解决方案
回答
我们有有效的文档类型吗?否则IE7会以怪异模式呈现,这基本上是IE5.5
回答
我整理了我们在此处描述的内容,它正适合我。我们可能在某处具有另一种样式,这会对表单或者表格产生影响。如果我们还没有这样做,那么使用reset.css文件非常有用。如果要查看哪些样式正在影响特定元素,则Firefox的Web开发工具栏上有一个方便的"样式信息"命令,用于查看将哪些样式(从哪些文件/样式块/内联样式)应用于该样式。我们可以通过按Ctrl + Shift + Y或者点击CSS-> View Style Information来激活它。
这是在IE7中对我有用的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test</title> <style> #mytable { margin-bottom: 19px; border: solid green 1px; } #myform { border: solid red 1px; overflow: hidden; } #floaty { float: right; border: solid blue 1px; } </style> </head> <body> <table id="mytable"> <th>Col 1</th> <th>Col 3</th> <th>Col 2</th> <tr> <td>Val 1</td> <td>Val 2</td> <td>Val 3</td> </tr> </table> <form method="post" action="test.html" id="myform"> <fieldset id="floaty"> <label for="myinput">Caption:</label> <input id="myinput" type="text" /> </fieldset> <fieldset> <p>Some example content</p> <input type="checkbox" id="mycheckbox" /> <label for="mycheckbox">Click MEEEEE</label> </fieldset> </form> </body> </html>
回答
如果不进行测试,我不确定,但是请尝试将其放在表格和字段集之间:
<br style="clear:both;" />
回答
如果从表格下方的元素中删除浮点数,是否会出现边距?