<nav> या <menu> (HTML5)


102

W3Schools.com और मुझे पूरा यकीन है कि मुझे W3C.org की स्थिति याद है जो <menu>टूलबार मेनू और लिस्टिंग फॉर्म कंट्रोल कमांड के लिए उपयोग की जानी चाहिए।

तो, मुझे अपने मुख्य मेनू के लिए किसका उपयोग करना चाहिए? Nav, या Menu? फर्क पड़ता है क्या?


38
आप w3fools पढ़ना चाह सकते हैं ।
zzzzBov

'फॉर्म कंट्रोल कमांड ’क्या है?
मैड्स स्केजर्न

जवाबों:


162

navआंतरिक लिंक ( aतत्वों) के समूहों के लिए उपयोग किया जाता है । आम तौर पर इसका मतलब यह है कि लिंक को अलग पृष्ठों की यात्रा करनी चाहिए, या AJAX पृष्ठ के मामले में सामग्री को बदलना चाहिए। किसी navआइटम पर क्लिक करते समय किसी प्रकार की सामग्री परिवर्तन की अपेक्षा करें ।

menu(नियंत्रणों के समूहों के लिए प्रयोग किया जाता है a, input, button)। आम तौर पर इसका मतलब है कि इनपुट को पृष्ठ के भीतर एक फ़ंक्शन करना चाहिए। किसी menuआइटम पर क्लिक करते समय किसी प्रकार की जावास्क्रिप्ट इंटरैक्शन की अपेक्षा करें ।

nav: साइट के लिए नेविगेशन

menu: वेब एप्लिकेशन के लिए मेनू


8
दिलचस्प तथ्य: किसी सूची की आवश्यकता के बिना, <li>तत्व सीधे एक <menu>टैग के तहत घोंसले के तत्वों को अनुमति देता है <ul>। आवश्यकता है कि है <menu>की typeविशेषता के लिए छोड़े गए या सेट है "toolbar"। के लिए विनिर्देशन देखें तत्व और तत्व<li><menu>
टोमेक्वी २ '

क्या कोई मुझे <menu>W3C एचटीएमएल 5 स्पेक्स में से एक में इंगित कर सकता है ? मैं इसे WHAT WG संस्करण में पा रहा हूं , लेकिन नवीनतम W3C HTML 5.3 ड्राफ्ट में नहीं
गरेट विल्सन

10

यहां एक HTML5Doctor पोस्ट है,nav जो इस से अलग है menu(मूल रूप से, वास्तविक एप्लिकेशन में इसका उपयोग करने के तरीके)। जैसा चाहो वैसा दिखता है nav



1

इस उत्तर को प्राप्त करने के लिए सबसे अच्छी जगह HTML 5 मानक हैं जो उन्हें स्व।

मेनू HTML 5.1 2 संस्करण में परिभाषित किया गया है ।

यह, "... आदेशों के एक समूह का प्रतिनिधित्व करता है।"


HTML 5 में Nav परिभाषित किया गया है ।

यह ", ... एक पृष्ठ का एक भाग है जो अन्य पृष्ठों या पृष्ठ के कुछ हिस्सों से जोड़ता है: नेविगेशन लिंक के साथ एक अनुभाग।"

नौसेना के लिए ऐसे नोट्स हैं जिन्हें मैंने शामिल नहीं किया है, लेकिन लगता है कि महत्वपूर्ण हैं, लेकिन मुझे लगता है कि आपके लिए यह सर्वोत्तम है कि आप मानकों से खुद को परिभाषा दें।

इस पोस्ट में उत्तर के रूप में चिह्नित परिभाषाएँ सही के करीब हैं, लेकिन उनमें असंगत कथन हैं जो उत्तर को ही गलत बनाते हैं।


0

<nav>एक अनुभाग है (जैसे <section>या <article>) तो यह आपके HTML दस्तावेज़ की रूपरेखा में दिखाई देगा। इसके कारण, मैं <menu>99% समय का उपयोग करूंगा । मेरे लिए, के <nav>बीच एक मिश्रण है <section>और <menu>, अतिरिक्त बाधा के लिए जिसे <nav>विशेष रूप से नेविगेशन के लिए उपयोग किया जाना चाहिए, जबकि <menu>ऐसा कुछ भी हो सकता है जिसे मेनू कहा जा सकता है (नेविगेशन बार सहित)। इसलिए अधिकांश नेविगेशन बार, इस तथ्य के बावजूद कि वे नेविगेशन बार हैं, और की सख्त आवश्यकताओं के अनुरूप नहीं हैं <nav>, और<menu> अधिक उपयुक्त है।

मैंने अपने वेब डेवलपमेंट करियर में कभी भी ऐसी स्थिति नहीं पाई जहां मैं चाहता था कि मेरा नेविगेशन बार दस्तावेज़ की रूपरेखा का हिस्सा हो।


1
यह गलत है। आपको शायद ही कभी (यदि कभी हो) <menu>एक ऐसी वेबसाइट पर उपयोग करना चाहिए जो वेब ऐप नहीं है - 99% समय, आपका नेविगेशन 'मेनू' पृष्ठ पर अन्य पृष्ठों या अन्य अनुभागों के लिए स्थिर लिंक होगा, जो कि <nav>, के अनुसार है कल्पना करने के लिए।
इवान डर्स्ट

@ इवान्डर्स्ट, मेरा कहना है कि यदि आप केवल स्थैतिक लिंक की एक सूची बना रहे हैं, navतो यह एक अच्छा टैग विकल्प नहीं navहै क्योंकि यह एक खंड तत्व है इसलिए यह दस्तावेज़ की रूपरेखा का हिस्सा बन जाएगा जैसे कि यह एक हेडर और सामग्री के साथ एक खंड है। यह वास्तव में एक दुर्लभ परिदृश्य है, जहाँ आप चाहते हैं कि आप navएक अनुभाग की तरह काम करें। menuसिमेंटिक रिप्लेसमेंट के रूप में सिर्फ एक सुझाव था। मुझे यह कहते हुए युक्ति में कुछ भी दिखाई नहीं दे रहा है कि इसका उपयोग इस तरह से नहीं किया जा सकता है। फिट करने के लिए लगता है। लेकिन अगर आप किसी कारण से मानते हैं कि मेनू केवल उसी चीज़ के लिए है जिसे आप वेब ऐप के रूप में परिभाषित करते हैं, तो मैं सलाह देता हूं olया ulप्रतिस्थापन के रूप में।
निक मैनिंग

संगतता तालिका के अनुसार यहाँ , <menu>इस समय अब तक गरीब समर्थन हासिल है। (क्या यह वास्तव में सच है कि क्रोम के पास इसके लिए कोई समर्थन नहीं है?) इसके अलावा, आप role="menu"किसी अन्य तत्व (जैसे डिव या नेवी) को विशेषता प्रदान करके सटीक समान शब्दार्थ प्राप्त कर सकते हैं । भूमिका विशेषता किसी भी तत्व के लिए डिफ़ॉल्ट शब्दार्थ को ओवरराइड करती है।
ब्रेननियॉन्ग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.