JSFiddle - React, Tailwind, and code Playground
HTML
<div id="slider_container">
<div class="wrapper">
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span><span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
</div>
</div>
<div id="slider_container">
<div class="wrapper">
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
<span>Image</span>
...
CSS
#slider_container
{
width:100%;
height:320px;
overflow: scroll;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
.wrapper
{
position:absolute;
height:320px;
}
.wrapper span
{
max-width:310px;
max-height:310px;
margin-right:5px;
float: left;
}
JavaScript
var wrappers = document.querySelectorAll('.wrapper');
var width;
for(var i=0; i<wrappers.length; i++) {
var spans = wrappers[i].querySelectorAll('span');
width = 0;
for(var j=0; j<spans.length; j++) {
width += spans[j].offsetWidth + 5; // + 5 for the margins
}
wrappers[i].style.width = width + 'px';
}