Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hintergrund nicht scrollbar, wenn Overlay
#4
Hi sunlite,
es gibt mehrere Wege wie du verhinderst, dass der Hintergrund scrollt. Natürlich schreibe ich dir die leichteste und sicherste Methode auf. Hier meine Lösung für dich -->
Code:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>No Scroll</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        html {
            font-size: 16px;
        }
        body {
            width: 100vw;
        }
        #overlay {
            width: 100%;
            height: 100vh;
            box-sizing: border-box;
            z-index: 100;
            position: absolute;
            left: 0;           
            top: 0;           
            background-color: rgba(0,0,0,0.75);
            overflow: hidden;
        }
        .showOverlay {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        .hide {
            display: none;
        }
        .hideScroll {
            position: fixed;
            overflow: hidden;
        }
        main {
            padding-top: 120px;
            width: 100%;
            height: 300vh;
            box-sizing: border-box;
            z-index: 50;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-between;
        }
    </style>
    <script>
        'use strict';
        var overlay, closeButton, openButton;
        document.addEventListener('DOMContentLoaded', function() {
            overlay = document.getElementById('overlay');
            closeButton = document.getElementById('close');
            openButton = document.getElementById('open');
            openButton.addEventListener("click", function(){
                overlay.classList.remove('hide');
                overlay.classList.add('showOverlay');
                document.body.classList.add('hideScroll');
            });
            closeButton.addEventListener('click', function() {
                overlay.classList.add('hide');
                overlay.classList.remove('showOverlay');
                document.body.classList.remove('hideScroll');
            });       
        });
    </script>
</head>
<body>
    <div id="overlay" class="hide">
        Hallo Welt
        <button id="close">Overlay schließen</button>
    </div>
    <main>
        <h3>Lorem ipsum</h3>
        <button id="open">Overlay öffnen</button>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellat fuga magnam sint, dolorum accusamus harum iure suscipit, veritatis incidunt blanditiis cumque debitis cupiditate porro cum facere, aspernatur dolores. Hic, aliquam!</p>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellat fuga magnam sint, dolorum accusamus harum iure suscipit, veritatis incidunt blanditiis cumque debitis cupiditate porro cum facere, aspernatur dolores. Hic, aliquam!</p>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellat fuga magnam sint, dolorum accusamus harum iure suscipit, veritatis incidunt blanditiis cumque debitis cupiditate porro cum facere, aspernatur dolores. Hic, aliquam!</p>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellat fuga magnam sint, dolorum accusamus harum iure suscipit, veritatis incidunt blanditiis cumque debitis cupiditate porro cum facere, aspernatur dolores. Hic, aliquam!</p>
    </main>
</body>
</html>

Ich hoffe damit zufriedenstellend deine Frage zu beantwortet zu haben.

VG

rzscout
"Gerne dürft ihr mir eine gute Bewertung da lassen aber auch gegenüber Kritik bin ich offen" Angel
Zitieren


Nachrichten in diesem Thema
RE: Hintergrund nicht scrollbar, wenn Overlay - von rzscout - 15.02.2023, 01:38

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste