好的,让我解释一下:
我有一些文件,基本的东西是这样的:
的index.php
<html>
<head>
<title>Simple page</title>
</head>
<body>
<?php include 'home.php'; ?>
</body>
</html>
home.php
<div class="thisWillBeBlue">Still not blue</div>
的style.css
.thisWillBeBlue {background: blue}
现在问题:使用php我想在head标签中插入style.css,从文件 home.php 中调用它。好吧,我提出了一个解决方案,但效果不是很好:
的index.php
<?php $css = array();
$css[] = 'linktothecss.css'
?>
<html>
<head>
<title>Simple page</title>
<?php
foreach($css as $item){
echo "<link rel='stylesheet' href='".$item."' />";
}
?>
</head>
<body>
<?php include 'home.php'; ?>
</body>
</html>
但问题是,如果我从 home.php 调用css,它将在稍后添加到数组中,因此它不会在head标记内回显。有什么想法吗?
答案 0 :(得分:1)
您可以使用ob_start()
和ob_end_flush()
函数执行此操作
e.g。
<强>的index.php 强>
<?php
$csspage = "default.css";
function loadCSS($buffer) {
global $csspage;
return (str_replace('{{ css }}', $csspage, $buffer));
}
ob_start("loadCSS"); ?>
<html>
<head>
<!-- the string {{ css }} is just a placeholder that will be replaced
with the new value of $csspage defined later in the code, otherwise
it will replaced with its initial value (default.css)
-->
<link href="{{ css }}" />
</head>
<body>
<?php include 'home.php'; ?>
</body>
</html>
<?php ob_end_flush(); ?>
<强> home.php 强>
<?php $csspage = "custom_style.css"; ?>
<div class="thisWillBeBlue">blue</div>
答案 1 :(得分:0)
我认为你正在寻找类似的东西......(在其头文件中包含一段代码,以便它可以添加更多样式表)
这将允许您在每个页面上添加更多样式表。
(将其添加到<head>
)
<?php
if (!empty($styles) && is_array($styles)) {
foreach ($styles AS $style) {
echo '<link rel="stylesheet" href="/assets/css/'. $style .'">';
}
}
?>
如果需要特定的样式表,可以将变量放在单个脚本的顶部:
<?php
$styles = array('custom_style.css');
?>
答案 2 :(得分:0)
如果需要,可以将CSS文件引用放在代码正文中。
<body>
<link href="linktothecss.css" rel="stylesheet" type="text/css" />
<div class="thisWillBeBlue">
I'll be blue as soon as linktothecss.css finishes loading!
</div>
</body>
唯一的区别是,在HEAD中,保证在呈现页面之前加载它们。当他们在BODY中时,可能会有一瞬间仍在加载它们并且样式尚未应用。
如果您肯定希望它们在HEAD中,您可以在具有相同文件名的单独文件夹中定义css要求,如下所示:
<强>的index.php:强>
<html>
<head>
<?php
include('css-requirements/home.php');
?>
</head>
<body>
<?php include('home.php'); ?>
</body>
</html>
和
<强> CSS-要求/ home.php:强>
<link href="mycss.css" rel="stylesheet" type="text/css" />
<link href="myothercss.css" rel="stylesheet" type="text/css" />