2012-04-28 72 views
0

我有這條線的位置CSS代碼...PHP在CSS背景

background-image:url(upload/<?php echo $array['image']; ?>); 

,但黨的事情不工作,我得到的背面是空白的屏幕,圖像是在數據庫中,也在正確的文件中的服務器上。 PHP不適用於CSS嗎?

先進

這是不是一個CSS文件

感謝, Ĵ

這裏是代碼的全線...

<div style="width:100%; position:relative; margin:0 auto; padding-top:80px; height:350px; background-image:url(upload/<?php echo $array['image']; ?>); background-repeat:no-repeat; background-size:100%; text-align:center; padding-bottom:40px;"> 
+0

我想你可以設置你的htaccess文件在css文件上運行php。如果這是在一個HTML頁面中,那麼你應該能夠設置PHP來運行這些。 – 2012-04-28 20:26:31

+0

@M。萊恩:有趣。但是,這將使客戶端擁有一個「靜態」css緩存版本的一次運行,除非您強制客戶端重新加載css的搜索時間。 – ChristopheD 2012-04-28 20:27:44

+0

你可以告訴你打印的值是路徑還是編碼格式的圖像? – 2012-04-28 20:32:00

回答

3

第1步:

我覺得你只是錯過了url('something') 引號所以它應該是這樣的:

<div style="width:100%; position:relative; margin:0 auto; padding-top:80px; height:350px; background-image:url('upload/<?php echo $array['image']; ?>'); background-repeat:no-repeat; background-size:100%; text-align:center; padding-bottom:40px;"> 

第2步: 如果不工作,只是告訴我們確切的輸出,不「它不工作」,複製顯示頁面的源代碼的一部分,所以我們可以看到值是否正確打印,例如

第3步: 如果仍然無法正常工作,我建議您是否使用某些瀏覽器的「檢查元素」功能來查看問題。我可以建議Firefox的Firebug擴展

+0

超讚的人,'url('something')有效,非常感謝。 – user979331 2012-04-28 20:41:15

+1

如果你不把引號放到css url規則中,那真的沒關係。 – lu1s 2012-04-28 20:45:31

+0

我也試過了,你是真的,沒關係。但它可能取決於1)在瀏覽器上或2)在網址上。我相信一些更加複雜的網站(沒有被引用)可能會導致CSS的錯誤解釋。 – Kyborek 2012-04-28 20:48:17

2

裏面一個CSS文件? 沒有。 (編輯 - 見評論):可能在技術上可行,但仍然看起來像一個有很多缺點的計劃。

在由PHP(或其他人,如html模板)生成的輸出中插入內容:是。

+0

它在一個html文件中...... – user979331 2012-04-28 20:27:54

+0

只要服務器設置爲解析.css文件或者CSS文件具有.php文件擴展名,PHP就無法解析CSS文件。 – JJJ 2012-04-28 20:28:53

+0

如果它在html文件中:一旦加載html頁面(查看源代碼),什麼會生成爲背景圖像的值? – ChristopheD 2012-04-28 20:29:47

-2

不,PHP不支持CSS,但使用模板引擎或str_replacepreg_replace,您可以在HTML中輸出一個<style>標記中的CSS。但這不是最好的主意。

+1

再說一遍,說PHP不能和CSS一起工作,這顯然是錯誤的。 – JJJ 2012-04-28 20:31:08

+0

如果您正確地使用PHP,PHP可以使用CSS。 – 2012-04-28 20:34:32

+0

如果你看過這個問題,你會發現CSS代碼中的css風格_is_,而不是一個單獨的.css文件。 – fhugas 2012-04-28 20:38:50

0

PHP不關心它的工作原理。你可以使用它的CSS文件,JS文件,圖像,無論你想要的。這裏最重要的是腳本有一個擴展名,您的網絡服務器將識別爲PHP,併發送正確的MIME類型頭文件。

如果你在你的html中嵌入CSS,那麼它應該更容易。如果它不起作用,那麼你需要驗證獲得服務的輸出文件是否確實是正確的,以及如果選擇器確實是正確的。先嚐試硬編碼background-image屬性,看看是否有效。

0

很可能您的服務器不使用PHP解釋器來處理HTML文件。改變你的HTML文件的後綴爲.php,它應該可以工作。

0

只要讓你當前的.css文件爲.php(或任何PHP將執行,.php保證工作),然後讓服務器聲明它是正確的MIME類型。延期實際上並不重要。

blah.php(是blah.css)

<?php 
header('Content-type: text/css'); 
?> 
.thing {blah;} 
.other {blah;} 
body { 
    background-image:url(upload/<?php echo $array['image']; ?>); 
} 
0

如果你想有一個動態的 「CSS」 的文件,你可以創建一個PHP文件和處理變量。爲了使其達到最佳效果,請在投擲任何東西之前包括header("Content-type: text/css");,然後放入CSS規則並添加變量。

現在,您可以打電話給你的文件中像<link rel="stylesheet" type="text/css" href="your_php_file.php">,你也可以處理類似<link rel="stylesheet" type="text/css" href="your_php_file.php?layout=minimal">

參數你最終的PHP會是這樣:

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

    body{ 
      width: 0px; // your coded rules 
      background: url(upload/<?php echo $array['image']; ?> // the dynamic one 
    } 

如果您添加或不引號沒關係路徑。