2014-09-30 121 views
0

所以...我有一个index.php文件,我在其中定义了一个名为'rectangles'的类。这个班有颜色和大小。包含PHP变量到CSS

我创建了一个名为

$rectangle($rectangle=new rectangles('red',25);).

变量是的,我做了

<link rel="stylesheet" type="text/css" href="test1.css" />

然后我创建了我这样定义的“格”标签的另一个文件“test1.css”:

div{ 
     color:<?php echo $rectangle->color; ?>; 
    } 

我试图把这个.css文件<?php include 'index.php'; ?>但我的变量从.PHP无论我尝试什么,文件都不起作用。

当然我尝试将test1.css更改为test1.php并尝试这样做,但它只适用于我在test1.php中设置的变量,而不是从index.php中设置。

那么我不知道我是否很好地解释了我的问题,但我希望你明白...
在此先感谢。

+1

看着萨斯。我认为这是与样式表一起使用变量的唯一方法。 – Jim 2014-09-30 17:45:41

+0

如果我明白你在做什么,你不能在一个CSS文件中使用PHP ..多数民众赞成为什么它doens't工作.. – 2014-09-30 17:47:09

+0

毫不奇怪,一个非PHP扩展不解析PHP。不知道为什么有人会这样想。你为什么不在标题中放一个样式标签,并在页面上写出css而不是试图链接到远程文件? – 2014-09-30 17:47:29

回答

3

你想做什么是非常普遍的,每天都在CMS开发中完成。您可以使用SASS或更低,则可以包括样式内部CSS在你的PHP文件作为罗德里戈回答,或者你可以这样做:

1)添加到您的标题:

<?php header("Content-type: text/css; charset: UTF-8"); ?> 

2)在你的文件相同的文件夹,添加.htaccess文件与此内容:

AddHandler application/x-httpd-php .css 

2.B)或者,你可以设置你的Apache的配置文件是这样的:

AddType application/x-httpd-php .php .php3 .php4 .php5 
AddType application/x-httpd-php-source .phps 
AddHandler cgi-script .cgi .pl 

现在,你可以是一个快乐的人,并添加PHP变量到你的CSS文件

现在评论:我几乎每天都这样做,我使用的方法由罗德里戈答案,因为我做为第三方工作,主要是构建可自定义的主题,所以如果你不知道谁能获得主题,那么这种方法虽然更好,但如果你控制了服务器,则不可能。我提到这一点,任何人看到这个答案,使他们能够思考利弊

1

你可以通过将你的风格添加到你的php文件来实现。所以,在你的php或phtml文件中,你可以这样做:

// php code 。 。 。

<head> 
<style> 

div{ 
color:<?php echo $rectangle->color; ?>; 
} 

</style> 
</head> 

它不会在扩展名为.css的文件中工作。

希望它有帮助。

0

一另一种方式:

<head> 
<style> 
<?php include 'style.css'; ?> 
</style> 
</head> 

的style.css

div{ 
color:<?php echo $rectangle->color; ?>; 
} 

但在这种情况下,如果我们从<link>标签链接到PHP代码,则样式将不起作用。因此,我们也可以将style.css重命名为style.pcss或其他内容,以避免混淆,该文件仅为css或php嵌入式css文件。