2011-12-24 61 views
1

我的页面顶部有一个导航栏。当我将HTML直接放入页面时,它上面没有任何保证金。但是,当我使用外部HTML文件并导入它(使用PHP include)时,它有一个余量。所有元素(如body, div, ul, li等)的marginpadding已初始重置为0作为全局重置的一部分。使用PHP时CSS布局的问题包括:

PHP(include.php):

<body><?php include("topnav.html"); ?> 

外部菜单文件(topnav.html):

<div id="top-nav"> 
<ul> 
    <li><a href="">Item1</a></li> 
    <li><a href="">Item2</a></li> 
    <li><a href="">Item3</a></li> 
    <li><a href="">Item4</a></li> 
    <li><a href="">Item5</a></li> 
    <li><a href="">Item6</a></li> 
</ul> 
</div> 

CSS:

#top-nav { 
    height:35px; 
    background:#000 url('../images/tile1.jpg') repeat-x; 
    margin:0; 
    margin-bottom:10px; 
    -webkit-box-shadow: 0 5px 5px #666; 
    -moz-box-shadow: 0 5px 5px #666; 
    box-shadow: 0 5px 5px #666; 
} 
+0

你是什么意思“外部HTML菜单文件”?你可以在http://jsfiddle.net上重现这种行为吗? – 2011-12-24 16:06:29

+0

使用tinkerbin.com显示您当前的代码/生成的代码。 – 2011-12-24 17:46:27

+0

在include.php的中是否有任何css文件或样式设置?如果有可能会影响topnav.html – 2011-12-24 20:43:20

回答

0

你是如何包括外部菜单文件? include之前是否有空格?如果存在,则会导致菜单偏移,以留出由空白生成的空文本节点的空间。要修复,只需在include之前删除任何空格。

+0

这是怎么在我的index.php: <?php include(“topnav.html”); ?> 没有空格 – rsb 2011-12-24 15:19:01

+0

那么在你刚刚加入的部分,你有''和'<?php'之间的空格 - 删除它,它应该工作。 – 2011-12-24 16:01:51

+0

试过了,但没有成功。但是当我改变字体大小并且导航栏上方的空间增加时,您的答案似乎相关。我已经尝试优化器从我的index.php和外部菜单文件中删除空格,但仍然没有成功 – rsb 2011-12-24 16:08:39