<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.114.148.151</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.114.148.151"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/46.114.148.151"/>
	<updated>2026-05-06T19:48:11Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap_(jQuery)&amp;diff=25200</id>
		<title>Scroll-Snap (jQuery)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap_(jQuery)&amp;diff=25200"/>
		<updated>2021-01-22T09:08:10Z</updated>

		<summary type="html">&lt;p&gt;46.114.148.151: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Einfaches aber effektives jQuery Skript, welches Scroll-Snap bis IE 9 abbildet. Funktioniert in komplexen HTML Setups besser als CSS scroll-snap und ist kompatibler.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;jQuery Plugin &amp;amp; Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*! jQuery Scroll Snap 1.0.0 | MIT *&lt;br /&gt;
 * https://github.com/jpcurrier/jquery-scroll-snap !*/&lt;br /&gt;
 ( function( $ ){&lt;br /&gt;
  $.fn.scrollSnap = function( options ){&lt;br /&gt;
&lt;br /&gt;
    // default options&lt;br /&gt;
    var settings = $.extend({&lt;br /&gt;
      speed: 400&lt;br /&gt;
    }, options );&lt;br /&gt;
&lt;br /&gt;
    var scrollStop,&lt;br /&gt;
      lastScrollTop =&lt;br /&gt;
        window.pageYOffset ||&lt;br /&gt;
          document.documentElement.scrollTop ||&lt;br /&gt;
            document.body.scrollTop ||&lt;br /&gt;
              0;&lt;br /&gt;
&lt;br /&gt;
    function snapScroll( $snap, scroll, direction ){&lt;br /&gt;
      if( $( &amp;#039;body&amp;#039; ).hasClass( &amp;#039;lock-scroll&amp;#039; ) )&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      var windowHeight = $( window ).height();&lt;br /&gt;
      direction = typeof direction !== &amp;#039;undefined&amp;#039; ? direction : &amp;#039;up&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      var scrollTo = false;&lt;br /&gt;
      $snap.each( function(){&lt;br /&gt;
        if(&lt;br /&gt;
          scroll &amp;lt;= $( this ).offset().top &amp;amp;&amp;amp; (&lt;br /&gt;
            // advance&lt;br /&gt;
            ( direction == &amp;#039;down&amp;#039; &amp;amp;&amp;amp; scroll &amp;gt;= $( this ).offset().top - ( windowHeight * 2 / 3 ) ) ||&lt;br /&gt;
            // stabilize&lt;br /&gt;
            ( direction == &amp;#039;up&amp;#039; &amp;amp;&amp;amp; scroll &amp;gt;= $( this ).offset().top - ( windowHeight / 3 ) )&lt;br /&gt;
          ) ||&lt;br /&gt;
          scroll &amp;gt;= $( this ).offset().top &amp;amp;&amp;amp; (&lt;br /&gt;
            // advance&lt;br /&gt;
            ( direction == &amp;#039;up&amp;#039; &amp;amp;&amp;amp; scroll &amp;lt;= $( this ).offset().top + ( windowHeight * 2 / 3 ) ) ||&lt;br /&gt;
            // stabilize&lt;br /&gt;
            ( direction == &amp;#039;down&amp;#039; &amp;amp;&amp;amp; scroll &amp;lt;= $( this ).offset().top + ( windowHeight / 3 ) )&lt;br /&gt;
          )&lt;br /&gt;
        ){&lt;br /&gt;
          $( &amp;#039;body:not( .lock-scroll )&amp;#039; ).addClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
          scrollTo = $( this ).offset().top;&lt;br /&gt;
        }&lt;br /&gt;
      } );&lt;br /&gt;
&lt;br /&gt;
      if( scrollTo !== false ){&lt;br /&gt;
        $( &amp;#039;html, body&amp;#039; ).animate(&lt;br /&gt;
          { scrollTop: scrollTo },&lt;br /&gt;
          settings.speed,&lt;br /&gt;
          function(){&lt;br /&gt;
            $( &amp;#039;body.lock-scroll&amp;#039; ).removeClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
            /*setTimeout( function(){&lt;br /&gt;
              $( &amp;#039;body.lock-scroll&amp;#039; ).removeClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
            }, 600 );*/&lt;br /&gt;
          }&lt;br /&gt;
        );&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var $snap = this;&lt;br /&gt;
    $( window ).on( &amp;#039;scroll&amp;#039;, function(){&lt;br /&gt;
      var scroll =&lt;br /&gt;
        window.pageYOffset ||&lt;br /&gt;
          document.documentElement.scrollTop ||&lt;br /&gt;
            document.body.scrollTop ||&lt;br /&gt;
              0;&lt;br /&gt;
&lt;br /&gt;
			var direction = &amp;#039;up&amp;#039;;&lt;br /&gt;
      if( scroll &amp;gt; lastScrollTop )&lt;br /&gt;
        direction = &amp;#039;down&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      lastScrollTop = scroll;&lt;br /&gt;
&lt;br /&gt;
      clearTimeout( scrollStop );&lt;br /&gt;
      scrollStop = setTimeout( function(){&lt;br /&gt;
        snapScroll( $snap, scroll, direction );&lt;br /&gt;
      }, 200 );&lt;br /&gt;
    } );&lt;br /&gt;
  };&lt;br /&gt;
} )( jQuery );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
  // default options&lt;br /&gt;
  //$( &amp;#039;.snap&amp;#039; ).scrollSnap();&lt;br /&gt;
&lt;br /&gt;
  // custom options&lt;br /&gt;
  $( &amp;#039;.snap&amp;#039; ).scrollSnap({&lt;br /&gt;
    speed: 400&lt;br /&gt;
  });&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body.lock-scroll{&lt;br /&gt;
  overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>46.114.148.151</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap_(jQuery)&amp;diff=25199</id>
		<title>Scroll-Snap (jQuery)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap_(jQuery)&amp;diff=25199"/>
		<updated>2021-01-22T09:02:16Z</updated>

		<summary type="html">&lt;p&gt;46.114.148.151: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Einfaches aber effektives jQuery Skript, welches Scroll-Snap bis IE 9 abbildet. Funktioniert in komplexen HTML Setups besser als CSS scroll-snap und ist kompatibler.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;jQuery Plugin &amp;amp; Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*! jQuery Scroll Snap 1.0.0 | MIT *&lt;br /&gt;
 * https://github.com/jpcurrier/jquery-scroll-snap !*/&lt;br /&gt;
 ( function( $ ){&lt;br /&gt;
  $.fn.scrollSnap = function( options ){&lt;br /&gt;
&lt;br /&gt;
    // default options&lt;br /&gt;
    var settings = $.extend({&lt;br /&gt;
      speed: 400&lt;br /&gt;
    }, options );&lt;br /&gt;
&lt;br /&gt;
    var scrollStop,&lt;br /&gt;
      lastScrollTop =&lt;br /&gt;
        window.pageYOffset ||&lt;br /&gt;
          document.documentElement.scrollTop ||&lt;br /&gt;
            document.body.scrollTop ||&lt;br /&gt;
              0;&lt;br /&gt;
&lt;br /&gt;
    function snapScroll( $snap, scroll, direction ){&lt;br /&gt;
      if( $( &amp;#039;body&amp;#039; ).hasClass( &amp;#039;lock-scroll&amp;#039; ) )&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      var windowHeight = $( window ).height();&lt;br /&gt;
      direction = typeof direction !== &amp;#039;undefined&amp;#039; ? direction : &amp;#039;up&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      var scrollTo = false;&lt;br /&gt;
      $snap.each( function(){&lt;br /&gt;
        if(&lt;br /&gt;
          scroll &amp;lt;= $( this ).offset().top &amp;amp;&amp;amp; (&lt;br /&gt;
            // advance&lt;br /&gt;
            ( direction == &amp;#039;down&amp;#039; &amp;amp;&amp;amp; scroll &amp;gt;= $( this ).offset().top - ( windowHeight * 2 / 3 ) ) ||&lt;br /&gt;
            // stabilize&lt;br /&gt;
            ( direction == &amp;#039;up&amp;#039; &amp;amp;&amp;amp; scroll &amp;gt;= $( this ).offset().top - ( windowHeight / 3 ) )&lt;br /&gt;
          ) ||&lt;br /&gt;
          scroll &amp;gt;= $( this ).offset().top &amp;amp;&amp;amp; (&lt;br /&gt;
            // advance&lt;br /&gt;
            ( direction == &amp;#039;up&amp;#039; &amp;amp;&amp;amp; scroll &amp;lt;= $( this ).offset().top + ( windowHeight * 2 / 3 ) ) ||&lt;br /&gt;
            // stabilize&lt;br /&gt;
            ( direction == &amp;#039;down&amp;#039; &amp;amp;&amp;amp; scroll &amp;lt;= $( this ).offset().top + ( windowHeight / 3 ) )&lt;br /&gt;
          )&lt;br /&gt;
        ){&lt;br /&gt;
          $( &amp;#039;body:not( .lock-scroll )&amp;#039; ).addClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
          scrollTo = $( this ).offset().top;&lt;br /&gt;
        }&lt;br /&gt;
      } );&lt;br /&gt;
&lt;br /&gt;
      if( scrollTo !== false ){&lt;br /&gt;
        $( &amp;#039;html, body&amp;#039; ).animate(&lt;br /&gt;
          { scrollTop: scrollTo },&lt;br /&gt;
          settings.speed,&lt;br /&gt;
          function(){&lt;br /&gt;
            $( &amp;#039;body.lock-scroll&amp;#039; ).removeClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
            /*setTimeout( function(){&lt;br /&gt;
              $( &amp;#039;body.lock-scroll&amp;#039; ).removeClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
            }, 600 );*/&lt;br /&gt;
          }&lt;br /&gt;
        );&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var $snap = this;&lt;br /&gt;
    $( window ).on( &amp;#039;scroll&amp;#039;, function(){&lt;br /&gt;
      var scroll =&lt;br /&gt;
        window.pageYOffset ||&lt;br /&gt;
          document.documentElement.scrollTop ||&lt;br /&gt;
            document.body.scrollTop ||&lt;br /&gt;
              0;&lt;br /&gt;
&lt;br /&gt;
			var direction = &amp;#039;up&amp;#039;;&lt;br /&gt;
      if( scroll &amp;gt; lastScrollTop )&lt;br /&gt;
        direction = &amp;#039;down&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      lastScrollTop = scroll;&lt;br /&gt;
&lt;br /&gt;
      clearTimeout( scrollStop );&lt;br /&gt;
      scrollStop = setTimeout( function(){&lt;br /&gt;
        snapScroll( $snap, scroll, direction );&lt;br /&gt;
      }, 200 );&lt;br /&gt;
    } );&lt;br /&gt;
  };&lt;br /&gt;
} )( jQuery );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
  // default options&lt;br /&gt;
  //$( &amp;#039;.snap&amp;#039; ).scrollSnap();&lt;br /&gt;
&lt;br /&gt;
  // custom options&lt;br /&gt;
  $( &amp;#039;.snap&amp;#039; ).scrollSnap({&lt;br /&gt;
    speed: 400&lt;br /&gt;
  });&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>46.114.148.151</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap_(jQuery)&amp;diff=25198</id>
		<title>Scroll-Snap (jQuery)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap_(jQuery)&amp;diff=25198"/>
		<updated>2021-01-22T09:01:18Z</updated>

		<summary type="html">&lt;p&gt;46.114.148.151: Die Seite wurde neu angelegt: „ Einfaches aber effektives jQuery Skript, welches Scroll-Snap bis IE 9 abbildet. Funktioniert in komplexen HTML Setups besser.  &amp;#039;&amp;#039;&amp;#039;jQuery Plugin &amp;amp; Beispiel&amp;#039;&amp;#039;&amp;#039;…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Einfaches aber effektives jQuery Skript, welches Scroll-Snap bis IE 9 abbildet. Funktioniert in komplexen HTML Setups besser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;jQuery Plugin &amp;amp; Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*! jQuery Scroll Snap 1.0.0 | MIT *&lt;br /&gt;
 * https://github.com/jpcurrier/jquery-scroll-snap !*/&lt;br /&gt;
 ( function( $ ){&lt;br /&gt;
  $.fn.scrollSnap = function( options ){&lt;br /&gt;
&lt;br /&gt;
    // default options&lt;br /&gt;
    var settings = $.extend({&lt;br /&gt;
      speed: 400&lt;br /&gt;
    }, options );&lt;br /&gt;
&lt;br /&gt;
    var scrollStop,&lt;br /&gt;
      lastScrollTop =&lt;br /&gt;
        window.pageYOffset ||&lt;br /&gt;
          document.documentElement.scrollTop ||&lt;br /&gt;
            document.body.scrollTop ||&lt;br /&gt;
              0;&lt;br /&gt;
&lt;br /&gt;
    function snapScroll( $snap, scroll, direction ){&lt;br /&gt;
      if( $( &amp;#039;body&amp;#039; ).hasClass( &amp;#039;lock-scroll&amp;#039; ) )&lt;br /&gt;
        return;&lt;br /&gt;
&lt;br /&gt;
      var windowHeight = $( window ).height();&lt;br /&gt;
      direction = typeof direction !== &amp;#039;undefined&amp;#039; ? direction : &amp;#039;up&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      var scrollTo = false;&lt;br /&gt;
      $snap.each( function(){&lt;br /&gt;
        if(&lt;br /&gt;
          scroll &amp;lt;= $( this ).offset().top &amp;amp;&amp;amp; (&lt;br /&gt;
            // advance&lt;br /&gt;
            ( direction == &amp;#039;down&amp;#039; &amp;amp;&amp;amp; scroll &amp;gt;= $( this ).offset().top - ( windowHeight * 2 / 3 ) ) ||&lt;br /&gt;
            // stabilize&lt;br /&gt;
            ( direction == &amp;#039;up&amp;#039; &amp;amp;&amp;amp; scroll &amp;gt;= $( this ).offset().top - ( windowHeight / 3 ) )&lt;br /&gt;
          ) ||&lt;br /&gt;
          scroll &amp;gt;= $( this ).offset().top &amp;amp;&amp;amp; (&lt;br /&gt;
            // advance&lt;br /&gt;
            ( direction == &amp;#039;up&amp;#039; &amp;amp;&amp;amp; scroll &amp;lt;= $( this ).offset().top + ( windowHeight * 2 / 3 ) ) ||&lt;br /&gt;
            // stabilize&lt;br /&gt;
            ( direction == &amp;#039;down&amp;#039; &amp;amp;&amp;amp; scroll &amp;lt;= $( this ).offset().top + ( windowHeight / 3 ) )&lt;br /&gt;
          )&lt;br /&gt;
        ){&lt;br /&gt;
          $( &amp;#039;body:not( .lock-scroll )&amp;#039; ).addClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
          scrollTo = $( this ).offset().top;&lt;br /&gt;
        }&lt;br /&gt;
      } );&lt;br /&gt;
&lt;br /&gt;
      if( scrollTo !== false ){&lt;br /&gt;
        $( &amp;#039;html, body&amp;#039; ).animate(&lt;br /&gt;
          { scrollTop: scrollTo },&lt;br /&gt;
          settings.speed,&lt;br /&gt;
          function(){&lt;br /&gt;
            $( &amp;#039;body.lock-scroll&amp;#039; ).removeClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
            /*setTimeout( function(){&lt;br /&gt;
              $( &amp;#039;body.lock-scroll&amp;#039; ).removeClass( &amp;#039;lock-scroll&amp;#039; );&lt;br /&gt;
            }, 600 );*/&lt;br /&gt;
          }&lt;br /&gt;
        );&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var $snap = this;&lt;br /&gt;
    $( window ).on( &amp;#039;scroll&amp;#039;, function(){&lt;br /&gt;
      var scroll =&lt;br /&gt;
        window.pageYOffset ||&lt;br /&gt;
          document.documentElement.scrollTop ||&lt;br /&gt;
            document.body.scrollTop ||&lt;br /&gt;
              0;&lt;br /&gt;
&lt;br /&gt;
			var direction = &amp;#039;up&amp;#039;;&lt;br /&gt;
      if( scroll &amp;gt; lastScrollTop )&lt;br /&gt;
        direction = &amp;#039;down&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      lastScrollTop = scroll;&lt;br /&gt;
&lt;br /&gt;
      clearTimeout( scrollStop );&lt;br /&gt;
      scrollStop = setTimeout( function(){&lt;br /&gt;
        snapScroll( $snap, scroll, direction );&lt;br /&gt;
      }, 200 );&lt;br /&gt;
    } );&lt;br /&gt;
  };&lt;br /&gt;
} )( jQuery );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
  // default options&lt;br /&gt;
  //$( &amp;#039;.snap&amp;#039; ).scrollSnap();&lt;br /&gt;
&lt;br /&gt;
  // custom options&lt;br /&gt;
  $( &amp;#039;.snap&amp;#039; ).scrollSnap({&lt;br /&gt;
    speed: 400&lt;br /&gt;
  });&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section class=&amp;quot;snap&amp;quot; style=&amp;quot;height: 50vh;&amp;quot;&amp;gt;&lt;br /&gt;
LoremIpsum&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>46.114.148.151</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap&amp;diff=25197</id>
		<title>Scroll-Snap</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap&amp;diff=25197"/>
		<updated>2021-01-22T08:56:23Z</updated>

		<summary type="html">&lt;p&gt;46.114.148.151: /* Siehe auch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
 https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap/Basic_concepts&lt;br /&gt;
 https://css-tricks.com/practical-css-scroll-snapping/&lt;br /&gt;
 https://stackoverflow.com/questions/53981699/pure-css-scroll-snap-only-works-with-the-body-as-the-container &lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
 [[Scroll-Snap (jQuery)]]&lt;br /&gt;
Einfaches aber effektives jQuery Skript, welches Scroll-Snap bis IE 9 abbildet. Funktioniert in komplexen HTML Setups besser.&lt;br /&gt;
&lt;br /&gt;
== Scroll Snap Basics ==&lt;br /&gt;
Die wichtigsten Eigenschaften sind&lt;br /&gt;
 scroll-snap-type (Containerelement)&lt;br /&gt;
 scroll-snap-align (Kindelement)&lt;br /&gt;
Die Eigenschaft scoll-snap-type wird auf das Elternelement angewendet und scroll-snap-align auf das Kindelement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Keyword values */&lt;br /&gt;
scroll-snap-type: none;&lt;br /&gt;
scroll-snap-type: x;&lt;br /&gt;
scroll-snap-type: y;&lt;br /&gt;
scroll-snap-type: block;&lt;br /&gt;
scroll-snap-type: inline;&lt;br /&gt;
scroll-snap-type: both;&lt;br /&gt;
&lt;br /&gt;
/* Optional mandatory | proximity*/&lt;br /&gt;
scroll-snap-type: x mandatory;&lt;br /&gt;
scroll-snap-type: y proximity;&lt;br /&gt;
scroll-snap-type: both mandatory;&lt;br /&gt;
&lt;br /&gt;
/* etc */&lt;br /&gt;
&lt;br /&gt;
/* Global values */&lt;br /&gt;
scroll-snap-type: inherit;&lt;br /&gt;
scroll-snap-type: initial;&lt;br /&gt;
scroll-snap-type: unset;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel 2&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;article class=&amp;quot;scroller&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Section one&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Section two&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Section three&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/article&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;SCROLL ME&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;horizontal&amp;lt;/p&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;SNAPPED&amp;lt;/h2&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;GO ON&amp;lt;/h2&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;THIS IS THE END&amp;lt;/h2&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
* {&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
body,html{&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  min-height: 100%;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  color: white;&lt;br /&gt;
  font-family: sans-serif;&lt;br /&gt;
}&lt;br /&gt;
html {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  scroll-snap-type: x mandatory;  &lt;br /&gt;
}&lt;br /&gt;
body{&lt;br /&gt;
  /*&lt;br /&gt;
  NOT working&lt;br /&gt;
  scroll-snap-type: y mandatory;&lt;br /&gt;
  */&lt;br /&gt;
  display:flex;&lt;br /&gt;
}&lt;br /&gt;
h2{&lt;br /&gt;
  text-align: center;&lt;br /&gt;
}&lt;br /&gt;
section {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
  height: 100vh;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  flex-shrink: 0;&lt;br /&gt;
  scroll-snap-align: start; /* Stop at the left */&lt;br /&gt;
  &lt;br /&gt;
  background: #146585;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
section:nth-of-type(even) {&lt;br /&gt;
  background: #2b8664;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== scroll-padding und scroll-margin ==&lt;br /&gt;
scroll-padding&lt;br /&gt;
&lt;br /&gt;
Scroll-Padding setzt man im Container. Damit kann man erreichen, dass ein Element nicht direkt an den Rand schnappt, sondern kurz davor stoppt. Das ist z.B. bei einem fixed Header nützlich, der ansonsten den Inhalt überlappen würde.&lt;br /&gt;
&lt;br /&gt;
scroll-margin&lt;br /&gt;
&lt;br /&gt;
Ähnlicher Effekt wie bei Padding. Da man den scroll-margin im Kindelement setzt, kann man für jedes Element unterschiedliche Werte setzen.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Scroll-Snap im Container ===&lt;br /&gt;
 https://stackoverflow.com/questions/53981699/pure-css-scroll-snap-only-works-with-the-body-as-the-container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid aspernatur eius est fuga inventore&lt;br /&gt;
           officia possimus quibusdam recusandae sunt. Adipisci blanditiis corporis cupiditate dolorem ducimus&lt;br /&gt;
           excepturi laboriosam officia quae vero.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Accusamus amet dicta dolorum fugiat id itaque iure minus molestiae nesciunt non omnis quibusdam, veniam!&lt;br /&gt;
           Animi, aspernatur consectetur doloremque ducimus illum perferendis quam ut? Aspernatur deserunt doloremque&lt;br /&gt;
           error magnam minima.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Ab accusantium aut corporis, cumque dolor ducimus ea est, excepturi facere, fuga id labore magni minima nemo&lt;br /&gt;
           odio officia officiis quaerat quibusdam quo sit tempora tenetur unde veritatis! Doloremque, nam.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.section {&lt;br /&gt;
    height: calc(100vh - 14em);&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
    color: white;&lt;br /&gt;
    padding: 7em;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    scroll-snap-align: start;&lt;br /&gt;
}&lt;br /&gt;
.section:nth-of-type(1) {&lt;br /&gt;
    background-color: hsl(0, 100%, 30%);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.section:nth-of-type(2) {&lt;br /&gt;
    background-color: hsl(40, 100%, 30%);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.section:nth-of-type(3) {&lt;br /&gt;
    background-color: hsl(50, 100%, 30%);&lt;br /&gt;
}&lt;br /&gt;
.container {&lt;br /&gt;
  scroll-snap-type: y mandatory;&lt;br /&gt;
  overflow-y: scroll;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  height: 100vh;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;re almost there. By default, the &amp;lt;body&amp;gt; element has a fixed height of 100vh. You just need to add the same to your container class.&lt;br /&gt;
&lt;br /&gt;
That gives the scroll something to snap to. Otherwise, the &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt; will have a height equal to that of all the child elements combined, which doesn&amp;#039;t give the scroll a fixed window to snap to.&lt;br /&gt;
&lt;br /&gt;
Likewise, if you were doing horizontal scrolling, you&amp;#039;d need to provide your container with a fixed width.&lt;/div&gt;</summary>
		<author><name>46.114.148.151</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap&amp;diff=25196</id>
		<title>Scroll-Snap</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Scroll-Snap&amp;diff=25196"/>
		<updated>2021-01-22T08:56:01Z</updated>

		<summary type="html">&lt;p&gt;46.114.148.151: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
 https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap/Basic_concepts&lt;br /&gt;
 https://css-tricks.com/practical-css-scroll-snapping/&lt;br /&gt;
 https://stackoverflow.com/questions/53981699/pure-css-scroll-snap-only-works-with-the-body-as-the-container &lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
 Scroll-Snap (jQuery)&lt;br /&gt;
Einfaches aber effektives jQuery Skript, welches Scroll-Snap bis IE 9 abbildet. Funktioniert in komplexen HTML Setups besser.&lt;br /&gt;
&lt;br /&gt;
== Scroll Snap Basics ==&lt;br /&gt;
Die wichtigsten Eigenschaften sind&lt;br /&gt;
 scroll-snap-type (Containerelement)&lt;br /&gt;
 scroll-snap-align (Kindelement)&lt;br /&gt;
Die Eigenschaft scoll-snap-type wird auf das Elternelement angewendet und scroll-snap-align auf das Kindelement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Keyword values */&lt;br /&gt;
scroll-snap-type: none;&lt;br /&gt;
scroll-snap-type: x;&lt;br /&gt;
scroll-snap-type: y;&lt;br /&gt;
scroll-snap-type: block;&lt;br /&gt;
scroll-snap-type: inline;&lt;br /&gt;
scroll-snap-type: both;&lt;br /&gt;
&lt;br /&gt;
/* Optional mandatory | proximity*/&lt;br /&gt;
scroll-snap-type: x mandatory;&lt;br /&gt;
scroll-snap-type: y proximity;&lt;br /&gt;
scroll-snap-type: both mandatory;&lt;br /&gt;
&lt;br /&gt;
/* etc */&lt;br /&gt;
&lt;br /&gt;
/* Global values */&lt;br /&gt;
scroll-snap-type: inherit;&lt;br /&gt;
scroll-snap-type: initial;&lt;br /&gt;
scroll-snap-type: unset;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel 2&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;article class=&amp;quot;scroller&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Section one&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Section two&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Section three&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/article&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;SCROLL ME&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;horizontal&amp;lt;/p&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;SNAPPED&amp;lt;/h2&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;GO ON&amp;lt;/h2&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section&amp;gt;&amp;lt;h2&amp;gt;THIS IS THE END&amp;lt;/h2&amp;gt;&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
* {&lt;br /&gt;
  box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
body,html{&lt;br /&gt;
  text-align: center;&lt;br /&gt;
  min-height: 100%;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  color: white;&lt;br /&gt;
  font-family: sans-serif;&lt;br /&gt;
}&lt;br /&gt;
html {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  scroll-snap-type: x mandatory;  &lt;br /&gt;
}&lt;br /&gt;
body{&lt;br /&gt;
  /*&lt;br /&gt;
  NOT working&lt;br /&gt;
  scroll-snap-type: y mandatory;&lt;br /&gt;
  */&lt;br /&gt;
  display:flex;&lt;br /&gt;
}&lt;br /&gt;
h2{&lt;br /&gt;
  text-align: center;&lt;br /&gt;
}&lt;br /&gt;
section {&lt;br /&gt;
  display: flex;&lt;br /&gt;
  flex-direction: column;&lt;br /&gt;
  justify-content: center;&lt;br /&gt;
  height: 100vh;&lt;br /&gt;
  width: 100%;&lt;br /&gt;
  flex-shrink: 0;&lt;br /&gt;
  scroll-snap-align: start; /* Stop at the left */&lt;br /&gt;
  &lt;br /&gt;
  background: #146585;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
section:nth-of-type(even) {&lt;br /&gt;
  background: #2b8664;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== scroll-padding und scroll-margin ==&lt;br /&gt;
scroll-padding&lt;br /&gt;
&lt;br /&gt;
Scroll-Padding setzt man im Container. Damit kann man erreichen, dass ein Element nicht direkt an den Rand schnappt, sondern kurz davor stoppt. Das ist z.B. bei einem fixed Header nützlich, der ansonsten den Inhalt überlappen würde.&lt;br /&gt;
&lt;br /&gt;
scroll-margin&lt;br /&gt;
&lt;br /&gt;
Ähnlicher Effekt wie bei Padding. Da man den scroll-margin im Kindelement setzt, kann man für jedes Element unterschiedliche Werte setzen.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
=== Scroll-Snap im Container ===&lt;br /&gt;
 https://stackoverflow.com/questions/53981699/pure-css-scroll-snap-only-works-with-the-body-as-the-container&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid aspernatur eius est fuga inventore&lt;br /&gt;
           officia possimus quibusdam recusandae sunt. Adipisci blanditiis corporis cupiditate dolorem ducimus&lt;br /&gt;
           excepturi laboriosam officia quae vero.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Accusamus amet dicta dolorum fugiat id itaque iure minus molestiae nesciunt non omnis quibusdam, veniam!&lt;br /&gt;
           Animi, aspernatur consectetur doloremque ducimus illum perferendis quam ut? Aspernatur deserunt doloremque&lt;br /&gt;
           error magnam minima.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;div class=&amp;quot;section&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;Ab accusantium aut corporis, cumque dolor ducimus ea est, excepturi facere, fuga id labore magni minima nemo&lt;br /&gt;
           odio officia officiis quaerat quibusdam quo sit tempora tenetur unde veritatis! Doloremque, nam.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.section {&lt;br /&gt;
    height: calc(100vh - 14em);&lt;br /&gt;
    font-size: 1em;&lt;br /&gt;
    color: white;&lt;br /&gt;
    padding: 7em;&lt;br /&gt;
    margin: 0;&lt;br /&gt;
    scroll-snap-align: start;&lt;br /&gt;
}&lt;br /&gt;
.section:nth-of-type(1) {&lt;br /&gt;
    background-color: hsl(0, 100%, 30%);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.section:nth-of-type(2) {&lt;br /&gt;
    background-color: hsl(40, 100%, 30%);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.section:nth-of-type(3) {&lt;br /&gt;
    background-color: hsl(50, 100%, 30%);&lt;br /&gt;
}&lt;br /&gt;
.container {&lt;br /&gt;
  scroll-snap-type: y mandatory;&lt;br /&gt;
  overflow-y: scroll;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  height: 100vh;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;re almost there. By default, the &amp;lt;body&amp;gt; element has a fixed height of 100vh. You just need to add the same to your container class.&lt;br /&gt;
&lt;br /&gt;
That gives the scroll something to snap to. Otherwise, the &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt; will have a height equal to that of all the child elements combined, which doesn&amp;#039;t give the scroll a fixed window to snap to.&lt;br /&gt;
&lt;br /&gt;
Likewise, if you were doing horizontal scrolling, you&amp;#039;d need to provide your container with a fixed width.&lt;/div&gt;</summary>
		<author><name>46.114.148.151</name></author>
	</entry>
</feed>