HTML 基于当前页面的包装器状态更新
HTML Wrapper state update based on current page
我是 HTML/CSS 的初学者。我目前在我的网站上有一个带有 link 的包装器,可以重定向到不同的页面。我的 objective 是将 link 更新为当我在相应页面时显示 pressed。
这方面的一个例子是,如果您处于堆栈溢出状态并单击 "Jobs" 页面,它会将您重定向到 Whosebug。com/jobs 而 link 是 highlighted/pressed.
据我了解,我实现包装器的方式是使用容器。
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<h1><a href="index.html">myname</a></h1>
<nav class="links">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="resume.html">Resume</a></li>
<li><a href="about.html">About</a></li>
</ul>
</nav>
.
.
.
我的项目是一个预制的 SASS 主题,其中有一个 _wrapper.scss
文件。我的目的不是编辑这个文件,因为我认为我还没有准备好学习如何编译 SASS 文件并将它们转换为 CSS,但是有没有其他方法可以得到结果我要?
我对onmouseover
和onmouseout
事件很熟悉,但是,有没有我想要实现的事件?
谢谢!
开始定义一个 CSS class,您可以将其分配给 li
元素以更改它的外观以显示它已 pressed 例如
li.pressed { font-weight: bold; }
然后您需要一种方法根据加载的页面将此 class 应用到正确的 li
元素。如果您只是在每个页面上剪切和粘贴导航,您可以手动执行此操作,例如
<li class="pressed"><a href="resume.html">Resume</a></li>
随着您向站点添加越来越多的页面,这种方法将无法很好地扩展。您需要能够将页面作为参数提供给某个脚本,该脚本将为您分配 class 属性。
您使用的脚本可以 运行 在客户端或服务器上。获取参数正确值的方式取决于脚本 运行s.
的位置
服务器端脚本会使用页面 HTTP 请求中的信息来匹配 pressed 按钮的 href
。
客户端脚本会使用 window.location
属性,然后需要为 pressed 按钮找到匹配的 href
。
我相信您正在寻找的是 :visited 选择器。制作一个 CSS 文件并执行此操作:
a:visited{
color:black
}
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<h1><a href="index.html">myname</a></h1>
<nav class="links">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="resume.html">Resume</a></li>
<li><a href="about.html">About</a></li>
</ul>
</nav>
我是 HTML/CSS 的初学者。我目前在我的网站上有一个带有 link 的包装器,可以重定向到不同的页面。我的 objective 是将 link 更新为当我在相应页面时显示 pressed。
这方面的一个例子是,如果您处于堆栈溢出状态并单击 "Jobs" 页面,它会将您重定向到 Whosebug。com/jobs 而 link 是 highlighted/pressed.
据我了解,我实现包装器的方式是使用容器。
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<h1><a href="index.html">myname</a></h1>
<nav class="links">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="resume.html">Resume</a></li>
<li><a href="about.html">About</a></li>
</ul>
</nav>
.
.
.
我的项目是一个预制的 SASS 主题,其中有一个 _wrapper.scss
文件。我的目的不是编辑这个文件,因为我认为我还没有准备好学习如何编译 SASS 文件并将它们转换为 CSS,但是有没有其他方法可以得到结果我要?
我对onmouseover
和onmouseout
事件很熟悉,但是,有没有我想要实现的事件?
谢谢!
开始定义一个 CSS class,您可以将其分配给 li
元素以更改它的外观以显示它已 pressed 例如
li.pressed { font-weight: bold; }
然后您需要一种方法根据加载的页面将此 class 应用到正确的 li
元素。如果您只是在每个页面上剪切和粘贴导航,您可以手动执行此操作,例如
<li class="pressed"><a href="resume.html">Resume</a></li>
随着您向站点添加越来越多的页面,这种方法将无法很好地扩展。您需要能够将页面作为参数提供给某个脚本,该脚本将为您分配 class 属性。
您使用的脚本可以 运行 在客户端或服务器上。获取参数正确值的方式取决于脚本 运行s.
的位置服务器端脚本会使用页面 HTTP 请求中的信息来匹配 pressed 按钮的 href
。
客户端脚本会使用 window.location
属性,然后需要为 pressed 按钮找到匹配的 href
。
我相信您正在寻找的是 :visited 选择器。制作一个 CSS 文件并执行此操作:
a:visited{
color:black
}
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<h1><a href="index.html">myname</a></h1>
<nav class="links">
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="resume.html">Resume</a></li>
<li><a href="about.html">About</a></li>
</ul>
</nav>