![](/img/trans.png)
[英]Setting an element's background image via CSS from a value in a PHP variable
[英]Setting a CSS Value from a PHP Variable
我想将以下CSS条目应用于网站:
background-image: url(http://www.datingimages.co/online-dating/dating-website/mainsiteimage/datingbali.co.jpg);
问题是我有一些这样的网站,我需要使用如下变量:
http://www.datingimages.co/online-dating/dating-website/mainsiteimage/<?php echo $_SESSION['domain'];?>.jpg
这将应用于<body>
标记(将背景图像添加到首页)-对于其他页面将删除。
有人对使用PHP $_SESSION
变量设置此CSS条目的方式有任何想法吗?
注意:我对使用JQUERY非常满意,因此解决方案非常好...
如果不想使用更复杂的处理方法或JavaScript,请使用内联CSS。 我认为,您不必为此使用JavaScript。
您可以将样式规则放在文档的标题或正文部分的任何位置。 因此,您可以像这样使用内联CSS部分:
<?php if(isset($_SESSION['domain'])) : ?>
<style>
body {
http://www.datingimages.co/online-dating/dating-website/mainsiteimage/<?php echo $_SESSION['domain'];?>.jpg
}
</style>
<?php endif; ?>
在页面加载之后,您可以通过发出ajax请求并切换元素来重新设置其样式。
即
$(function() {
$.get('ajax.php', ..., function(data) {
$('#element').css('background-image', data.url);
});
});
或类似的东西,但我不喜欢这个主意……似乎太像猴子了。
您可能为每个$_SESSION
都预定义了CSS并在页面加载时加载它们,但这意味着您必须将CSS分解为较小的文件,我认为这是更合适的解决方案。
当用户登录时,说您有3种背景图像选择。 您从数据库或任何现有系统中提取用户的背景首选项。 可能鲍勃的背景是蓝色,其他人的背景都是绿色。 然后,将其存储在用户的$ _SESSION中。 例如:
<?php
if($_SESSION['username'] == 'bob') {
$_SESSION['bodybg'] == "http://www.hdwallpapers.in/walls/blue_background_abstract-wide.jpg"
} else {
$_SESSION['bodybg'] == "http://1.bp.blogspot.com/-zx4w4PCEgEY/ULv64dBGGnI/AAAAAAAAA6Y/SRcHkfMBiJs/s1600/C4D_Green_background__by_Darkchildh.jpg"
}
?>
然后,在生成页面或页面的CSS时,将其放入。我以css为例:
body {
background: url('<?php echo $_SESSION['bodybg']; ?>');
}
如果您遇到此类问题,则您的体系结构有问题。 最好根据您的会话值加载不同的html包装器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.