में एक उत्तरदायी हैमबर्गर मेनू कैसे बनाएं I am एएमपी एचटीएमएल वेबसाइट बनाने की कोशिश कर रहा हूं (https://www.ampproject.org देखें) लेकिन मुझे कहीं भी नहीं मिल रहा है कि आपको एक उत्तरदायी हैमबर्गर मेनू कैसे बनाना है? जावास्क्रिप्ट की अनुमति नहीं है और इसके लिए कोई एएमपी घटक उपलब्ध नहीं हैं?एएमपी एचटीएमएल
उत्तर
यह वर्तमान में प्रमुख हैक्स के बिना संभव नहीं है।
सुविधा का अनुरोध बग में साथ पालन करें: https://github.com/ampproject/amphtml/issues/827
मैं एक :target
pseudoclass के उपयोग के साथ इस पूरा किया है।
एचटीएमएल
<nav id="slide-in-menu">
...nav menu content...
</nav>
<section class="content-section">
<a href="#slide-in-menu">Hamburger Icon</a>
</section>
सीएसएस
#slide-in-menu {
transform: translateX(-100%);
transition: transform .2s ease-in-out;
... additional required styles ...
}
#slide-in-menu:target {
transform: translateX(0);
}
इस तरह मैंने इसे भी किया होगा, खासकर जब से 'फोकस' छद्म-वर्ग वास्तव में कुछ डेस्कटॉप ब्राउज़र पर काम नहीं करता है क्योंकि ऐसा लगता है कि कम से कम क्रोमेटॉक्स (कम से कम क्रोम में) होता है। ': लक्ष्य' अधिक प्रभावी है और यह कैरोसेल के लिए भी अच्छा काम करता है, [जैसा कि मैंने यहां खोजा है।] (https://dev.amdouglas.com/amphtml-examples/nojs-carousel/#div1) – amdouglas
आप के साथ ऐसा कर सकते हैं: फोकस छद्म वर्ग। लाइव उदाहरण के लिए https://fresnobee.relaymedia.com/amp/news/local/education/article61889207.html पर एक नज़र डालें (www.washingtonpost.com यह भी इस तरह से करता है)। या आप लाइव जाने के लिए <amp-sidebar>
टैग के लिए प्रतीक्षा कर सकते हैं।
कोड
तरह<a id="burger" tabindex="0">☰</a>
<div id="burgerCancel" tabindex="0">☰</div>
<div id="burgerMenu">
<ul>
<li><a href="/news/local/#navlink=ampnav">Local News</a></li>
<li><a href="/sports/#navlink=ampnav">Sports</a></li>
</ul>
</div>
<button id="burgerMask"></button>
और सीएसएस लग रहा है
#burger:focus ~ #burgerMenu {
transform: translateY(0px); /* or whatever other way you want it to appear */
}
#burgerMask {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: #000;
z-index: 998;
border: 0;
opacity: 0;
transition: opacity 250ms cubic-bezier(0, .67,0,.67);
pointer-events: none; /*this is important */
}
#burger:focus ~ #burgerMask {
pointer-events: auto;
opacity: 0.7;
display: block;
}
लाइव उदाहरण काम नहीं कर रहा है, जब आप मेनू आइटम पर क्लिक करते हैं, तो मेनू बस बंद हो जाता है और यूआरएल पर नहीं जाता है, उदाहरण में कोड वही काम करता है। क्या आपको कभी भी यह कोड सही तरीके से काम करने के लिए मिला है? –
एएमपी अब amp-sidebar घटक का उपयोग मेनू के लिए समर्थन हासिल है।
- 1. सी ++ एएमपी
- 2. एएमपी आलेख
- 3. एएमपी एचटीएमएल पेज पर मार्कर के साथ एम्बेड करें मानचित्र
- 4. सी ++ एएमपी सीपीयू
- 5. मैं कैसे करूँ समर्थन एएमपी-एचटीएमएल और डेस्कटॉप एचटीएमएल एक साथ
- 6. क्या जीसीसी समर्थन सी ++ एएमपी
- 7. प्रतिक्रिया के साथ Google एएमपी
- 8. एएमपी एचटीएमएल क्या है और यह फ्रेमवर्क/टूल एक्स के साथ कैसे फिट है?
- 9. सी ++ एएमपी एक संगत GPU के बिना मशीन पर चलाएगा?
- 10. Google खोज से एएमपी कैशिंग को अक्षम कैसे करें?
- 11. Webpack एचटीएमएल प्लगइन एचटीएमएल
- 12. मैं कोणीय/आयनिक वेबसाइट में एएमपी कैसे कार्यान्वित कर सकता हूं?
- 13. पृष्ठ कैसे ब्राउज़र को बता सकता है कि एक एएमपी HTML संस्करण मौजूद है?
- 14. मोबाइल ब्राउज़र एएमपी (त्वरित मोबाइल पेज) सामग्री कैसे शुरू करेंगे और कब करेंगे?
- 15. क्या एएमपी मोबाइल और डेस्कटॉप दोनों संस्करणों के रूप में उपयोग किया जा सकता है?
- 16. एचटीएमएल
- 17. एचटीएमएल
- 18. एचटीएमएल
- 19. एचटीएमएल
- 20. एचटीएमएल
- 21. एचटीएमएल
- 22. एचटीएमएल
- 23. एचटीएमएल
- 24. एचटीएमएल
- 25. एचटीएमएल
- 26. एचटीएमएल
- 27. एचटीएमएल
- 28. एचटीएमएल
- 29. एचटीएमएल
- 30. एचटीएमएल
क्या आप एएमपी का उपयोग कर एक बहु पृष्ठ वेबसाइट बनाने की कोशिश कर रहे हैं? यह उपयोग-मामला नहीं है, मुझे लगता है कि एएमपी के लिए डिज़ाइन किया गया है। जिन उदाहरणों को मैं देख रहा/निर्माण कर रहा हूं वे 'वेबसाइट' के बजाय 'पेज' हैं - वे गैर-एएमपी वेबसाइट से अलग-अलग लेखों के सरल दृश्य हैं। – MatCarey
@MatCarey तो हम amp पृष्ठों को अनावश्यक कैसे बना सकते हैं? क्या हमें amp विवरण पृष्ठ बनाने के लिए सभी उत्पादों के लिए अलग-अलग पृष्ठ बनाना है? –