2012-07-13 176 views
1

我需要我的管理員才能更改/更新我網站的橫幅。如何動態更改CSS

這是橫幅代碼

<div class="containertop">This depends on the background of the div</div> 

,這是該

.containertop 
{ 
    width:1000px; 
    height:300px; 
    **background:url(../images/1.png) no-repeat center;** 
    margin: 0 auto; 
    margin-top: 40px; 
} 

的CSS我想發生相同Facebook的封面照片。 當新的橫幅上傳時,CSS將會被更新(類似的)。 但是,當然,必須從數據庫中提取新的橫幅。

所以我想到的是,CSS會變成這個樣子:

獲取已保存的旗幟源,然後:

background:url(<?php echo $row['image']; ?>); 

,但我可以做PHP連接數據庫(包括「dbname.php ')在CSS txt內?

+2

您可以使用JavaScript或jQuery動態更改它。 – 2012-07-13 14:05:42

+2

在標籤本身上使用內聯css會更容易 - 將'background:url(../ images/1.png)no-repeat center;'作爲樣式元素移動到標籤中,然後在PHP中進行設置。這裏不需要JS。 – 2012-07-13 14:06:34

+0

http://www.coolphptools.com/dynamic_css檢查此 – 2012-07-13 14:06:47

回答

1

我與本同意。如果你在你的頁面中嵌入一段CSS,你可以在那裏放置.containerTop的CSS代碼。然後,把你的代碼放在頁面中。 所以,在實際的網頁,把這個:

<style type="text/css"> 
.containertop{ 
width:1000px; 
height:300px; 
background:url(<?php echo $row['image']; ?>); 
margin: 0 auto; 
margin-top: 40px; 
} 
</style> 

當然,你的背景網址將不會更新,直到它被重新加載。如果你決定這樣做,不要忘記將.containerTop定義從現有的CSS中取出。說了這麼多,我真的很喜歡dystroy的答案。非常好。我從來沒有想過這樣做。

3

沒有什麼能阻止你提供由PHP生成的css。這很簡單。

只需啓動你的PHP文件是這樣的:

<?php 
header("Content-Type: text/css"); 
+1

不錯。做這樣的事情以前從未發生過。我需要更經常地閱讀它(*在工具箱中拋出......隨意移動*)。 – 2012-07-13 14:12:10

1

您可以設置containertop背景而加載PHP文件。

<?php 
echo "<style>.containertop{ background:url(../images/".$row['image'].") no-repeat center;}</style>" 
?> 

這將設置從數據庫中獲取的背景。

0

那麼,你可以使用jQuery來改變/覆蓋CSS文件。

實施例 -

$('.containertop').css('backgroud','url(images/change.jpg) repeat'); 

$('.containertop').css('backgroud','url(<?php echo $images_url ?>) repeat');