gpt4 book ai didi

php - PHP 包含的内容不适用于本地页面 css

转载 作者:太空宇宙 更新时间:2023-11-04 00:09:27 24 4
gpt4 key购买 nike

在我的 html 页面中,我使用 PHP include 来插入我的站点范围的 header :

<?php include 'header.php'; ?>

这是 header.php 中的代码:

<div id="header">
<div id="navigation">
<ul>
<li><a href="index.php" class="active">home</a></li>
<li><a href="about_us.php" id="nav_about">about us</a></li>
<li><a href="competition.php" id="nav_competition">competition</a></li>
<li><a href="media.php" id="nav_media">media</a></li>
<li><a href="sponsors.php" id="nav_sponsors">sponsors</a></li>
<li><a href="contact_us.php" id="nav_contact">contact us</a></li>
</ul>
</div>
</div>

这是 HTML 文档 header 中的 CSS:

#nav_about { color:#4c005c; }

插入代码中的“事件”类用于更改该链接的颜色以表示您所在的页面。这个功能很好,因为“事件”是在链接到 html 文件的 CSS 文档中定义的。我想根据包含在哪个页面中修改特定链接的颜色。事实是,当我测试它时,该页面上的 CSS(定义#nav_about 的那个)不适用。不过,包含工作正常。

总而言之,我需要找到一种方法来修改站点范围的 HTML 片段,该片段是通过 PHP 插入的,包含在该页面上的 CSS。

我是 HTML 和 PHP 的新手,所以我认为这是缺乏知识。

最佳答案

根据您在 PHP 中所在的当前页面更改 HTML 元素类的简单方法可能如下所示:

<?php
$nav_links = array(
'/index.php' => array('id' => 'nav_home', 'label' => 'Home'),
'/about_us.php' => array('id' => 'nav_about', 'label' => 'About Us'),
// and so on for each link
);
?>
<div id="header">
<div id="navigation">
<ul>
<?php
foreach ($nav_links as $href => $link_info) {
if ($_SERVER['REQUEST_URI'] === $href) {
?>
<li><a href="<?php echo $href; ?>" id="<?php echo $link_info['id']; ?>" class="active"><?php echo $link_info['label']; ?></a></li>
<?php
} else {
?>
<li><a href="<?php echo $href; ?>" id="<?php echo $link_info['id']; ?>"><?php echo $link_info['label']; ?></a></li>
<?php
}
}
?>
</ul>
</div>
</div>

在这里,您只需为对应于当前查看页面的链接应用 class=active。如果您愿意,这也使得分离页面/链接配置变得非常容易。

关于php - PHP 包含的内容不适用于本地页面 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13575926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com