繁体   English   中英

通过PHP变量设置CSS值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM