Learn CSS from the Best Tutors
Search in
To dynamically add an "active" CSS class to the navigation menu based on the current page, you typically need to determine the active page within your application and conditionally apply the "active" class to the corresponding navigation link.
Here's a general example using vanilla JavaScript for a simple scenario:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
/* Your basic navigation styles */
nav {
background-color: #333;
padding: 10px;
}
nav a {
color: white;
text-decoration: none;
padding: 5px;
margin: 0 10px;
}
/* Active link styles */
nav a.active {
background-color: lightcoral;
}
</style>
<title>Dynamic Active Class</title>
</head>
<body>
<nav>
<a href="/" id="homeLink">Home</a>
<a href="/about" id="aboutLink">About</a>
<a href="/contact" id="contactLink">Contact</a>
</nav>
<script>
document.addEventListener('DOMContentLoaded', function () {
// Get the current page URL
const currentPageUrl = window.location.pathname;
// Get all navigation links
const navLinks = document.querySelectorAll('nav a');
// Loop through each link and check if it matches the current page
navLinks.forEach(function (link) {
const linkUrl = link.getAttribute('href');
if (currentPageUrl === linkUrl) {
// Add the "active" class to the matching link
link.classList.add('active');
}
});
});
</script>
</body>
</html>
```
In this example:
- The JavaScript code runs when the DOM is fully loaded (`DOMContentLoaded` event).
- It retrieves the current page URL using `window.location.pathname`.
- It loops through each navigation link and compares its `href` attribute with the current page URL.
- If a match is found, the "active" class is added to the corresponding navigation link.
This is a basic example, and in a more complex application or framework (such as Angular, React, or Vue.js), you may have more advanced routing mechanisms that handle this for you. If you are using a specific framework, let me know, and I can provide more targeted guidance.
Related Questions
Why is HTML is used in Web Application?
Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com
Ask a QuestionRecommended Articles
Why Should you Learn HTML
Since the world today is ruled by the Internet, everyone desires to build a website for either business or personal interests. HTML or Hyper-text Mark-up Language is a globally standardized language which used to format web pages. By using HTML, the appearance of text, links, images and almost every part of a web page could...
Skills Required to Become a Front End Web...
Today, no business can exist without having its own website to interact with its customer base. Having a website is no more restricted to the big MNCs. With the advancement in technology and global business, even the small enterprises are spending on having their own websites and development teams. The person works on web...
Make a Career in Mobile Application Programming
Almost all of us, inside the pocket, bag or on the table have a mobile phone, out of which 90% of us have a smartphone. The technology is advancing rapidly. When it comes to mobile phones, people today want much more than just making phone calls and playing games on the go. People now want instant access to all their business...
Make a Career as a BPO Professional
Business Process outsourcing (BPO) services can be considered as a kind of outsourcing which involves subletting of specific functions associated with any business to a third party service provider. BPO is usually administered as a cost-saving procedure for functions which an organization needs but does not rely upon to...
Looking for CSS Training?
Learn from the Best Tutors on UrbanPro
Are you a Tutor or Training Institute?
Join UrbanPro Today to find students near youThe best tutors for CSS Classes are on UrbanPro
The best Tutors for CSS Classes are on UrbanPro