php中的外部样式表(css)


External stylesheet (css) in php

我在stackoverflow上看了4-5篇关于这个问题的帖子,但没有解决我的问题。

我有一个php文件,希望使用其他HTML文件的css样式表。

现在看起来是这样的:

 <div style="height: 600px;">
      <?php
       echo "<link rel='stylesheet' type='text/css' href='stylesheet.css' media='all'/>";
       session_start();
       $admin = $_SESSION['admin'];
       $author = $_SESSION['author'];
       ?>
       <?php if ($admin == true AND $author == true) { ?>
           <p id="confirmationText"><?echo "Thank you for your message! <br>You should have received a confirmation email. We will contact you soon."; ?></p>
       <?php } ?>
</div>

它不起作用;p id="confirmationText"文本未格式化。有趣的是,当我在没有apache服务器的情况下在本地打开文件时,它会被格式化为HTML。

该怎么办?

  • CSS样式的链接如果不在<head> ... </head>区域中,有时会无法正常工作。的最佳实践是只声明echo语句那里
  • 尝试在浏览器中打开页面,然后单击"检查"element',并查看是否可以在那里看到任何问题。浏览器通常只是呈现出奇怪的东西。它可以为你提供错误的线索
  • 为什么要在session_start命令之前链接样式表?也许这只是导致输出缓冲区错误。试着把你的链接放在PHP代码的末尾

老实说,有时即使是修复代码的"最佳实践"answers"清理"方法也不起作用。你可以使用一个小css破解。这是一种糟糕的做法,而且有点过时,但我已经写了很多年的代码,这让生活变得简单多了:而不是从外部链接样式表。。。。直接嵌入样式。

将这段代码添加到您的文件中:

<style>
<!-- change the path to the correct one, though. I have no clue where your file is, in the filesystem, I'm just guessing, here -->
<?php include($_SERVER['DOCUMENT_ROOT'] . "/stylesheet.css"); ?> 
</style>

您能在浏览器中打开样式表吗?

另外,为什么要在div中而不是在head中回显样式表?