我已经决定将php与我的CSS一起用于更好的管理。我设置它,以便我可以在我的" style.php"中加入变量。文件并将它们用于我的css代码。话虽如此,我还希望能够通过echo语句显示这些变量。因此,在我的主索引中,我希望能够做到" echo $ body;"这样我才能真正显示css。它不允许我这样做。
这是我的" style.php"文件位于样式文件夹中
<?php
header("Content-type: text/css");
$body = '
background-color:red;<br>
margin:0 auto;<br>
';
?>
body{
<?php echo $body; ?>
}
这是我的&#34; index.php&#34;文件
<html>
<head>
<link rel="stylesheet" href="styling/style.php" media="screen">
<?php
include 'globals/vars.php';
?>
<title><?php echo $title; ?> - Home</title>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
您在CSS中包含HTML标记。 PHP一切正常,但在CSS的每一行末尾都不需要<br>
。
答案 1 :(得分:0)
您可以通过include
将CSS php脚本包含为内联CSS,也可以将变量放在单独的文件中,将它们包含在CSS页面和主页面中。
你无法访问index.php中的$body
的原因是因为你的CSS文件中声明了$body
,它永远不会包含在你的index.php文件中。相反,您使用HTML引用CSS文件,该文件仅包含该php脚本的输出。
或者,您可以查看SASS或其他支持变量和其他功能的CSS预处理器,以便“轻松管理”。
编辑:关于克里斯刚刚提到的内容,如果您的CSS文件中有新行,请使用“\ r \ n”代替<br>
。
答案 2 :(得分:0)
为什么代码中有class FindCategoryProperty: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null && parameter != null)
{
var categoryList = (IList<CategoryClass>) value;
var categoryStringTuple = (Tuple<categoryID, string>) parameter;
var categoryID = categoryStringTuple.Item1;
var child = categoryList.FirstOrDefault(c => c.CategoryID == categoryID);
if (child != null)
{
switch (categoryStringTuple.Item2)
{
case "Property1":
return child.getProperty1();
case "Property2":
return child.getProperty2();
//etc
default:
return "";
}
}
}
return "";
}
//Left the ConvertBack unimplemented
}
,您应该使用换行符<br/>
答案 3 :(得分:0)
Style.php:
<?php
header("Content-type: text/css");
include 'globals/vars.php';
?>
body{
<?php echo $body; ?>
}
的index.php:
<html>
<head>
<link rel="stylesheet" href="styling/style.php" media="screen">
<?php
include 'globals/vars.php';
?>
<title><?php echo $title; ?> - Home</title>
</head>
<body>
<?php echo $body; ?>
</body>
</html>
全局/ vars.php:
$body = '
background-color:red;
margin:0 auto;
';
这应该有效,因为您现在在使用它的同一范围内声明变量$body
。