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

As bolinhas não aparecem

Meu código:

Html:

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Alura_Books</title>
    <link rel="stylesheet" href="reset.css">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" />
    <link rel="stylesheet" href="style.css">
</head>

<body>

    <header class="cabecalho">
        <div class="container">
            <input type="checkbox" id="menu" class="container_botao">
            <label for="menu">
                <span class="cabecalho_menu-hamburguer container_imagem"></span>
            </label>

            <ul class="lista-menu">
                <li class="lista-menu_titulo">Categorias</li>
                <li class="lista-menu_item">
                    <a href="#" class="lista-menu_link">Programação</a>
                </li>

                <li class="lista-menu_item">
                    <a href="#" class="lista-menu_link">Front-end</a>
                </li>

                <li class="lista-menu_item">
                    <a href="#" class="lista-menu_link">Infraestrutura</a>
                </li>

                <li class="lista-menu_item">
                    <a href="#" class="lista-menu_link">Business</a>
                </li>

                <li class="lista-menu_item">
                    <a href="#" class="lista-menu_link">Design & UX</a>
                </li>
            </ul>
            <img src="imagens/Logo.svg" alt="Logo da Alura Books">
        </div>
        <div class="container">
            <a href="#"><img src="imagens/Favoritos.svg" alt="Meus favoritos" class="container_imagem"></a>
            <a href="#"><img src="imagens/Compras.svg" alt="Carrinhos de compras" class="container_imagem"></a>
            <a href="#"><img src="imagens/Usuario.svg" alt="Meu perfil" class="container_imagem"></a>
        </div>
    </header>
    <section class="banner">
        <h2 class="banner_titulo">Já sabe por onde começar?</h2>
        <p class="banner_texto">Encontre em nossa estante o que precisa para seu desenvolvimento!</p>
        <input type="search" class="banner_pesquisa" placeholder="Qual será sua próxima leitura?">
    </section>
    <section class="carrossel">
        <h2 class="carrossel_titulo">Novos lançamentos</h2>
        <!-- Slider main container -->
        <div class="swiper">
            <!-- Additional required wrapper -->
            <!-- If we need pagination -->
            <div class="swiper-pagination"></div>
            <div class="swiper-wrapper">
                <!-- Slides -->
                <div class="swiper-slide"><img src="imagens/ApacheKafka.svg"
                        alt="Livro sobre Apache Kafka e spring boot da Alura Books"></div>
                <div class="swiper-slide"><img src="imagens/Liderança.svg"
                        alt="Livro sobre Liderança e design da Alura Books"></div>
                <div class="swiper-slide"><img src="imagens/Javascript.svg"
                        alt="Livro sobre Javascript assertivo da Alura Books"></div>
                <div class="swiper-slide"><img src="imagens/Guia Front-end.svg" alt="Livro Guia de front-end"></div>
                <div class="swiper-slide"><img src="imagens/Portugol.svg" alt="Livro sobre Portugol"></div>
                <div class="swiper-slide"><img src="imagens/Acessibilidade.svg" alt="Livro sobre Acessibilidade"></div>
            </div>

            <!-- If we need navigation buttons -->
            <div class="swiper-button-prev"></div>
            <div class="swiper-button-next"></div>

            <!-- If we need scrollbar -->
            <div class="swiper-scrollbar"></div>
        </div>
    </section>

    <script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
    <script>
        const swiper = new Swiper('.swiper', {
            spaceBetween: 10,
            slidesPerView: 3,
            pagination: {
                el: 'swiper-pagination',
                type: 'bullets',
            }
        });
    </script>
</body>

</html>

Carrossel.css:

.carrossel_titulo {
    color: var(--laranja);
    background-color: var(--cor-de-fundo);
    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: .5em 0;
}
2 respostas
solução!

Oi, Roger, tudo bem?

SwiperJS precisa de um seletor CSS válido (use . para classes) para renderizar a paginação.

A correção é bem simples, basta adicionar o ponto no seletor da paginação:

const swiper = new Swiper('.swiper', {
    spaceBetween: 10,
    slidesPerView: 3,
    pagination: {
        el: '.swiper-pagination', // Correção: Adicionado o ponto antes do nome da classe
        type: 'bullets',
    }
});

Ao fazer esse ajuste, o Swiper encontrará a div com a classe swiper-pagination e as bolinhas do carrossel aparecerão como esperado.

Espero ter ajudado! Bons estudos!

Sucesso

Imagem da comunidade

Obrigado cara, funcionou direitinho aqui =)