gpt4 book ai didi

html - 在 CSS 中为 ID 添加类

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

解决方案:遵循已接受答案提供的解决方案。
下面提供了我的代码摘录,作为更清晰的解决方案。

<?php
$active_home = "active";
include('header.php');
?>


<div id="content">
<title>Welcome to the home page.</title>
<p>index</p>

</div>

为了影响头文件,$active_home 必须在 include 之前。

<html>
<head>
<link rel="stylesheet" href="MainStyle.css" type="text/css" media="screen"/>

</head>

<div class="topnav" id="mytopnav">
<a href="/Index.php" id="homenav" class="<?php echo $active_home; ?>">Home</a>
</div>
</html>

目前我有一个主要的 CSS 表,它指定了我的导航栏的所有样式。
我想提供有关用户所在页面的指示,并且 the tutorial I followed使用改变背景和文本颜色的“.active”类。
问题是他们的方法在导航栏上指定了事件页面。这是行不通的,因为导航栏认为是事件页面的内容永远不会改变。

我想做的是在每个页面的开头添加一个小样式表,将导航栏上的当前页面设置为事件。
如果我使用像

这样的东西,我可以很容易地做到这一点
<style>
#homenav{
background-color: #4CAF50;
}
</style>

到每个页面,在上面的例子中是主页。
然而,这意味着如果我想更新事件页面的样式,我需要单独更改每个页面。

我更愿意做的是

<style>
#homenav{
(add the .active class)
}
</style>

这让生活更轻松,但目前我在引用时遇到问题。
是否可以在 CSS 中为特定 ID 添加类?如果做不到这一点,有没有办法在主 css 中声明一个可以在其他样式表中引用的变量?

主要 CSS:

* {
margin: 0;
}

#body{
margin: 0px;
padding: 0px;
font-family: Calibri;
}

.topnav {
background-color: #333;
overflow: hidden;
}

/* Style the links inside the navigation bar */
.topnav a {
float: left;
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}

/*Change the color of links on hover */
.topnav a:hover {
background-color: #ddd;
color: black;
}

/* Add a color to the active/current link */
.topnav a.active {
background-color: #4CAF50;
color: white;
}

最佳答案

在您当前的案例场景中,您有动态页面,您希望在其中突出显示与事件页面相关的导航栏中的菜单。它可以使用以下逻辑简单地实现。

如果您有固定数量的动态页面让我们举一个例子,你有下面的导航栏(菜单)元素。

  1. 主页
  2. 关于
  3. 服务
  4. 联系方式

在每个页面中,您都有动态内容。您需要的内容将通过 PHP 而不是 HTML/CSS 来完成。

将您的导航栏文件作为一个单独的文件。随意命名。例如,nav-items.php 并包含在您的 PHP 页面中。

现在在 nav-items.php 中应用以下逻辑:

<li id="home" class="<?php echo $active_home; ?>">Home</li>
<li id="about" class="<?php echo $active_about; ?>">About</li>
<li id="services" class="<?php echo $active_services; ?>">Services</li>
<li id="contact" class="<?php echo $active_contact; ?>">Contact</li>

如果您在数量方面也有动态页面,并且不确定页面名称,请改用以下代码。

<?php
$dynamic_page_name = "Page Name" //This is can be fetched from database
?>

<li id="<?php echo $dynamic_page_name; ?>" class="<?php echo ${"active_" . $dynamic_page_name}; ?>"><?php echo $dynamic_page_name; ?></li> //Since it is an example of dynamic page names, so I am only giving one List Item example.

现在在每个 PHP 页面中,添加以下代码。

例如,About 将具有以下代码:

<?php
$active_about = "active";
?>

如果您在数量方面也有动态页面,并且不确定页面名称,请改用以下代码。

<?php
$dynamic_page_name = "Page Name" //This is can be fetched from database

${"active_" . $dynamic_page_name} = "active";
?>

这将向每个页面添加 active 类,并为其定义专门用于此目的的特定 PHP 变量。因此,一旦 nav-items.php 被加载到每个页面中,只有相关页面才会添加 active 类。

关于html - 在 CSS 中为 ID 添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43564500/

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