Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何设置包含文件的样式,而不将这些样式传递给其他包含文件_Php_Css_Inheritance_Include - Fatal编程技术网

Php 如何设置包含文件的样式,而不将这些样式传递给其他包含文件

Php 如何设置包含文件的样式,而不将这些样式传递给其他包含文件,php,css,inheritance,include,Php,Css,Inheritance,Include,我想将header.php文件包含到我的一个页面中。是否有可能对包含的文件使用单独的header_style.css文件?我的意思是,我还包括footer.php,并注意到它将继承header_style.css中的所有样式,即使我没有将其链接到它。简言之,是否可能有单独的CSS文件,以便样式不会被其他包含的文件继承?对于PHP和CSS文件的作用以及它们如何影响浏览器中页面的最终外观,似乎存在一些误解 PHP文件生成发送到浏览器的HTML。CSS文件告诉浏览器一旦拥有HTML,该如何设置HTML

我想将header.php文件包含到我的一个页面中。是否有可能对包含的文件使用单独的header_style.css文件?我的意思是,我还包括footer.php,并注意到它将继承header_style.css中的所有样式,即使我没有将其链接到它。简言之,是否可能有单独的CSS文件,以便样式不会被其他包含的文件继承?

对于PHP和CSS文件的作用以及它们如何影响浏览器中页面的最终外观,似乎存在一些误解

PHP文件生成发送到浏览器的HTML。CSS文件告诉浏览器一旦拥有HTML,该如何设置HTML的样式。例如,如果在Firefox中查看网页的原始HTML,右键单击网页并选择“查看页面源”,则可以查看所有php文件生成的内容,无论这些文件是如何包含的。浏览器从未看到php文件本身,只看到服务器在运行php文件后生成的内容

要在浏览器中查看CSS文件,必须在浏览器的地址栏中输入样式表的完整URL。例如,此网页的其中一个样式表的URL为

要控制页面HTML的哪些部分由哪个CSS文件控制,或者一个CSS文件的哪些部分控制,您需要使用CSS选择器来连接HTML和CSS。可以在网站上找到CSS选择器的快速解释

以上的评论有助于为您指明正确的方向

对于包含php文件的浏览器来说,这并没有什么意义,因为它永远不知道HTML是如何生成的。浏览器只知道服务器从一个URL发送了所有HTML。要使header_style.css文件仅应用于由header.php文件创建的HTML,您需要将header.php中的HTML包装在一些HTML元素中,然后您可以使用header_style.css选择这些元素,例如。。。。使用类似于divheader{color:red;..}或者。。。使用CSS规则,如标题{color:green;…}

您可以在footer.php文件中执行相同的选择过程,其他id=。。。属性,即使用HTML标记和更改CSS以仅按id选择该部分。CSS选择器可用于选择很多,例如body{color:gray;…}将灰色应用于。。。标记页面上未被其他更具体规则更改的所有内容。CSS选择器也可以用于选择非常小的元素,imgspecial{border color:purple;…}只会影响页面上的一个元素,无论页面有多大


CSS选择的任何内容都会将样式应用于该元素以及其中的每个元素,除非CSS选择并更改其中某个元素的样式。然后,该样式应用于更具体的元素中的所有内容,直到其他选择器(甚至更具体)选择其中的元素。这一过程会层叠,直到浏览器没有可移动的元素,或者没有可应用的CSS规则为止。

如果我正确理解了您的问题,我建议您可以将CSS样式文件放在另一个文件中,并在需要时将该文件包含在任何位置。与假设header_styles.php包含CSS文件一样,header.php包含HTML代码如果包含CSS,则它适用于整个文档。因此,如果您的header_style.css定义了强{color:red;}并且您的footer.php输出了一些内容,那么这些内容将是红色的。要完成所需操作,请使用更具体的选择器,例如类名或特定的包含元素。CSS=级联样式表。这意味着,如果在文档中的任何位置设置p元素的样式,它将采用样式表中的p元素。要“绕过”这一点,您需要在单独的块div id='header'或section id='header'中定义标头,然后告诉样式表仅将规则应用于特定块,即heaader p{color:green;}非常感谢您提供的详细答案!