Winfried: Fragen zum Hamburger Button

Beitrag lesen

Hallo Gabriele

  1. wie kann ich erreichen, dass das aufgeklappte Menu immer unter dem Hamburger Button steht, egal wo sich letzterer befindet?

Folgendes einfache Beispiel hat mir KI ausgespuckt, und es funktioniert!

<div style="text-align:center;">
  <button id="open-popup-button">Öffnen</button>
</div>
  
<div id="my-popup" style="display: none; position: absolute;">
<ul>
  <li>Lorem ipsum dolor sit amet</li>
  <li>consectetuer</li>
  <li>adipiscing elit</li>
  <li>sed diam nonummy nibh euismod</li>
</ul>  
</div>

<script>
function positionPopup() {
    const button = document.getElementById('open-popup-button');
    const popup = document.getElementById('my-popup');
    
    // Die Position und Größe des Buttons im Viewport ermitteln
    const rect = button.getBoundingClientRect();

    // Die Mitte des Buttons berechnen
    const buttonCenter = rect.left + rect.width / 2;

    // Das Pop-up positionieren:
    // top: Unter dem Button + etwas Abstand (z.B. 10px)
    popup.style.top = `${rect.bottom + 10}px`;
    
    // left: Der Mittelpunkt des Buttons
    popup.style.left = `${buttonCenter}px`;

    // Zentrieren des Pop-ups anhand seiner eigenen Breite mit CSS Transform
    popup.style.transform = 'translateX(-50%)'; 
}

// Beim Öffnen des Pop-ups die Funktion aufrufen
document.getElementById('open-popup-button').addEventListener('click', () => {
    document.getElementById('my-popup').style.display = 'block';
    positionPopup(); 
});
</script>
0 60

Fragen zum Hamburger Button

Gabriele
  • css
  • html
  • javascript
  1. 0
    Gunnar Bittersmann
    • css
    1. 0
      Gabriele
      1. 0
        JürgenB
        1. 0
          Gabriele
          1. 0
            JürgenB
            1. 0
              Gabriele
              1. 0
                JürgenB
                1. 0
                  Gabriele
                  1. 0
                    JürgenB
              2. 0
                Gabriele
                1. 0
                  JürgenB
                  1. 0
                    Gabriele
                    1. 0
                      Der Martin
                      • menschelei
                      • verein
                    2. 0
                      JürgenB
  2. 0
    JürgenB
  3. 0
    Gunnar Bittersmann
    • barrierefreiheit
    • html
    1. 0
      JürgenB
      1. 0
        Gunnar Bittersmann
  4. 0
    Gabriele
    1. -2
      Winfried
      1. 0
        Gabriele
        1. 0
          Gunnar Bittersmann
          • css
          • ki
      2. 0
        Gunnar Bittersmann
        • css
        • javascript
      3. 0
        Gunnar Bittersmann
        • css
        • javascript
        • ki
        1. 0
          Gunnar Bittersmann
          • anchor positioning
          • css
          1. 0
            Gunnar Bittersmann
            1. -1
              Matthias Scharwies
              1. 0
                Gunnar Bittersmann
  5. 0

    Flyout-Menü

    Matthias Scharwies
  6. 0

    Flyout-Navigation mit popover?

    Matthias Scharwies
    • css
    • html
    1. 0
      JürgenB
      1. 0
        Matthias Scharwies
        1. 0
          JürgenB
          1. 0
            Matthias Scharwies
            1. 0
              Tabellenkalk
    2. 0
      Matthias Scharwies
      • anchor positioning
      • css
      • popover
      1. 0
        Gunnar Bittersmann
        • barrierefreiheit
        • popover
        • ux
        1. 0
          Matthias Scharwies
          1. 0
            Gunnar Bittersmann
            • selftreffen
      2. 0
        Nico R.
        1. 0
          Matthias Scharwies
          1. 0
            Gunnar Bittersmann
            1. 0
              Auge
              1. 0
                Gunnar Bittersmann
                • menschelei
                1. 0
                  Matthias Scharwies
              2. 0
                Nico R.
                1. 0
                  Gunnar Bittersmann
                  • sonstiges
                  1. 0
                    Nico R.
                    1. 0
                      Gunnar Bittersmann
                2. 0
                  Auge
                  1. 0
                    Gunnar Bittersmann
                    • design
                    1. 0
                      Auge
      3. 0
        Rolf B
        1. 0
          Matthias Scharwies
          1. 0
            Rolf B
          2. 0
            Rolf B
            1. 0
              Gunnar Bittersmann
              • css
              • performance
      4. 0
        Gunnar Bittersmann
        • css
      5. 0
        Gunnar Bittersmann
        • animation
        • ux