SA-21/06, C-11, Asapur, Varanasi, UP support@kamaldnp.com +91 8318013442
पाठ 24, कुल 30 में

CSS नेविगेशन बार

5 मिनट पढ़ें · मुफ़्त · बिना लॉगिन

लगभग हर वेबसाइट में एक navigation bar होता है — ऊपर की तरफ links की पंक्ति जो आपको Home, Courses, About या Contact पर ले जाती है। इसके बिना visitor पहले ही पेज पर रास्ता भटक जाएगा। Navigation bar links की एक HTML सूची ही है, जिसे CSS से तब तक सजाया जाता है जब तक वह bullet list की बजाय एक सही menu न लगे।

Diagram — देखें, यह सब कैसे जुड़ता है
Diagram: CSS नेविगेशन बार

तरकीब आसान है: एक <ul> लें, उसके bullets और spacing हटा दें, उसके items को पंक्ति में लगा दें, और उसके अंदर के links को padding और background रंग वाले blocks की तरह style करें। एक बार यह आधार बन जाए, तो आप hover effect जोड़ सकते हैं, मौजूदा पेज को चिह्नित कर सकते हैं, और dropdown menu भी बना सकते हैं।

सूची को बार में बदलना

<nav> element के अंदर एक <ul> से शुरू करें। list-style-type: none से bullets हटाएँ और margin: 0 और padding: 0 से डिफ़ॉल्ट spacing हटाएँ। फिर <ul> को गहरा background रंग दें और display: flex से flex container बना दें — list के items अपने आप पंक्ति में लग जाते हैं।

Syntax — एक horizontal बार

ul.nav {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  display: flex;
}
ul.nav a {
  display: block;
  color: white;
  padding: 14px 20px;
  text-decoration: none;
}

हर link display: block है, इसलिए padding वाला पूरा हिस्सा clickable होता है — सिर्फ अक्षर नहीं। Phone पर यह बहुत मायने रखता है, क्योंकि उँगली mouse pointer से कहीं चौड़ी होती है।

Hover और active पेज

जब mouse किसी link के ऊपर से गुज़रे, तो link को प्रतिक्रिया देनी चाहिए। :hover स्यूडो-क्लास उसका background रंग बदल देता है, जिससे visitor को पता चलता है "यहाँ click कर सकते हो"। जिस पेज पर visitor अभी है, उसे एक खास class मिलती है, जिसे आमतौर पर active कहते हैं, और उसका रंग अलग होता है — अक्सर हरा — ताकि visitor को हमेशा पता रहे कि वह कहाँ है।

ul.nav a:hover {
  background-color: #111;
}
ul.nav a.active {
  background-color: #04aa6d;
}
Note: active class अपने आप नहीं लगती — आप अपने HTML में मौजूदा पेज के link में class="active" जोड़ते हैं। आपकी साइट का हर पेज अपने link को खुद active के रूप में चिह्नित करता है।

Dropdown menu — hover पर खुलने वाला menu

Dropdown एक छोटा menu है जो किसी एक link पर hover करते ही खुलता है, जैसे "Courses" पर hover करते ही HTML, CSS और Python दिखने लगें। यह दो बातों से काम करता है: parent <li> position: relative होता है, और submenu position: absolute होता है और display: none से छिपा रहता है। Parent पर :hover वाला नियम उसे display: block कर देता है, और submenu नीचे खुल जाता है।

.dropdown-content {
  display: none;
  position: absolute;
  background-color: white;
  min-width: 160px;
}
.dropdown:hover .dropdown-content {
  display: block;
}
Tip: <li> elements को float करने की बजाय <ul> पर display: flex इस्तेमाल करें। Floats को clearfix चाहिए होता है और वे आसानी से टूट जाते हैं; flex एक ही लाइन CSS से items को पंक्ति में लगा देता है।

आम गलतियाँ

  • list-style-type: none भूल जाना — bullets रह जाते हैं और बार सादी सूची जैसा दिखता है।
  • <ul> पर margin: 0 और padding: 0 भूल जाना — browser की डिफ़ॉल्ट spacing बार को किनारों से दूर धकेल देती है।
  • <li> की बजाय <a> को style करना — सिर्फ अक्षर clickable बनते हैं, और padding वाला हिस्सा कुछ नहीं करता।
  • Parent पर position: relative के बिना dropdown को position करना — submenu अपने link के नीचे की बजाय पेज पर किसी भी जगह दिखता है।
  • Hover का रंग normal रंग जैसा ही रखना — visitor को कोई feedback नहीं मिलता कि link पर click किया जा सकता है।

याद रखें

  • Nav bar एक <ul> है जिसके bullets और spacing हटा दिए गए हैं और जिसे पंक्ति में लगाया गया है।
  • Links को padding के साथ display: block बनाएँ, ताकि पूरा हिस्सा clickable हो।
  • :hover link का background बदलता है; .active मौजूदा पेज को चिह्नित करता है।
  • Dropdown display: none से छिपता है और :hover पर दिखता है।
  • Dropdown के parent को position: relative और menu को position: absolute चाहिए।

याद रखने की तरकीब: बुलेट हटाओ, पंक्ति में लगाओ, लिंक को ब्लॉक बनाओ — नेविगेशन तैयार।

उदाहरण समझिए

  • ul.nav — पूरा menu: bullets और डिफ़ॉल्ट spacing हटाई गई, गहरा background, और display: flex ताकि items पंक्ति में बैठें।
  • ul.nav a — हर link सफेद text और चौड़ी padding वाला block है, इसलिए रंगीन पूरा हिस्सा clickable है।
  • ul.nav a:hover — mouse किसी link के ऊपर से गुज़रते ही उसका background गहरा हो जाता है, जिससे दिखता है कि उस पर click किया जा सकता है।
  • ul.nav a.active — Home link पर active class है, इसलिए वह हरा है और visitor जानता है कि वह किस पेज पर है।
  • .dropdown-content — Courses का submenu display: none और position: absolute से छिपा है; .dropdown:hover .dropdown-content mouse के Courses पर आते ही उसे दिखा देता है।

उदाहरण

Example
<!DOCTYPE html>
<html>
<head>
<title>Chai Shop Navigation</title>
<style>
body { font-family: Arial, sans-serif; margin: 0; }
ul.nav {
  list-style-type: none;
  margin: 0;
  padding: 0;
  background-color: #333;
  display: flex;
}
ul.nav li { position: relative; }
ul.nav a {
  display: block;
  color: white;
  padding: 14px 20px;
  text-decoration: none;
}
ul.nav a:hover { background-color: #111; }
ul.nav a.active { background-color: #04aa6d; }
.dropdown-content {
  display: none;
  position: absolute;
  background-color: white;
  min-width: 160px;
  box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}
.dropdown-content a { color: black; padding: 12px 16px; }
.dropdown-content a:hover { background-color: #f1f1f1; color: black; }
.dropdown:hover .dropdown-content { display: block; }
main { padding: 20px; }
h1 { color: #333; }
</style>
</head>
<body>

<ul class="nav">
<li><a class="active" href="#">Home</a></li>
<li class="dropdown"><a href="#">Courses</a>
  <div class="dropdown-content">
  <a href="#">HTML</a>
  <a href="#">CSS</a>
  <a href="#">Python</a>
  </div>
</li>
<li><a href="#">Menu</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>

<main>
<h1>Welcome to Kamal Chai Shop</h1>
<p>Hover over <strong>Courses</strong> in the bar above to see the dropdown menu open.</p>
<p>The green link is the page you are on right now.</p>
</main>

</body>
</html>

परिणाम

परिणाम — ब्राउज़र में यह कैसा दिखता है
परिणाम: CSS नेविगेशन बार

खुद करके देखें — लाइव एडिटर

नीचे दिया गया कोड बदलें और चलाएँ दबाएँ — परिणाम तुरंत दिखेगा। कोई फाइल सहेजनी नहीं है, कोई लॉगिन नहीं चाहिए।

परिणाम

खुद क्यों सीखें — AI से पूछने के बजाय?

AI आपके लिए कोड लिख सकता है, लेकिन वह आपके लिए सोच नहीं सकता। जब आप HTML खुद सीखते हैं, तो आपका दिमाग असली कौशल बनाता है: आप समझते हैं कि पेज ऐसा क्यों दिखता है, टूटने पर उसे ठीक कर सकते हैं, और परीक्षा या इंटरव्यू में बिना मदद के जवाब दे सकते हैं। यही कौशल नौकरी दिलाता है — कॉपी किया हुआ जवाब नहीं।

सर्टिफिकेट पाएँ — सिर्फ ₹10

सभी 30 पाठ पूरे करें, टेस्ट पास करें (80%), ₹10 दें और अपना सर्टिफिकेट पाएँ।

टेस्ट दें

देखकर सीखना पसंद है? वीडियो कोर्स में वही विषय एक-एक करके सिखाए जाते हैं।

Go further with a full course

Free tutorials teach you the basics. Our paid courses add live projects, mentorship and a certificate.

AI & ML with Azure AI, AWS AI & Generative AI
₹10,000
View
WordPress Website Development Course (10 Days)
₹399
View
Advanced Cyber Security Industrial Training
₹5,000
View
Browse all courses
CSS — Lessons
1. CSS परिचय 2. CSS सिंटैक्स 3. CSS सेलेक्टर्स 4. CSS कैसे जोड़ें 5. CSS रंग 6. CSS बैकग्राउंड 7. CSS बॉर्डर 8. CSS मार्जिन 9. CSS पैडिंग 10. CSS ऊँचाई और चौड़ाई 11. CSS बॉक्स मॉडल 12. CSS टेक्स्ट 13. CSS फ़ॉन्ट्स 14. CSS लिंक्स 15. CSS लिस्ट्स 16. CSS टेबल्स 17. CSS डिस्प्ले 18. CSS पोज़िशन 19. CSS ओवरफ़्लो 20. CSS फ़्लोट 21. CSS स्यूडो-क्लास 22. CSS स्यूडो-एलिमेंट 23. CSS फॉर्म 24. CSS नेविगेशन बार 25. CSS वेबसाइट लेआउट 26. CSS Flexbox — लचीला लेआउट 27. CSS Grid — दो-आयामी लेआउट 28. CSS Responsive — हर screen पर अच्छा पेज 29. CSS Transitions और Animations 30. CSS Variables — नाम देकर value सहेजो
अंतिम टेस्ट — सर्टिफिकेट ₹10

🤖 KAMALDNP AI Assistant

Ask about courses, website & more

Hi! I'm KAMALDNP AI Assistant. Ask me about our courses, website features, or anything else! 😊
Please wait 5s...
🛡️ 7-Day Money-Back Guarantee
🤖 KAMALDNP Assistant ✕

Request human callback:

🔐 Login Required
✕

Download karne ke liye login karo. Login ke baad yahi page pe rahoge!

Naya ho? Register karo →