【问题标题】:How do i run PHP inside CSS我如何在 CSS 中运行 PHP
【发布时间】:2012-09-04 05:33:11
【问题描述】:

我有一个这样的样式表链接

<link href="css/<? echo $theme;?>/styles.css" rel="stylesheet" type="text/css" />

在 CSS 内部,我希望能够回显 db 输出的背景图像

body{ background-image:url(../../images/<?php echo $theme.'/'.$background;?>);}

我尝试将以下内容添加到页面的开头,但它只是以 html 代码输出所有内容

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

我确定这有点问题,谁能建议最好的行动方案?

提前致谢

【问题讨论】:

标签: php css


【解决方案1】:

将文件结尾更改为 php 以便它由服务器运行,一旦完成,您就可以链接到它,就好像它是一个常规的 css 文件一样,并确保使用该标头代码正确设置标头有在文件的顶部

更改:

<link href="css/<? echo $theme;?>/styles.css" rel="stylesheet" type="text/css" />

收件人:

<link href="css/<? echo $theme;?>/styles.php" rel="stylesheet" type="text/css" />

以及您拥有的该文件的顶部

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

顺便说一句,因为您似乎已经启用了 php shorttags,您最好使用而不是使用

<? echo $var;?>

使用

<?=$var;?>

【讨论】:

  • 嗯,好的,我按照您所说的将名称更改为 styles.php,然后使用会话变量进行了快速测试。所以在我的 index.php 文件的开头我有 $_SESSION['bg'] = 'bg.jpg';?> 然后在我的 CSS 文件中我有 session_start();?> header ("Content-type: text/css");?> 后跟 body{ background-image:url(../../images/ echo $theme.'/'.$_SESSION['bg'] ; ?> );} 这看起来好吗?我没有看到背景图片,它肯定在那里
  • 只要打开 php 文件并检查打印的内容,您的 css 文件或 php 文件中可能有错误,但如果一切正常,您应该没有问题
  • 它只是打印这个正文{ background-image:url(../../images// );}
  • 你提供给我的一切我可以告诉你$_SESSION['bg'] 没有设置在你的 index.php 文件的开头你需要在任何会话变量之前有session_start();正在设置中
  • 天哪,我是个白痴!哈它总是那么简单!是的,我完全忽略了 session_start();?> 在 index.php 的开头!!谢谢微风
【解决方案2】:

这是一种方法:在 HTML 文件中使用 CSS 的那部分。使用双引号“”并在其中写入 PHP 文件。这是在 CSS 文件中使用 PHP 的示例。

此 CSS 在 HTML 文件中,此代码在我的项目中运行良好。让我知道是否有任何问题可以测试它。

<style type="text/css">

        @media screen and (max-width: 650px) {
            .benifit {
                background-image:url("<?= $this->getBaseUrl() ?>/www/images/Capture.png") ;
                height:440px;
                border-radius: 5px 0px 0px 5px;
            }

        }
        @media screen and (min-width: 400px) {
            .benifit {

                width: 47%;
                background-image:url("<?= $this->getBaseUrl() ?>/www/images/Capture.png") ;
                height:440px;
                border-radius: 5px 0px 0px 5px;
            }
        }
        #ajax-loader {

            height:     100%;
            width:      100%;
            background: rgba( 255, 255, 255, .8 ) url("<?= $this->getBaseUrl() ?>/www/img/ajax-loader1.gif") 50% 50% no-repeat;
            overflow: hidden;
        }

    </style>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 2011-09-13
    • 2017-03-12
    • 2020-03-24
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 2013-04-16
    相关资源
    最近更新 更多