CSS Navigation Bar
In this page:
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
li a {
display: block;
padding: length;
}
Semantic List Structure
एक professional navigation bar एक साफ़ HTML structure से शुरू होता है। links की एक list को semantic nav और ul tags में wrap करके, आप search engines और screen readers को exactly बताते हैं कि आपकी site कैसे structured है।
उदाहरण: Semantic List Structure
<style>
nav ul { list-style: none; margin: 0; padding: 0; background: #333; }
nav li { display: inline-block; }
nav a { display: block; padding: 10px 16px; color: #fff; text-decoration: none; }
</style>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
</ul>
</nav>
inline-block के साथ Horizontal Navigation
Default रूप से, list items (li) block elements हैं जो vertically stack होते हैं। आप उनकी display property को inline-block set करके उन्हें एक साफ़ menu bar में horizontally align कर सकते हैं।
उदाहरण: Horizontal Navigation with inline-block
<style>
li {
display: inline-block;
margin-right: 10px;
}
</style>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
</ul>
Flexbox के साथ Horizontal Navigation
Flexbox इस्तेमाल करना navigation menus बनाने का modern, standard तरीका है। parent ul tag पर display: flex set करके, आप elements को साफ़ तरीके से साथ-साथ align कर सकते हैं और justify-content जैसी properties से उनकी spacing control कर सकते हैं।
उदाहरण: Horizontal Navigation with Flexbox
<style>
ul {
display: flex;
justify-content: space-between;
list-style: none;
padding: 0;
}
li {
background: steelblue;
padding: 8px 12px;
}
li a {
color: white;
}
</style>
<ul>
<li>Logo</li>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
</ul>
Persistent Fixed Navigation Bars
user के scroll करने पर अपने navigation bar को screen के top पर visible रखने के लिए, आप इसकी position को fixed set कर सकते हैं और इसकी width को 100% पर lock कर सकते हैं। यह आपकी site को लंबे pages पर भी navigate करना आसान बनाए रखता है।
उदाहरण: Persistent Fixed Navigation Bars
<style>
nav {
position: fixed;
top: 0;
left: 0;
width: 100%;
background: darkorange;
color: white;
padding: 10px;
text-align: center;
}
.content {
margin-top: 60px;
}
.content p {
background: #f0f0f0;
padding: 12px;
margin-bottom: 10px;
}
</style>
<nav>Always visible while scrolling</nav>
<div class="content">
<p>Scroll down to see the navbar stay fixed. Paragraph 1.</p>
<p>Paragraph 2.</p>
<p>Paragraph 3.</p>
<p>Paragraph 4.</p>
<p>Paragraph 5.</p>
<p>Paragraph 6.</p>
<p>Paragraph 7.</p>
<p>Paragraph 8.</p>
</div>
Active Link Indicators
जब users आपकी site navigate करते हैं, तो उन्हें यह देखना चाहिए कि वे इस समय किस page पर हैं। आप current page के menu link पर एक custom class (जैसे class="active") लागू करके और उसे unique colors के साथ style करके एक active link indicator बना सकते हैं।
उदाहरण: Active Link indicators
<style>
a.active {
border-bottom: 2px solid blue;
}
</style>
<a href="#" class="active">Home</a>
<a href="#">About</a>
- semantic nav और list tags के बजाय navigation menus बनाने के लिए plain, generic div elements इस्तेमाल करना।
- fixed top navigation bar इस्तेमाल करते समय body container में top padding जोड़ना भूल जाना, जिससे content cutoff होता है।
- mobile navigation containers पर fixed pixel dimensions set करना, जिससे छोटे screens पर layout breakages होते हैं।
- अपने navigation bars को nav, ul, और li elements इस्तेमाल करके एक semantic HTML structure से शुरू करें।
- Flexbox या inline-block इस्तेमाल करके list items को एक साफ़, responsive menu bar में horizontally align करें।
- fixed positioning इस्तेमाल करके navigation को visible रखें, और user की current location बताने के लिए unique active classes इस्तेमाल करें।
Standard navigation bar layouts और Flexbox displays हर modern web browser द्वारा natively supported हैं।
Chapter Quiz — Complete all 22 topics to unlock
0/22 topics done
Complete these topics first:
- CSS Combinators
- CSS Pseudo-classes
- CSS Pseudo-elements
- CSS Opacity
- CSS Navigation Bar
- CSS Vertical Navbar
- CSS Horizontal Navbar
- CSS Dropdowns
- CSS Advanced Dropdowns
- CSS Image Gallery
- CSS Image Sprites
- CSS Attribute Selectors
- CSS Forms
- CSS Counters
- CSS Specificity
- CSS Specificity Hierarchy
- CSS Variables
- CSS !important
- CSS Box Sizing
- CSS Media Queries
- CSS Pointer Events
- CSS Outline