当我尝试在PHP中使用start_session时,它似乎禁用了我的级联样式表功能。我的html页面布局看起来不正常,例如菜单将位于它应该位于顶部的底部。有没有办法使用不干扰css的start_session?
以下是代码snipet:
<?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>
答案 0 :(得分:1)
我没有回忆过PHP会话干扰加载样式表或任何其他非PHP会话相关的代码。您是否检查过CSS文件的路径是否正确?
您可以快速打开页面的来源(通常是Windows上的浏览器中的CTRL + U)并尝试按照指向CSS文件的链接。如果您收到404错误页面,则无需更改路径。
如果您的路径正确(例如,如果在删除PHP会话行后加载样式表),那么您的错误不是由您发布的代码引起的。
答案 1 :(得分:0)
检查代码编辑器的输出保存文件编码。例如,如果您使用MS记事本并以Unicode格式保存文件,则可能会在文件的第一行中发现一个特殊字符,该字符会导致session_start出现错误和错误。
要确保,请从浏览器中检查您的网页来源。
我所说的是将文件保存为ANSI vs UTF-8而不使用BOM
答案 2 :(得分:0)
如果您确认您的样式表实际上是通过开发人员工具(例如firebug或chrome dev工具)加载的,那么您正在旧的IE中进行测试。 session_start调用结束时的换行符可能是罪魁祸首。非doctype第一行会将这些浏览器抛入怪癖模式,你的风格会变得很糟糕。
要消除这种情况,您只需删除换行符,如:
<?php session_start(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
答案 3 :(得分:-1)
给出style.css的完整路径而不是相对路径,如下所示:
<link rel="stylesheet" type="text/css" href="http://www.example.com/css/mod_style.css" />
试试这个,我相信这会对你有帮助。