0

我一直在将我的 PHP 文件从 ANSI 转换为 UTF-8,我的代码发生了一些奇怪的事情,我不知道为什么。这是我的 index.php 代码

<?php get_header(); ?>
<div id="container">

</div>
<?php get_footer(); ?>

我的 header.php 是这样的:

<!DOCTYPE html>
<html>
<head>
    <title>Somethingá</title>
    <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>">
</head>
<body>
<div id="header">
    <div id="header-wrap">
        <div id="logo"><a href="index.php"><img src="<?php bloginfo('template_directory'); ?>/img/logo.png" alt="ODS"></a></div>
        <div id="header-text">Karviná</div>
        <hr>
        <div id="menu">
        <ul>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter2">something</a></li>
            <li><a href="#">something</a></li>
        </ul>
        </div>
    </div>
</div>

最后一个 footer.php 包含以下内容:

<div id="footer">

</div>
</body>

但是有一个我无法理解的问题。这是一个 wordpress 主题,所有文件都是 UTF-8 编码。每次我用这个选择它们打开网站时,都会有空格。例如标题不在页面顶部,但距离顶部大约 20px。我检查了可以在 Google Chrome 的开发人员控制台中看到的代码,其中包含以下内容:

<html>
<head>
<style type="text/css"></style>
</head>
<body>



<title>Somethingá</title>
<link rel="stylesheet" type="text/css" media="all" href="http://XX.XXX.XXX.XX/wp-content/themes/xxx/style.css">
<div id="header">
    <div id="header-wrap">
        <div id="logo"><a href="index.php"><img src="http://93.185.106.91/wp-content/themes/ods/img/logo.png" alt="ODS"></a></div>
        <div id="header-text">Karviná</div>
        <hr>
        <div id="menu">
        <ul>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter">something</a></li>
            <li><a href="#" class="righter2">something</a></li>
            <li><a href="#">something</a></li>
        </ul>
        </div>
    </div>
</div>



<div id="footer">

</div>
</body>
</html>

这很奇怪。我不明白为什么将内容<head> </head>移至<body> </body>. <body>它还在和和 <title>之间产生了巨大的空白。</div><div id="footer">

谢谢你。

4

2 回答 2

0

首先,我建议查看“查看源代码”选项以查看正在加载到浏览器中的实际代码。查看开发人员工具会显示浏览器处理后的代码,这与您实际输出的代码不同。

它不同的原因是浏览器将处理任何无效的 HTML,并在 HTML 无效时尝试尽可能地安排页面。

在您的情况下,很明显 HTML 中有一些无效的内容。我看不到它是什么,但您可以使用W3C Validator非常轻松地自己检查它。这将告诉您代码中的任何 HTML 错误。

修复这些错误,浏览器应该开始正确显示您的页面。

希望有帮助。

于 2013-05-17T22:31:56.560 回答
0

代码很干净,但是如果您正在创建 Wordpress 主题并且您需要 UTF 8。您必须使用没有 BOM 的 UTF-8!不使用 BOM。

于 2013-05-17T23:00:52.633 回答