好吧,这是我遇到的一个奇怪的问题。我有两个页面,略有不同,但共享几个相同的元素(基本上是两个图像)。
这些图像都由相同的 CSS 样式表控制,但是,它们在第二页上似乎都低了约 20-30 像素。
第二个页面的不同之处在于它使用 PHPbefore文档类型声明。不过,正如后面所说,我认为这不是问题所在。
要查看此效果,请连续查看这两个页面:http://www.codecreek.biz/login http://www.codecreek.biz/login and http://www.codecreek.biz/registration/register http://www.codecreek.biz/registration/register.
需要明确的是,我已经查看了许多可能的答案。This https://stackoverflow.com/questions/9630240/mysterious-white-space-at-top-of-page似乎不是我的情况,因为我没有在这些页面上使用表格。
这是我尝试过的:
- 检查代码中的空格。但是,如果您查看这两个页面的源代码,您实际上会注意到第二个有问题的页面有一个less顶部的一行空白,位于其 Doctype 声明之前。
- 从第二页删除 PHP 代码。这也没有任何效果。
- 减少 PHP 结束标签之间的明显空间
?>
和<!DOCTYPE HTML>
什么也没有。这又没有任何效果。
- 检查是否有BOM http://en.wikipedia.org/wiki/Byte_order_mark。我用vim做了这个,结果证实没有使用BOM。
- 检查我的 CSS。我没有发现任何奇怪的地方,但我在 CSS 方面是个新手,所以,由于这可能是问题所在,这里是我的样式表的链接:http://www.codecreek.biz/resources/main.css http://www.codecreek.biz/resources/main.css。 (免责声明:我正在重写该页面,所以如果它看起来很奇怪,那就这样吧!)。
此外,Safari 的开发者检查工具清楚地表明<body>
我的第二页上的标签仅从向下 20 像素左右开始。
老实说我很失落。我希望有一个简单的解决方案,但我已经为此工作了几个小时,但无济于事。
编辑:这是“标题”图像和“波浪线”图像的 CSS。
#login_title { position:absolute; width:1000px; top:100px; }
#login_line { position:absolute; width:500px; top:330px; left:250px; }
注册页面上的H1有一个默认的Margin。有时,我不知道为什么,如果你给第一个元素留出边距,它会将其应用于父元素。
通过将 H1 #register_title 的上边距设置为 0,您应该可以解决您的问题。
#register_title { margin-top: 0; }
永远记住使用reset.css实现或者记住元素的样式是默认的。
编辑:
我想指出这是一个问题,因为您之前的所有元素都是绝对定位的。您确实不应该像现在这样使用绝对定位。您应该使用 margin-top、padding-top 将元素在页面中向下移动。仅当没有其他可用的定位元素的途径时才应使用绝对定位。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)