是否有用于 Chrome 的 -webkit 或摆脱由 PHP require_once() 引起的空白的方法?

Is there a -webkit for Chrome or a way to get rid of whitespace caused by PHP require_once()?

好的,当我使用 include()include_once()require() 或 PHP 在网站顶部创建空白时,我遇到了这个小问题require_once()。我已经想出如何使用 CSS -webkit-moz 关键字调整适当元素的位置 但是 我不知道如何调整 Chrome.

中的定位

我附上了三种不同浏览器(Edge、Firefox 和 Chrome)的屏幕截图。

这是我网站左侧蓝色 div 的 CSS。

#nav_menu {
position: fixed;
height: 100%;
width: 300px;
background-color: #3C7AF3;
opacity: .6;
padding: 50px 0px 0px 0px;
z-index: 2;
-moz-transform: translateY(-2px);

-moz-transform: translateY(-2px); 在 Firefox 中工作...

• 我已尝试在 Notepad++ 中通过 "converting to UTF-8 w/o BOM" 修复空白(没有成功)。

• 我需要这里有一种 -chrome-transform: translateY(-2px); 但这不是真正的代码。

• 注意:-webkit-transform: translateY(-20px); 不适用于 Chrome

}

如果我能摆脱由 PHP 的 require_once() 引起的空白,那么一切都会好起来的...

这是网站的第一行 (account.php):

<?php require_once('../includes/initialize.php'); ?>

这是initialize.php:

<?php 
defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR);

defined('SITE_ROOT') ? null : 
    define('SITE_ROOT' , 'C:'.DS.'wamp64'.DS.'www'.DS.'my_company');

defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');

// 1. load config file first
require_once(LIB_PATH.DS."config.php");

// 2. load basic functions next so that everything after can use them
require_once(LIB_PATH.DS."functions.php");

// 3. load core objects
// require_once(LIB_PATH.DS."obj".DS."session.php");
require_once(LIB_PATH.DS."database.php");
require_once(LIB_PATH.DS."obj".DS."database_object.php");

// 4. load database-related classes
require_once(LIB_PATH.DS."obj".DS."user.php");
require_once(LIB_PATH.DS."obj".DS."item.php");
?>

php require_once() 中的每一个调用都是纯 PHP.

关键是:我可以注释掉(甚至删除)整个 initialize.php 并且它不会修复空格。

这里是 require_once() 应该留在 <head> 中但导致 <head> 标签结束的代码:

更新:空白确实是由BOM创建的。在 NotePad++ 中打开文件,转到: Encoding -> Convert to UTF-8Save 文件。确保你没有 select UTF-8 with BOM.

如果这不起作用,请尝试将顶部设置为 0px(它适用于 fixed 定位。否则,Chrome 是唯一(我称之为第三方)浏览器不支持 -webkit.

#nav_menu {
    position: fixed;
    top: 0px;
    height: 100%;
    width: 300px;
    background-color: #3C7AF3;
    opacity: .6;
    padding: 50px 0px 0px 0px;
    z-index: 2;
}

如果这不起作用,可以使用 JavaScript 修复它:

if (navigator.appVersion.indexOf("Chrome/") != -1) {
var nm = document.getElementById('your_id');
nm.style.top = '-px';
}

文件开头的垃圾字符通常是unicode字节顺序标记。这些字符告诉解析器在解析文件时使用什么字节顺序。它们在 UTF-8 中无关紧要,但仍然可以配置 IDE 来插入它们。您可能在包含的文件中有这些。

如果只是普通的空格,通常的罪魁祸首是 PHP 结束标记 ?> 出现得太早或出现在不需要的地方。例如,如果您有一个包含的 class 文件,并且 ?> 末尾有一个空行,那么您无意中将一个空行包含在包含此 [= 的任何内容的输出中21=]。建议永远不要在纯 PHP 的文件中关闭 PHP 标签。还要仔细检查以确保在开始 PHP 标记 <?php.

之前没有任何内容