Customized bxSlider next button changes weirdly when it's hovered

105 Views Asked by At

I'm practicing customizing bxSlider direction buttons. As you can see, I changed .bx-controls-direction a's width & height to put different background images. prev button works well, but next button seems weird. When I hover on it, it appears two different size same icons. How can I fix this? the image is here: https://i.postimg.cc/5NdXKznk/2.png

HTML/JS:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>bxSlider</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/bxslider/4.2.12/jquery.bxslider.min.js"></script>
    <link rel="stylesheet" href="./css/style.css">
</head>

<body>
    <h1>my beautiful moments</h1>
    <div class="slider">
        <div class="slide"><img src="./img/a.jpg" alt=""></div>
        <div class="slide"><img src="./img/b.jpg" alt=""></div>
        <div class="slide"><img src="./img/c.jpg" alt=""></div>
        <div class="slide"><img src="./img/d.jpg" alt=""></div>
        <div class="slide"><img src="./img/e.jpg" alt=""></div>
        <div class="slide"><img src="./img/f.jpg" alt=""></div>
    </div>

    <script>
        $(document).ready(function() {
            $('.slider').bxSlider({
                mode: 'fade',
                slideWidth: 500,
                auto: true,
                pause: 1800
            });
        });
    </script>
</body>

</html>

CSS:

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap');
body {
    font-family: 'Open Sans', sans-serif;
}

h1 {
    text-align: center;
    text-transform: uppercase;
}

.bx-wrapper {
    box-shadow: none;
    border: none;
    margin: 1rem auto;
}

.bx-wrapper .bx-controls-direction a {
    width: 90px;
    height: 90px;
}

.bx-wrapper .bx-prev {
    left: -10rem;
    background: url('../img/arrow_t3_prev.png');
}

.bx-wrapper .bx-next {
    background: url('../img/arrow_t3_next.png');
    right: -10rem;
}
1

There are 1 best solutions below

0
SondraSonic On

I figured it out myself.

I had to specify classes more in css.

CSS:

.bx-wrapper .bx-controls-direction .bx-prev {
    background: url('../img/arrow_t3_prev.png') no-repeat;
    left: -10rem;
}

.bx-wrapper .bx-controls-direction .bx-next {
    background: url('../img/arrow_t3_next.png') no-repeat;
    right: -10rem;
}

Now it works perfectly.