代码之家  ›  专栏  ›  技术社区  ›  Developer

php css动态可变css设计的网站

  •  1
  • Developer  · 技术社区  · 14 年前

    我打算从一个网站开始,它的要求是每两周改变一次配色方案。

    我正在寻找一个动态的解决方案,以改变颜色和有点网站结构使用css&php。

    我看到的一个解决方案就是使用动态css方法

    <?php
    header("content-type: text/css");
    $mencolour = "#ff0000";
    echo 'h1 {color:$menucolor}
    ?>
    

    另一种解决方案是使用一些php类来完成相同的任务。 例如一个可以在phpclasses网站上找到。 http://www.phpclasses.org/package/6482-PHP-Parse-and-process-Leaner-CSS-files.html

    还有其他更好的方法吗?如果有人使用过以上两种方法,那么使用它们会有什么缺点呢。

    需要一些专家意见:)

    3 回复  |  直到 14 年前
        1
  •  2
  •   Matchu    14 年前

    Sass 是一个流行的CSS预处理器,它允许你在CSS中使用变量,比如你的颜色方案。当您更改CSS时,您将编译它,因此不需要每次加载时都运行PHP脚本的开销。(是的,你可以用PHP编写自己的缓存系统,但是不需要重复别人的工作;D)

    $menu-color: #123456;
    
    #menu { color: $menu-color; }
    
        2
  •  1
  •   Andrew Vit    14 年前

    /* Base style */
    h1 { color: grey; }
    
    .spring h1 { color: green; }
    .summer h1 { color: yellow; }
    .fall   h1 { color: orange; }
    .winter h1 { color: blue; }
    

    <body class="fall">
      <h1>The leaves are falling!</h1>
    </body>
    
        3
  •  0
  •   Marc B    14 年前

    考虑到这是一个为期两周的时间表,启动一个动态生成的css文件就太过了。提供一个可以由PHP生成的static.css文件要容易得多。这样你就不必麻烦输出缓存头之类的东西了——文件将像其他静态文件一样被缓存。

    使用cron一个类似的定时作业工具来重建.css文件,只要你需要这些颜色的变化发生。

    默认情况下,PHP方法会导致客户机在每次命中时重新查询服务器以获取更改。仅仅每14天更改一次值就浪费了带宽和cpu时间。