2

当我尝试在 PHP 中使用 start_session 时,它似乎禁用了我的级联样式表功能。我的 html 页面布局看起来乱七八糟,例如菜单将位于它应该位于顶部的底部。有没有办法使用不干扰 css 的 start_session ?

下面是代码片段:

 <?php session_start(); ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <link rel="stylesheet" type="text/css" href="mod_style.css" /> 
 </head>
4

4 回答 4

1

我不记得 PHP 的会话曾经干扰加载样式表或任何其他非 PHP 会话相关的代码。您是否检查过您的 CSS 文件的路径是否正确?

您可以快速打开页面的源代码(通常在 Windows 上的浏览​​器中使用 CTRL + U)并尝试点击指向您的 CSS 文件的链接。如果你得到一个 404 错误页面,你肯定需要改变你的路径。

如果您的路径是正确的(例如,如果样式表在您删除 PHP Session 行之后加载),那么您的错误不是由您发布的代码引起的。

于 2013-07-20T18:18:37.093 回答
0

如果您已确认您的样式表实际上是通过诸如 firebug 或 chrome 开发工具之类的开发人员工具加载的,并且您正在旧 IE 中进行测试。session_start 调用结束时的换行符可能是罪魁祸首。非文档类型的第一行将使这些浏览器进入怪癖模式,并且您的样式会对您产生影响。

要消除这种情况,您可以删除换行符,例如:

<?php session_start(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
于 2013-07-20T19:47:24.557 回答
0

检查代码编辑器的输出保存文件编码。例如,如果您使用 MS 记事本并以 Unicode 保存文件,您可能会在文件的第一行中发现一个特殊字符,该字符会导致 session_start 出现错误和功能失常。

为确保安全,请从浏览器检查您的页面源。

我在说的是在没有 BOM 的情况下将文件保存为 ANSI vs UTF-8

于 2013-07-20T18:37:24.837 回答
-1

给出 style.css 的完整路径而不是相对路径,如下所示:

  <link rel="stylesheet" type="text/css" href="http://www.example.com/css/mod_style.css" /> 

试试这个,我相信这会对你有所帮助。

于 2013-07-20T18:26:18.233 回答