<ul class="gallery">
<li>Lorem, ipsum dolor.</li>
<li>Saepe, blanditiis quam!</li>
<li>Cum, eos reprehenderit.</li>
<li>Alias, saepe asperiores?</li>
<li>Fuga, at exercitationem.</li>
<li>Nihil, magnam! Officia!</li>
<li>Voluptas, laudantium natus!</li>
<li>Tempora, quibusdam sed.</li>
<li>Asperiores, nisi repudiandae.</li>
<li>Soluta, quas voluptatibus.</li>
<li>Ipsam, totam saepe.</li>
<li>Debitis, asperiores ipsum.</li>
<li>Aliquam, minus corporis.</li>
<li>Illum, voluptatem maxime.</li>
<li>Qui, explicabo odio!</li>
<li>Iusto, nihil illum.</li>
<li>Iure, numquam facere.</li>
<li>Possimus, non eos!</li>
<li>Nesciunt, quas consectetur.</li>
<li>Accusantium, earum autem!</li>
<li>Tenetur, asperiores ullam.</li>
<li>Facilis, adipisci repudiandae.</li>
<li>Neque, doloribus eligendi!</li>
<li>Perferendis, vitae suscipit.</li>
<li>Doloremque, aperiam vitae?</li>
<li>Assumenda, obcaecati molestias.</li>
<li>Officiis, laborum omnis!</li>
<li>Blanditiis, itaque vitae.</li>
<li>Quis, impedit cumque!</li>
<li>Omnis, aut repudiandae.</li>
<li>Laboriosam, quidem ullam!</li>
<li>Nihil, neque velit?</li>
<li>Aperiam, voluptatum eligendi.</li>
<li>Ratione, neque debitis!</li>
<li>Sunt, ex exercitationem.</li>
<li>Est, molestias eius.</li>
<li>Praesentium, nulla molestiae.</li>
<li>Illum, at nobis!</li>
<li>Voluptate, tenetur minima!</li>
<li>Atque, fugit cum?</li>
</ul>
.gallery {
border: 1px solid lightgray;
padding: 1rem;
display: flex;
overflow-x: scroll;
scroll-padding: 0 50%;
scroll-snap-type: x mandatory;
}
li {
scroll-snap-align: center;
display: inline-block;
height: 83vh;
border-radius: 3px;
font-size: 0;
margin-right: 3rem;
}
View Compiled
const gra = function(min, max) {
return Math.random() * (max - min) + min;
}
const gri = function(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
const init = function(){
let items = document.querySelectorAll('.gallery li');
for (let i = 0; i < items.length; i++){
items[i].style.minWidth = gra(30,60) + 'vw';
items[i].style.background = randomColor({luminosity: 'light'});
}
cssScrollSnapPolyfill()
}
init();
This Pen doesn't use any external CSS resources.