0

我想将以下 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>标签(将背景图像添加到首页) - 将删除其他页面。

$_SESSION有人对使用 PHP变量设置此 CSS 条目的方式有任何想法吗?

注意:我很喜欢使用 JQUERY,所以这个解决方案会很棒......

4

5 回答 5

2

如果您不想使用更复杂的处理方法或 JavaScript,请使用内联 CSS。在我看来,你不应该为此使用 JavaScript。

于 2013-02-11T07:56:13.720 回答
2

您可以将样式规则放置在文档头部或正文部分的任何位置。所以你可以使用这样的内联 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; ?>
于 2013-02-11T07:58:04.230 回答
1

在页面加载之后,您可以通过发出 ajax 请求并切换元素来重新设置它的样式。

IE

 $(function() {
    $.get('ajax.php', ..., function(data) {
        $('#element').css('background-image', data.url);
    });
 });

或类似的东西,但我不喜欢这个主意……看起来太像猴子补丁了。

您可以为每个预定义 css$_SESSION并在页面加载时加载它们,但这意味着您必须将 css 分解为更小的文件,我认为这将是一个更合适的解决方案。

于 2013-02-11T07:52:49.717 回答
1

当用户登录时,假设您有 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']; ?>');
}
于 2013-02-11T07:54:32.300 回答
1

如果你遇到这样的问题,你的架构就有问题。最好根据会话值加载不同的 html 包装器。

于 2013-02-11T07:56:58.977 回答