ユーザーがJavaScriptを使用してウィンドウを水平方向にスクロールするときに、要素にスタイルを適用する必要があります。要素はウィンドウよりも広い。スタイルを後で追加すると、横にスクロールして残りの部分がウィンドウからはみ出しているのを確認する前に表示できる部分にのみスタイルが適用されます。要素のオーバーフロー部分にCSSスタイルが適用されない
https://codepen.io/sleepydada/pen/RLBqYW
HTML:
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
はCSS:
* {
box-sizing: border-box;
}
ul {
list-style: none;
display: flex;
border-right: 13px solid yellow;
padding:0;
li {
background:red;
flex: 0 0 250px;
height: 250px;
border: 1px solid black;
box-shadow: 0 4px 2px -2px gray;
}
&.added {
border: 10px solid blue;
}
}
JS:
var ul = document.querySelector('ul')
window.addEventListener('scroll', function() {
ul.classList.add('added')
})
!回答として投稿してください。 –
'li'リストにborderを使うことができるなら、それは動作しています。これを試してください。 '&.added li { border-top:10px blue; border-bottom:10pxソリッドブルー; } .added li :: first-child { border-left:10pxソリッドブルー; } .added li :: last-child { border-right:10pxソリッドブルー; } ' –