【问题标题】:I need insert some PHP code in style sheet我需要在样式表中插入一些 PHP 代码
【发布时间】:2017-07-19 15:50:20
【问题描述】:

在我的 CSS 中

div.image {
   width:<?php echo get_image_size( $size[1] ); ?>px;
}

大小存储在一个数组中,所以我在这里调用了 $size[1]...

我是 php 初学者...

有人帮忙吗?

【问题讨论】:

  • 您这样做的理由是什么?您是否从数据库定义图像尺寸?我不会把 CSS 和 PHP 混在一起,如果你是的话,你需要重新考虑你在做什么。
  • 更好的解决方案是在图片上直接设置 with ;)

标签: php css


【解决方案1】:

更好的解决方案是在我的示例 cssfile.php 中为 css/php 文件设置标题:

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

然后就可以使用php文件作为样式了。

<link rel="stylesheet" type="text/css" href="cssfile.php?param=1" />

然后您应该在您的网站上获得输出。但是使用该解决方案,如果您有很多流量,您应该非常小心。在每个站点调用中,您的 PHP 解释器都用于传递该文件。

【讨论】:

    【解决方案2】:

    是的,对于这个特定的实例,如果你只需要在这一行上的 php,最好插入到你的 html 的头部,而不是让 php 为你制作一个完整的 css 文件。

    <style type="text/css">
      div.image {
       width:<?php echo get_image_size( $size[1] ); ?>px;
      }    
    </style>
    

    除非绝对必要,否则 PHP 不应创建您的静态资产。如果流量变高,您会注意到性能下降。

    【讨论】:

      【解决方案3】:

      将扩展名更改为 .php,然后在您的样式表中输入:

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

      然后您可以在样式表中使用 PHP。

      【讨论】:

        【解决方案4】:

        也许你应该使用这个:

        <div class="image">
          <img src="image.gif" />
        </div>
        

        CSS:

        div.image img{
           width: 100%
        }
        

        将样式放入 html 的问题在于,一切都会变得一团糟。你应该尽量将html与css和js分开。

        另外,根据我的经验,在 css 或 js 文件中使用 php 不是一个好习惯。

        考虑检查您的 html 布局以优化它。

        【讨论】:

          【解决方案5】:

          一种方法是将特定部分从 .css 文件中移出,并将其插入到可以访问 get_image_size() 函数的 PHP 文档中。例如,您可能有一个模板被解析为标题。然后,您可以用&lt;style&gt; 标记将此片段包围起来。

          【讨论】:

            【解决方案6】:

            为此,您需要像这样使用

            1. 将您的 css 文件更改为 css.php,并像这样使用样式表包含

              &lt;link rel="stylesheet" type="text/css" href="css.php?opt1=&lt;?php echo get_image_size($size[1] ); ?&gt;" /&gt;

            2. 在 css.php 文件中

              div.image { width:<?php echo $_GET['opt1']; ?>px; }

            试试这个

            【讨论】:

              猜你喜欢
              • 2011-11-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-04-02
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多