2014-09-30 144 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文件。