Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在php中从数据库动态生成css样式的选项_Php_Css_Stylesheet - Fatal编程技术网

用于在php中从数据库动态生成css样式的选项

用于在php中从数据库动态生成css样式的选项,php,css,stylesheet,Php,Css,Stylesheet,我正在开发一个应用程序,它允许用户在应用程序中选择样式选项。然后,这些选项将用于生成动态网页。我想知道我的选项是什么来实现这个页面的样式,这些选项的优点和缺点是什么 在我看来,我有以下3种选择: 内联应用css 创建一个动态php样式表。。。e、 当然你的第二个选择是最好的 使用style.php,您可以根据登录的用户随时输出 假设我使用style.php,甚至不需要为用户自定义它。 使用它,您可以扩展CSS功能,如: <?php $blue = 'color:#yourbluecolo

我正在开发一个应用程序,它允许用户在应用程序中选择样式选项。然后,这些选项将用于生成动态网页。我想知道我的选项是什么来实现这个页面的样式,这些选项的优点和缺点是什么

在我看来,我有以下3种选择:

  • 内联应用css


  • 创建一个动态php样式表。。。e、 当然你的第二个选择是最好的

    使用style.php,您可以根据登录的用户随时输出

    假设我使用style.php,甚至不需要为用户自定义它。 使用它,您可以扩展CSS功能,如:

    <?php $blue = 'color:#yourbluecolorFFF'; ?>    //  EXAMPLE
    
    td { <?php echo $blue; ?>}
    /*etc*/
    

    这实际上取决于样式选项的详细程度。如果是一些简单的东西,那么使用内联CSS可能是最好的选择。如果有大量定制,那么我建议您在“节省”时间生成定制的CSS,并将其存储在文件系统中。我个人不喜欢styles.php,因为它是服务器上的一个附加负载,比较一下web服务器发送静态文件和通过php处理请求然后提供内容

    除非你真的很少有访问者和/或CSS经常更改(我不知道为什么),否则最好使用内联CSS或为每个用户生成动态CSS文件

    根据你在评论中的回答。我认为最好在保存并覆盖包中包含的默认CSS文件后生成CSS文件


    我看到的最简单的解决办法。您可以有一个模板CSS文件,其中可以有标记。将模板加载到PHP变量中。用从设置窗体接收的输入替换标记。保存/覆盖CSS,就完成了。

    TLDR摘要

  • 这是你将要做的事情的基础
  • 你可以试试,但我想你会遇到同样的缓存问题
  • 缓存文件的依据是服务器如何为其提供服务,而不是代码
    我会说以增量方式加载样式表,让用户选择他们想要的样式

    也就是说,在“层”中加载样式表。例如,您可以使用静态的“style.css”来记录所有样式中常见的基础。然后,您可以制作3张图纸,每张图纸都会稍微改变/覆盖样式:

  • 红色主题颜色的red-style.css
  • 蓝色主题颜色的blue-style.css
  • 等等
  • 从那里你有两个选择。你也可以

  • 将所有class/id值保持为静态,并通过页面重新加载(并将其插入以供将来通过PHP加载页面)或
  • 您可以一次加载所有内容,并让PHP更改类/id值(例如,
    #内容文章
    变为
    #内容文章红色
    #内容文章蓝色
    )。不推荐

  • 我的两分钱,无论如何。:)

    您还可以使用.htaccess rewrite隐藏
    style.php
    ,并使其
    style.css
    更容易。不确定这个问题是否有正确答案,因为这只是一个意见问题,但由于这个问题获得了最多的选票,我将把它设置为可接受的答案。。。
    header('Content-Type: text/css');