如何在CSS中运行PHP

2022-08-31 00:53:44

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

<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");?>

我敢肯定这有一点,任何人都可以建议最好的行动方案吗?

提前致谢


答案 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短标签,因此您也可以使用而不是使用

<? echo $var;?>

<?=$var;?>

答案 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>

推荐