我想将 header.php
文件包含到我的一个页面中。是否有可能以某种方式为包含的文件提供单独的 header_style.css
文件?我的意思是,我还包含了 footer.php
并注意到它将继承 header_style.css
的所有样式,即使我没有将它链接到它。简而言之,是否可以有单独的 CSS 文件,这样样式就不会被其他包含的文件继承?
最佳答案
似乎对 PHP 和 CSS 文件的作用以及它们如何影响浏览器中页面的最终外观存在一些误解。
PHP 文件生成发送到浏览器的 HTML。 CSS 文件告诉浏览器如何设置 HTML 的样式。如果您查看网页的原始 HTML(例如,在 Firefox 中,右键单击网页并选择“查看页面源代码”),您可以看到所有 php 文件生成的内容,无论它们是如何包含的.浏览器永远不会看到 php 文件本身,只会看到服务器在运行 php 文件后生成的内容。
要在浏览器中查看 CSS 文件,您必须在浏览器的地址栏中输入样式表的完整 URL。例如,此网页的其中一个样式表的 URL 为 https://cdn.sstatic.net/Sites/stackoverflow/primary-unified.css?v=6f059d938c2b .
要控制页面 HTML 的哪些部分由哪些 CSS 文件或一个 CSS 文件的部分控制,您需要使用“CSS 选择器”来连接 HTML 和 CSS。可以在 w3schools.com 上找到 CSS 选择器的快速解释。网站。
rickdenhaan 的评论和 jeff以上有助于为您指明正确的方向。
对于包含 php 文件的浏览器来说,实际生成 HTML 是没有意义的,因为它永远不知道。浏览器只知道服务器从一个 URL 发送了所有 HTML。制作header_style.css
文件仅适用于 header.php
创建的 HTML文件,您需要包装来自 header.php
的 HTML在一些 HTML 元素中,您可以使用 header_style.css
“选择”例如<div id="header"> .... </div>
使用类似 div#header { color: red; ...}
的规则或者也许 <header> ... </header>
使用像 header { color: green; ...}
这样的 CSS 规则.
你可以在你身上做同样的选择过程footer.php
文件,与其他id="..."
属性,使用 <footer>
HTML 标记和更改 CSS 以仅通过 id
选择该部分. CSS 选择器可用于“选择”很多,body { color: gray; ...}
例如会将灰色应用于 <body> ... </body>
中的所有内容未被其他更具体的规则更改的标记(页面上的所有内容)。 CSS 选择器也可用于选择非常小的内容,img#special { border-color: purple; ... }
只会影响一个 <img id="special" ...>
页面上的元素,无论页面有多大。
CSS 选择的任何内容都会将样式应用于该元素,以及该元素中的每个元素,除非 CSS 选择并更改其中某些元素的样式。然后该样式将应用于更具体的元素内的所有内容,直到其他选择器(甚至更具体)选择其中的一个元素。该过程“级联”,直到浏览器用完所有可移入其中的元素,或用完所有可应用的 CSS 规则。
关于php - 如何在不将这些样式传递给其他包含文件的情况下设置包含文件的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53987764/