Predefinição:CarrousselAvancado: mudanças entre as edições

Por equipe do Dicionário de Favelas Marielle Franco
Sem resumo de edição
Sem resumo de edição
 
(13 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<div class="carousel-container">
  <!-- Slide 1 -->
  <div class="carousel-slide active">
    [[File:Imagem1.jpg|center|class=img-fluid|alt=Descrição da Imagem 1|style=width:100%;]]
    <div class="carousel-caption">
      <a href="https://wikifavelas.com.br/Link1" style="color:white; font-weight:bold; text-decoration:none;">Título do Slide 1</a>
      <p style="color:white;">Descrição breve do slide 1</p>
    </div>
  </div>


  <!-- Slide 2 -->
  <div class="carousel-slide">
    [[File:Imagem2.jpg|center|class=img-fluid|alt=Descrição da Imagem 2|style=width:100%;]]
    <div class="carousel-caption">
      <a href="https://wikifavelas.com.br/Link2" style="color:white; font-weight:bold; text-decoration:none;">Título do Slide 2</a>
      <p style="color:white;">Descrição breve do slide 2</p>
    </div>
  </div>


<div id="carouselExample" class="carousel slide" data-bs-ride="carousel" style="width: 100%; max-width: 800px;">
   <!-- Slide 3 -->
   <div class="carousel-inner">
  <div class="carousel-slide">
    <!-- Slide 1 -->
    [[File:Imagem3.jpg|center|class=img-fluid|alt=Descrição da Imagem 3|style=width:100%;]]
    <div class="carousel-item active">
    <div class="carousel-caption">
      [[File:{{{Imagem1}}}|class=img-fluid|alt={{{Titulo1}}}|style=width:100%;height:auto;]]
      <a href="https://wikifavelas.com.br/Link3" style="color:white; font-weight:bold; text-decoration:none;">Título do Slide 3</a>
      <div class="carousel-caption d-none d-md-block">
      <p style="color:white;">Descrição breve do slide 3</p>
        <h5><a href="{{{Link1}}}" style="color: white; text-decoration: none;">{{{Titulo1}}}</a></h5>
        <p><a href="{{{Link1}}}" style="color: white; text-decoration: none;">{{{Texto1}}}</a></p>
      </div>
    </div>
    <!-- Slide 2 -->
    <div class="carousel-item">
      [[File:{{{Imagem2}}}|class=img-fluid|alt={{{Titulo2}}}|style=width:100%;height:auto;]]
      <div class="carousel-caption d-none d-md-block">
        <h5><a href="{{{Link2}}}" style="color: white; text-decoration: none;">{{{Titulo2}}}</a></h5>
        <p><a href="{{{Link2}}}" style="color: white; text-decoration: none;">{{{Texto2}}}</a></p>
      </div>
    </div>
    <!-- Slide 3 (repita para mais slides) -->
    {{#if: {{{Imagem3|}}} |
    <div class="carousel-item">
      [[File:{{{Imagem3}}}|class=img-fluid|alt={{{Titulo3}}}|style=width:100%;height:auto;]]
      <div class="carousel-caption d-none d-md-block">
        <h5><a href="{{{Link3}}}" style="color: white; text-decoration: none;">{{{Titulo3}}}</a></h5>
        <p><a href="{{{Link3}}}" style="color: white; text-decoration: none;">{{{Texto3}}}</a></p>
      </div>
     </div>
     </div>
    }}
   </div>
   </div>
   <!-- Controles -->
   <!-- Controles -->
   <button class="carousel-control-prev" type="button" data-bs-target="#carouselExample" data-bs-slide="prev">
   <a class="carousel-prev" onclick="plusSlides(-1)">&#10094;</a>
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
   <a class="carousel-next" onclick="plusSlides(1)">&#10095;</a>
    <span class="visually-hidden">Anterior</span>
   </button>
  <button class="carousel-control-next" type="button" data-bs-target="#carouselExample" data-bs-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="visually-hidden">Próximo</span>
  </button>
</div>
</div>
<div class="clearfix"></div>


<noinclude>
<style>
Esta predefinição cria um carrossel com imagens, títulos e textos clicáveis usando Bootstrap.
.carousel-container {
Parâmetros:
  position: relative;
* `Imagem1`, `Titulo1`, `Texto1`, `Link1` - Configuração para o primeiro slide.
  max-width: 100%;
* `Imagem2`, `Titulo2`, `Texto2`, `Link2` - Configuração para o segundo slide.
  margin: auto;
* (Adicione mais slides conforme necessário).
  overflow: hidden;
* Tá responsivel, galera :)
}
</noinclude>
 
.carousel-slide {
  display: none;
  position: relative;
  text-align: center;
}
 
.carousel-slide.active {
  display: block;
}
 
.carousel-caption {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0, 0, 0, 0.6);
  padding: 10px;
  border-radius: 5px;
}
 
.carousel-prev, .carousel-next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  user-select: none;
}
 
.carousel-prev {
  left: 0;
}
 
.carousel-next {
  right: 0;
}
</style>
 
<script>
let currentSlide = 0;
function showSlide(n) {
  const slides = document.querySelectorAll('.carousel-slide');
  slides.forEach((slide, index) => {
    slide.style.display = (index === n) ? 'block' : 'none';
  });
}
 
function plusSlides(n) {
  const slides = document.querySelectorAll('.carousel-slide');
  currentSlide = (currentSlide + n + slides.length) % slides.length;
  showSlide(currentSlide);
}
 
// Inicializar o carrossel
document.addEventListener('DOMContentLoaded', () => {
  showSlide(currentSlide);
});
</script>

Edição atual tal como às 16h42min de 24 de novembro de 2024

<style> .carousel-container {

 position: relative;
 max-width: 100%;
 margin: auto;
 overflow: hidden;

}

.carousel-slide {

 display: none;
 position: relative;
 text-align: center;

}

.carousel-slide.active {

 display: block;

}

.carousel-caption {

 position: absolute;
 bottom: 10%;
 left: 50%;
 transform: translateX(-50%);
 background-color: rgba(0, 0, 0, 0.6);
 padding: 10px;
 border-radius: 5px;

}

.carousel-prev, .carousel-next {

 cursor: pointer;
 position: absolute;
 top: 50%;
 width: auto;
 padding: 16px;
 margin-top: -22px;
 color: white;
 font-weight: bold;
 font-size: 18px;
 user-select: none;

}

.carousel-prev {

 left: 0;

}

.carousel-next {

 right: 0;

} </style>

<script> let currentSlide = 0; function showSlide(n) {

 const slides = document.querySelectorAll('.carousel-slide');
 slides.forEach((slide, index) => {
   slide.style.display = (index === n) ? 'block' : 'none';
 });

}

function plusSlides(n) {

 const slides = document.querySelectorAll('.carousel-slide');
 currentSlide = (currentSlide + n + slides.length) % slides.length;
 showSlide(currentSlide);

}

// Inicializar o carrossel document.addEventListener('DOMContentLoaded', () => {

 showSlide(currentSlide);

}); </script>