How to stop overflow x up and down scroll?

Viewed 92

I am trying to create a netflix type scroll bar but the problem is that my images can scroll up and down instead of side to side. Like this.

look at bottom

I want it to go side to side

here is my css snippet

.movies {
    background-color: lightblue;
    border: 1px solid black;
    background-color: lightblue;
    border: 1px solid black;
    height: 15rem;
    width: 100%;
    overflow-x: scroll;
}

.sinmovie {
    height: 10rem;
    width: 15rem;
}

.movies-div {
    position: absolute;
    margin-top: 45rem;
    height: 3rem;
}

here is my html

<div class="movies-div">

        <h1 class="movies-heading">Movies preview</h1>
        <div class="movies">
            <img class="sinmovie" src="./movies/large-movie1.jpg" alt="">
            <img class="sinmovie" src="/movies/large-movie2.jpg" alt="">
            <img class="sinmovie" src="/movies/large-movie3.jpg" alt="">
            <img class="sinmovie" src="/movies/large-movie5.jpg" alt="">
            <img class="sinmovie" src="/movies/large-movie6.jpg" alt="">
            <img class="sinmovie" src="/movies/large-movie8.jpg" alt="">
            <img class="sinmovie" src="/movies/large-movie7.jpg" alt="">

        </div>
    </div>

It may be a problem with my whole code

if you dont want to see if you know whats wrong skip!

here is my css

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --maincolor: #124E78;
    --divcolor: #F0F0C9;
    --divcolortwo: #6E0E0A;
    ---seccondcolor: #F2BB05;
    ---thirdcolor: #D74E09;
}

body {
    background-color: var(--maincolor);
}

.nav-bar {
    background-color: var(---seccondcolor);
    display: flex;
    font-size: 2rem;
    font-family: Gulzar;
    border: solid 3px black;
    height: 6rem;
    border-bottom: 5px solid black;
    z-index: 1;
}

ul {
    display: flex;
    list-style: none;
    column-gap: 7rem;
    padding-left: 20rem;
}

li {
    border: solid 2px black;
    width: 150px;
    height: 50px;
    justify-content: center;
    align-items: center;
    box-sizing: content-box;
    text-align: center;
    margin-top: 7px;
    padding-bottom: 20px;
    overflow: visible;
    -webkit-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
}

.nav-bar:hover {
    transform: scale(1.01);
    background-color: white;
    -webkit-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
}

li:hover {
    transform: scale(1.1);
    background-color: var(---seccondcolor);
    transition-duration: 0.5s;
}

.first-page-look {
    background: url(./images/movie-background.webp);
    height: 43rem;
    width: 100%;
    background-size: cover;
    border: 4px solid black;
    border-right: solid black 10px;
    border-left: solid black 10px;
    position: absolute;
}

.first-page-look:hover {
    transform: scale(1.01);
    background-image: url("./images/movie-background.webp"), linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
    background-blend-mode: overlay;
}

a {
    text-decoration: none;
    font-family: Splash;
    font-size: 1.2rem;
    text-align: center;
    text-transform: capitalize;
}

#main-page-button {
    background-color: #6E0E0A;
    position: absolute;
    bottom: 10px;
    font-size: 1rem;
    width: 12rem;
    height: 3rem;
    margin-bottom: 4rem;
    margin-left: 2rem;
    color: white;
    -webkit-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
}

#main-page-button:hover {
    transform: scale(1.1);
    background-color: black;
}

.main-page-par {
    font: BebasNeue-Regular;
    color: white;
    position: absolute;
    bottom: 200px;
    margin-left: 3rem;
    font-size: 1.5rem;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 7px;
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 20px;
    -webkit-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
}

.main-page-par:hover {
    transform: scale(1.1);
}

#our-part-but {
    background-color: #6E0E0A;
    position: absolute;
    bottom: 10px;
    font-size: 1rem;
    width: 12rem;
    height: 3rem;
    margin-bottom: 4rem;
    margin-left: 15rem;
    color: white;
    -webkit-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
    box-shadow: 8px 13px 18px 5px rgba(0, 0, 0, 0.75);
}

#our-part-but:hover {
    transform: scale(1.1);
    background-color: black;
}

.movies {
    background-color: lightblue;
    border: 1px solid black;
    background-color: lightblue;
    border: 1px solid black;
    height: 15rem;
    width: 100%;
    overflow-x: scroll;
}

.sinmovie {
    height: 10rem;
    width: 15rem;
}

.movies-div {
    position: absolute;
    margin-top: 45rem;
    height: 3rem;
}

pls help

the suggested addition of display flex to .movies creates this

look at bottom it creates it unnsesarily long page at bottom

1 Answers

you can use scroll-snap:

<style>
    .movies {
        width: 600px;
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .movies > div {
        width: 200px;
        flex-shrink: 0;
        box-sizing: border-box;
        padding: 10px;
        scroll-snap-align: start;
    }

    .movies > div img {
        width: 100%;
    }
</style>
<div class="movies-div">
    <h1 class="movies-heading">Movies preview</h1>
    <div class="movies">
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
        <div>
            <img src="https://www.themoviedb.org/t/p/w220_and_h330_face/cpWUtkcgRKeauhTyVMjYHxAutp4.jpg" alt="">
        </div>
    </div>
</div>
Related