Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Carrossel exibe uma imagem por vez

Olá, tudo bem? O meu carrossel está exibindo apenas uma imagem por vez, em vez de três imagens (uma ao lado da outra).

Imagem do meu projeto Alura Books Meu código:

<section class="carrossel">
            <h2 class="carrossel__titulo">Novos lançamentos</h2>
            <!-- Slider main container -->
                <div class="swiper">
                    <!-- If we need pagination -->
                    <div class="swiper-pagination"></div>
                    <!-- Additional required wrapper -->
                    <div class="swiper-wrapper">
                    <!-- Slides -->
                    <div class="swiper-slide"><img src="img/Portugol.svg" alt="Livro sobre Portugol"></div>
                    <div class="swiper-slide"><img src="img/Arquitetura.svg" alt="Livro sobre arquitetura"></div>
                    <div class="swiper-slide"><img src="img/Tuning.svg" alt="Livro sobre Tuning"></div>
                    <div class="swiper-slide"><img src="img/Javascript.svg" alt="Livro sobre Javascript"></div>
                    <div class="swiper-slide"><img src="img/Javascript.svg" alt="Livro sobre Javascript"></div>
                    <div class="swiper-slide"><img src="img/Javascript.svg" alt="Livro sobre Javascript"></div>
                    </div>
                    <!-- If we need navigation buttons -->
                    <div class="swiper-button-prev"></div>
                    <div class="swiper-button-next"></div>
                </div>
            <div class="card">
                <!-- 1ª linha -->
                <div class="card__descrição">
                    <!-- 1ª coluna -->
                    <div class="descrição">
                        <h3 class="descrição__titulo">Talvez você também se interesse por...</h3>
                        <h2 class="descrição__titulo-livro">Angular 11 e Firebase</h2>
                        <p class="descrição__texto">Construindo uma aplicação integrada com a plataforma do Google.</p>
                    </div>
                    <!-- 2ª coluna -->
                    <img src="img/Angular.svg" class="descrição__imagem" alt="Logo do Angular">
                </div>
                <!-- 2ª linha -->
                <div class="card__botões">
                    <!-- 1ª coluna-->
                    <ul class="botões">
                        <li class="botões__item"><img src="img/Favoritos.svg" alt="Favoritar livro"></li>
                        <li class="botões__item"><img src="img/Compras.svg"></li>
                    </ul>
                    <!-- 2ª coluna -->
                    <a href="#" class="botões__ancora">Saiba mais</a>
                </div>
            </div>
        </section>
.carrossel__titulo {
    color: var(--laranja);
    background-color: var(--branco);
    text-align: center;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
    padding: 1em 0 0.5em 0;
}

.swiper-slide img {
    width: 100%;
}

.swiper-button-prev,
.swiper-button-next {
    display: none;
}

.swiper-pagination {
    position: initial;
    margin: 0.5em 0;
}

.card__descrição {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5em;
}

.card__botões {
    display: flex;
    justify-content: space-between;
}

.botões {
    display: flex;
}

.botões__item {
    margin: 0 0.5em;
}

.botões__ancora {
    background-color: var(--laranja);
    padding: 1em 2.2em;
    color: var(--branco);
    font-weight: 700;
    text-decoration: none;
}

.card {
    background: var(--branco);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    margin: 1em;
    padding: 1em;
}

.descrição__titulo {
    color: var(--laranja);
    font-weight: 700;
}

.descrição__texto {
    font-size: 14px;
}

.descrição__titulo-livro {
    color: var(--azul);
    font-size: 18px;
    font-weight: 700;
    margin: 0.5em 0;
}
4 respostas

Esqueci de anexar essa parte importante também, está igual ao do projeto:

 <script src="https://unpkg.com/swiper@8/swiper-bundle.min.js"></script>
    <script>
        const swiper = new Swiper('.swiper', {
            spaceBetween: 10,
            slidesPerview: 3,
            pagination: {
                el: '.swiper-pagination',
                type: 'bullets',
            },
        });
    </script>
solução!

Olá Lucas, tudo bem?

Desculpe a demora em retornar.

Pelo que pude observar em seu código, você escreveu slidesPerview com o v minúsculo, que é a forma incorreta de se escrever pois o JavaScript é case sensitive, ou seja, ele distingue entre maiúsculas e minúsculas em nomes de variáveis, funções e outras construções de código.

Então se você corrigir para slidesPerView: 3, o seu código irá funcionar.

Ficando assim seu código:

<script src="https://unpkg.com/swiper@8/swiper-bundle.min.js"></script>
    <script>
        const swiper = new Swiper('.swiper', {
            spaceBetween: 10,
            slidesPerView: 3,
            pagination: {
                el: '.swiper-pagination',
                type: 'bullets',
            },
        });
    </script>

Um abraço e bons estudos.

Passado!! :o

Era só isso mesmo, corrigi aqui e deu certo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Muito obrigado!! <3

Ahh que bom que consegui te ajudar :D.

Se puder marcar o tópico como selecionado depois, assim o fórum fica bem organizado ;)

Um abraço.