2011-12-24 62 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