【问题标题】:Css ordering, and external style sheet combined with phpcss排序,外部样式表结合php
【发布时间】:2011-11-04 09:14:41
【问题描述】:

好的,所以我的第一个问题是订购你的 css 标签是否重要,我通过这个网站发现答案是肯定的。
我在这些回复中没有发现如何订购它们。就我而言,我的情况与其他地方含糊其辞的情况有所不同(无论如何,来自我的研究)。

我正在使用 php include_once 标签来插入我的页眉、页脚和正文。这样做的目的是压缩文件大小(优化)并组织和分离代码,这样像我这样的菜鸟就不会感到困惑;它还允许我在整个站点的不同页面上使用这些方面,只需更改一个文件即可更改站点范围内的内容(例如,如果我要更改徽标,它将更改站点范围)。到目前为止,我的索引非常重要:

div
php include of header
/div
div
php include of body
/div
div
php include of footer
/div

现在我知道这需要进行微调,以使页眉、正文和页脚不会聚集在一起,但我(认为我)已经涵盖了所有内容。

我的问题是我已经设置了这个页面中的 div(至少是 body div)的样式,并且 body 包含文件中的 div,它本质上是一个两列 div 页面,其中两个容器内有 div内容。
我如何开始知道如何设计这个样式。此外,当我将 css 放入样式表时,有一半样式存在,另一半没有,我是否应该在每个包含的文件中放置指向样式表的链接?如果是这样,我该如何在仍然能够验证的情况下执行此操作,例如,我不能在包含中放置一个头标签,因为那样索引中就会有四个头标签:/ 我知道这不仅仅是一个问题但这一切都联系在一起成为一个混乱的问题,所以如果你能澄清那将是很棒的。谢谢!

【问题讨论】:

  • 我已经为你重新格式化了问题,下次请把你的问题问清楚,这样我们才能准确地看到你的问题;)
  • 抱歉,我希望我是一个比作家更有条理的开发人员:P 感谢您的编辑,现在更有意义了。

标签: php css optimization stylesheet


【解决方案1】:
  1. 网页部分的顺序与 CSS 无关。相反,您的内容的顺序应该是合乎逻辑的、可用的并且在每个子页面上保持相同。您必须先决定可以呈现的内容顺序,然后再为标记设置样式。
  2. 关于如何使用 PHP-includes 来组合站点部分,请参阅 Rikudo Sennin 的回答
  3. 顺便说一句:“压缩文件大小(优化)”PHP 文件在缩小、拆分或以其他方式“速度优化”时不会更快地处理。

【讨论】:

  • 这种当前的 php 风格是否包括 seo 友好?除了优化,正如你所说,我在这里并没有真正实现,seo 对我来说很重要,但我不确定如何以 seo 友好的方式优化网站,我相信我能找到一些东西不过在这里为我澄清一下。
  • PHP 是一种服务器端语言——没有客户端(可能是浏览器或搜索引擎机器人)无法看到您的 PHP 包含,因为它们是在服务器上处理的。除了最小化脚本/样式表文件或压缩整个输出(这两种方法都是为了节省带宽,这会导致更快的页面加载,这在turn 目前被 Google 授予荣誉……)。
【解决方案2】:

您布置文件的方式很好,包含经常用于保持代码的可维护性 - 这不会让您成为菜鸟,这会让您井井有条!在样式方面,您只需要一个<head/> 元素和一个对样式表的引用。

如果您需要澄清文件的结构,您需要这样的内容:

<!DOCTYPE html>
<html lang="en">
<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Page Title</title>

    <link rel="stylesheet" type="text/css" href="path/to/your/stylesheet.css"/>

</head>
<body>

    <?php include 'path/to/your/header/file.php'; ?>

    <?php include 'path/to/your/body/file.php'; ?>

    <?php include 'path/to/your/footer/file.php'; ?>

</body>
</html>

【讨论】:

    【解决方案3】:

    为头部保留一个单独的包含。您绝对不应该为其他包含在其各自文件中的元素定义样式。样式放在一个包含标题句点的文件中。虽然在不同的文件中指定元素的样式似乎有点不方便,但这是正确的方法。

    这是一个过于简化的应用程序页面:

    require_once('header.php'); //Contains the CSS and <head>
    require_once('body.php');
    require_once('footer.php);
    echo header();
    $myContent = 'foo'; //Do all processing here
    echo body($myContent);
    echo footer();
    

    您可能还想研究模板系统

    【讨论】:

      【解决方案4】:

      你为什么不把head标签放在header include中并链接到那里的样式表? 此外,如果您将所有 css 放在一个样式表中并在每个页面上链接到它,那么您的样式就已经涵盖了。 只需像这样制作您的文件: header.php:

      <!DOCTYPE /><!-- don't forget this one -->
      <html>
      <head><!-- your head stuff here --></head>
      <body><!-- open the body in this file -->
      <div>Your logo goes here</div>
      

      index.php(或任何其他内容文件):

      <div>Your content goes here</div>
      

      您可能还希望将内容文件的开始 div 标记放在 header.php 中,将结束 div 标记放在 footer.php 中

      页脚.php:

      <div>Your footer stuff goes here</div>
      </body>
      </html>
      

      【讨论】:

      • 所以我会将样式表的链接放在页眉中,还是放在正文和页脚中?
      • 不只是在标题中。在 标记中,您链接到您的样式表。由于您在每个页面上都包含 header.php 文件,因此您也可以在每个页面上使用样式表。
      【解决方案5】:

      一般来说,我喜欢做这样的事情:

      <?php require_once(parts/head.php); ?>
      
      Page contents in HTML
      
      <?php require_once(parts/sidebar.php); //If present ?>
      
      <?php require_once(parts/footer.php); ?>
      

      head.php 文件,包括所有内容:

      • 文档类型
      • &lt;html&gt;&lt;head&gt; 标签。
      • 样式表和脚本
      • &lt;body&gt; 的开头,如果需要,&lt;div id=main-container&gt;

      它对我来说很好用。您无需在任何地方都包含多个样式表实例,只需在 head 标记中包含一次。至于一半的样式表,清空缓存再试一次,确保文件真的完整,没有误保存一半。

      【讨论】:

      • 所以基本上我的错误是将样式表的链接放在索引中,什么时候应该放在头上?所以,如果我理解正确的话,从开始的正文标签到上面的所有内容都在头文件中?你会关闭页脚中的正文标签吗?
      • 是的,还有&lt;html&gt;标签。
      • 好的,在这种情况下,我不需要将每个包含的页面链接到样式表,对吧?例如,我不需要页眉、页脚和正文中的链接,它会自动关闭页眉中的一个链接,我理解对吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 2017-04-01
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多