<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Arsen Mkrtchyan</title>
    <description>The latest articles on Forem by Arsen Mkrtchyan (@stripearmy).</description>
    <link>https://forem.com/stripearmy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3030793%2F31cee5a4-a210-4e6f-9a6f-d8d7bd53f923.png</url>
      <title>Forem: Arsen Mkrtchyan</title>
      <link>https://forem.com/stripearmy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/stripearmy"/>
    <language>en</language>
    <item>
      <title>I fixed iOS Safari’s scroll lock bug with just CSS (and made a React package for it)</title>
      <dc:creator>Arsen Mkrtchyan</dc:creator>
      <pubDate>Tue, 08 Apr 2025 16:12:19 +0000</pubDate>
      <link>https://forem.com/stripearmy/i-fixed-ios-safaris-scroll-lock-bug-with-just-css-and-made-a-react-package-for-it-2o41</link>
      <guid>https://forem.com/stripearmy/i-fixed-ios-safaris-scroll-lock-bug-with-just-css-and-made-a-react-package-for-it-2o41</guid>
      <description>&lt;p&gt;If you've ever tried to disable body scrolling in iOS Safari when a modal opens... you know the pain.&lt;/p&gt;

&lt;p&gt;Most workarounds involve JavaScript, touchmove event listeners, or weird side effects. I wanted something simpler — so I built &lt;a href="https://www.npmjs.com/package/react-ios-scroll-lock" rel="noopener noreferrer"&gt;react-ios-scroll-lock&lt;/a&gt;: a CSS-only scroll lock component that works across iOS, Android, and all major browsers.&lt;/p&gt;

&lt;p&gt;Why it’s different:&lt;/p&gt;

&lt;p&gt;⚡️ Pure CSS – no JS scroll hacks&lt;/p&gt;

&lt;p&gt;🧘 Doesn’t interfere with touch or scroll events&lt;/p&gt;

&lt;p&gt;📱 Works on iOS, Android, and desktop&lt;/p&gt;

&lt;p&gt;🪶 Minimal performance cost&lt;/p&gt;

&lt;p&gt;🧩 Easy to plug into any React project&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
👉 &lt;a href="http://stripearmy.github.io/ios-scroll-lock-demo/" rel="noopener noreferrer"&gt;Live demo here&lt;/a&gt; (just open the menu)&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="http://stripearmy.github.io/ios-scroll-lock-demo/simple.html" rel="noopener noreferrer"&gt;Simple modal demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="http://stripearmy.github.io/ios-scroll-lock-demo/scrollable.html" rel="noopener noreferrer"&gt;Scrollable modal demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How it works:&lt;br&gt;
I wrote a detailed post on the technique and the problem it solves here:&lt;br&gt;
📝 &lt;a href="https://stripearmy.medium.com/i-fixed-a-decade-long-ios-safari-problem-0d85f76caec0" rel="noopener noreferrer"&gt;Medium Post&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ios</category>
      <category>safari</category>
      <category>scroll</category>
    </item>
  </channel>
</rss>
