在PHP文件中使用CSS

嗯,每个人都知道我们可以在PHP文件中使用HTML。 那么我们也可以在PHP文件中使用CSS并仍然像&lt; link rel =“stylesheet”type =“text / css”href =“mystyle.php”/&gt; </ code>一样调用它来传递PHP 作为CSS文件? 我知道我们可以从PHP生成CSS,例如 echo“&lt; style&gt; </ code>(...)&lt; / style&gt;”</ code>,但是上面的工作会怎样?</ p >
</ div>

展开原文

原文

Well, everyone knows we can use HTML inside a PHP file. So can we also use CSS inside a PHP file and still call it like <link rel="stylesheet" type="text/css" href="mystyle.php" /> to pass PHP as a CSS file? I know we can generate CSS from PHP doing something like echo "<style> (…) </style>", but will the above work?

douwu0335
douwu0335 它不像我将在我的CSS中使用它,我只是想知道是否有可能有外部php生成css内容无论出于何种原因,我不想在主要//家庭档案。
7 年多之前 回复
doumanju2533
doumanju2533 所以你想要这样做的唯一原因是因为你好奇吗?您不应该在.php文件中定义CSS,除非有理由这样做。在这种情况下,服务器需要首先调用PHP来解释文件,然后才能将其内容返回给客户端,从而增加了开销。
7 年多之前 回复
douluan5444
douluan5444 嗯,我知道PHP不是由浏览器解释,我知道我们可以传递一个PHP文件,它将理解为一个HTML,所以传递外部PHP作为一个CSS可能也有效。是的,我可以在内部回应它,而不是把它称为外部文件,但我只是有这种好奇心,现在我没有时间来测试这个:D
7 年多之前 回复
donglue8180
donglue8180 你可能想看看这里
7 年多之前 回复
duancongduo4109
duancongduo4109 你为什么需要这样做?
7 年多之前 回复
dongqia0240
dongqia0240 为什么不回应链接?
7 年多之前 回复

7个回答



您可以这样做。 在 mystyle.php </ code>中,添加第一行:</ p>

header('Content-type:text / css'); </ code> </ p>

然后像任何PHP一样使用变量等来完成代码。 由于头部声明,浏览器打开时你的php将被解析为一个css文件。</ p>

所以你可以这样做:</ p>

  &lt;?php 
header('Content-type:text / css');
/ * ------------------------ \ n PHP Vars
------------------------ * /
$ color1 =“#fff”;
$ fontSize =“15px”;

?&gt;

.someSelector {
color:&lt;?= $ color1;?&gt ;;
font-size:&lt;?= $ fontSize;?&gt ;;
} \ n </ code> </ pre>
</ div>

展开原文

原文

You can do this. In the mystyle.php, add in the first line:

header('Content-type: text/css');

Then do your code just like any PHP, using variables and such. Because of the header declaration, your php when opened by the browser will be parsed as a css file.

So you could do something like:

<?php 
header('Content-type: text/css');
/* ------------------------
    PHP Vars
------------------------ */
$color1 = "#fff";
$fontSize = "15px";

?>

.someSelector {
    color: <?=$color1;?>;
    font-size: <?=$fontSize;?>;
}

doupuchao4256
doupuchao4256 很高兴有帮助。 我曾经用javascript做这个(我需要一些来自数据库的信息,但是不想编写api来制作ajax以便稍后获取它所以我在文件中进行了查询并且已经在脚本上添加了信息)。 但对任何事情都有同样的作用。 这有时与那些验证码脚本的图像一起使用(所以<img src =“somecaptcha.php”/>标题包含Content-type:image / png和php输出图像,例如)
7 年多之前 回复
doutu9810
doutu9810 直接清洁,正是我想知道的
7 年多之前 回复
dptt66700
dptt66700 直接回答,不是质疑我的意图,很好的例子,你真的明白我的意思。
7 年多之前 回复



CSS用于标记样式。 PHP不是标记,因此您无法应用样式。</ p>

但是,如果您只是尝试使用PHP脚本输出CSS,则可以像输出HTML一样进行: </ p>

 &lt;?php 
header(“Content-type:text / css”);

echo“h1 {text-decoration:underline;}”;
?&gt;
</ code> </ pre>

或</ p>

 <  code>&lt;?php 
header(“Content-type:text / css”);

?&gt;
h1 {text-decoration:underline; }
</ code> </ pre>

如果您尝试从也生成HTML的脚本输出CSS,您可以像您一样回显&lt; style </ code>块 在您的问题中指出,或者您可以在您生成的HTML中使用内联样式:</ p>

 &lt;?php 
echo'&lt; h1 style =“text-decoration: 加下划线“&gt; ...';
</ code> </ pre>
</ div>

展开原文

原文

CSS is used to style markup. PHP is not markup, so you cannot apply styles.

However, if you are simply trying to use a PHP script to output CSS, you can do it the same way you would output HTML:

<?php
    header("Content-type: text/css"); 
    echo "h1 { text-decoration: underline; }";
?>

or

<?php
     header("Content-type: text/css"); 
?>
h1 { text-decoration: underline; }

If you are attempting to output CSS from a script that also generates HTML, you can echo a <style block like you indicated in your question, or you can use inline styles in the HTML that you generate:

<?php
    echo '<h1 style="text-decoration: underline">...';



您可以这样做,即在 mystyle.php </ code>脚本中使用PHP自动生成CSS。 让它在浏览器中可靠运行的唯一方法就是告诉他们,它确实是CSS:</ p>

 &lt;?php 
header('Content-Type:text / css ');
?&gt;
/ *你的CSS在这里... * /
</ code> </ pre>
</ div>

展开原文

原文

You can do this, i.e., auto-generating CSS with PHP in the mystyle.php script. The only thing to make it work reliably across browsers is to tell them, that it is indeed CSS:

<?php
header('Content-Type: text/css');
?>
/* your CSS here... */



&lt;?php ...?&gt; </ code>之外的任何内容,或者脚本回应的内容,都将简单 被传递到浏览器。 它可以是任何东西,只要浏览器理解它。 在您的示例中,浏览器会将PHP脚本的输出解释为CSS,因此它可以正常工作。</ p>
</ div>

展开原文

原文

Anything outside <?php ... ?>, or echoed by the script, will simply be passed through to the browser. It can be anything, as long as the browser understands it. In your example, the browser will interpret the output of the PHP script as CSS, so it will work.

doulan1073
doulan1073 是的,这就是你提出的问题。
7 年多之前 回复
dongleiqiao2107
dongleiqiao2107 好吧,我可以测试它,但我现在没有时间,,, loool
7 年多之前 回复
douweng7083
douweng7083 你是这个意思? <link rel =“stylesheet”type =“text / css”href =“mystyle.php”>
7 年多之前 回复



我认为你可以确保你的php文件返回带有包含头类型的css。</ p>

  header(“Content-type:text / css”); 
</ code> </ pre>
</ div>

展开原文

原文

I think it is possible if you make sure your php files returns css with the including header types.

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



如果你设置</ p>

  header(“Content-Type:text”  / css“); 
</ code> </ pre>

作为 mystyle.php的第一行</ code> </ p>
</ div>

展开原文

原文

It should work if you set

header("Content-Type: text/css");

as first line in your mystyle.php



我不知道你的意图是什么,但如果你想要的只是使用变量我认为更好的方法可以是使用CSS预处理器 。 Less很容易学习,每次需要CSS时,这个解决方案比执行PHP更快。</ p>
</ div>

展开原文

原文

I don't know what your intentions are, but if all you want is using variables I think a better approach can be using CSS preprocessor. Less is easy to learn and this solution can be quicker than executing the PHP each time a CSS is needed.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐