php 内容类型:文本/css 不起作用

Posted

技术标签:

【中文标题】php 内容类型:文本/css 不起作用【英文标题】:php Content-type: text/css not working 【发布时间】:2016-05-17 10:36:31 【问题描述】:

我有一个 style.css:

<link href="/file.css" rel="stylesheet" type="text/css" property='stylesheet'/>

#menu
 background:red; //file.css content

然后是一个 php:

<link rel='stylesheet' type='text/css' href='/color.php' />

//color.php content:

header("Content-type: text/css", true);
include_once("mysqli.php");

session_start();
 $userid=$_SESSION['id'];

 $stmt = $mysqli_link->prepare("SELECT site FROM cores where user=? limit 1");
 $stmt->bind_param('i', $userid);
 $stmt->execute();
 $stmt->bind_result($color);
 $stmt->fetch();
 $stmt->close();

if($color=="blue")
    $m="blue";

else if($color=="green")
    $m="green";


echo"
#menu
    background-color:$m;

";

如果我打开 color.php,它会很好地打印颜色。但在页面中它不会覆盖 style.css #menu 红色。怎么了?有什么帮助吗?

谢谢朋友们!

【问题讨论】:

你检查过$m的值来确认它不是空的吗? @farooqaaa 如果我在浏览器中打开 color.php 它会显示 #menu background-color:blue; 但在我的页面中它不是蓝色的...... 【参考方案1】:

尝试像这样更改第一行的顺序:

session_start();
include_once("mysqli.php");
header("Content-type: text/css");

内容类型可以被您包含的脚本(mysqli.php)覆盖。 此外,“session_start”应该始终是您在使用会话的 php 脚本中做的第一件事。 (我把 session_start() 放在第一位的原因)

【讨论】:

【参考方案2】:

你用的是 IE 吗?

如果是,请也看这里 - 可能会有所帮助 header("Content-type: text/css"); is working in Firefox and Chrome, but in Internet Explorer 9 it shows up as 'text/html'

【讨论】:

它是铬!但很高兴知道,我会在 IE 中检查它!谢谢

以上是关于php 内容类型:文本/css 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将文本框内容回显到 POST 请求中不起作用

div表格单元格垂直对齐不起作用

PHP:读取文件内容类型的问题

CSS col 可见性:折叠在 Chrome 上不起作用

从内容页面访问母版页控件(html:输入)不起作用

IE9 不允许使用 PHP 和内容类型 text/css 的动态样式