是否有用于 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-8
和 Save
文件。确保你没有 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
.
之前没有任何内容
好的,当我使用 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-8
和 Save
文件。确保你没有 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
.