HTML
1<div class="sticky-container"> 2 <div class="sticky"> 3 <p>スティッキー1</p> 4 </div> 5 <div class="sticky"> 6 <p>スティッキー2</p> 7 </div> 8 <div class="sticky"> 9 <p>スティッキー3</p> 10 </div> 11 <div class="sticky"> 12 <p>スティッキー4</p> 13 </div> 14</div>
CSS
1>.sticky-container { 2 >.sticky { 3 position: sticky; 4 top: 0; 5 height: 100vh; 6 margin-bottom: 2000px; 7 8 p { 9 font-size: 18px; 10 } 11 12 &:nth-child(odd) { 13 background-color: #dbdbdb; 14 } 15 16 &:nth-child(even) { 17 background-color: #a9a9a9; 18 } 19 } 20}
謎
上記は、各stickyアイテムのmargin-bottomに2000pxを指定しているのですが、なぜか3つ目のstickyアイテムでstickyの挙動が終わり、4つ目からは通常の挙動になっています。試しにstickyアイテムを一つ追加すると4つ目のstickyアイテムでstickyの挙動が終わり、5つ目からは通常の挙動になったので、最後のstickyアイテムが通常の挙動になるということが分かりました。これは仕様なのか、バグなのか、なんなのでしょうか。。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2025/07/08 08:41
2025/07/08 09:23