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
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<div id="photo-slider" class="carousel slide" data-ride="carousel" style="width: 100%;">
<div class="carousel-container">
   <!-- Indicators -->
   <!-- Slide 1 -->
   <ol class="carousel-indicators">
   <div class="carousel-slide active">
     {{#if: {{{Slide1}}} | <li data-target="#photo-slider" data-slide-to="0" class="active"></li> }}
     [[File:Imagem1.jpg|center|class=img-fluid|alt=Descrição da Imagem 1|style=width:100%;]]
    {{#if: {{{Slide2}}} | <li data-target="#photo-slider" data-slide-to="1"></li> }}
    <div class="carousel-caption">
    {{#if: {{{Slide3}}} | <li data-target="#photo-slider" data-slide-to="2"></li> }}
      <a href="https://wikifavelas.com.br/Link1" style="color:white; font-weight:bold; text-decoration:none;">Título do Slide 1</a>
     {{#if: {{{Slide4}}} | <li data-target="#photo-slider" data-slide-to="3"></li> }}
      <p style="color:white;">Descrição breve do slide 1</p>
   </ol>
     </div>
   </div>


   <!-- Slides -->
   <!-- Slide 2 -->
   <div class="carousel-inner">
   <div class="carousel-slide">
     {{#if: {{{Slide1}}} |
     [[File:Imagem2.jpg|center|class=img-fluid|alt=Descrição da Imagem 2|style=width:100%;]]
    <div class="carousel-item active">
    <div class="carousel-caption">
      [[File:{{{Slide1Image}}}|class=img-fluid|alt={{{Slide1Alt}}}|style=width:100%;height:auto;]]
      <a href="https://wikifavelas.com.br/Link2" style="color:white; font-weight:bold; text-decoration:none;">Título do Slide 2</a>
      <div class="carousel-caption d-md-block" style="background-color: rgba(0, 0, 0, 0.6); padding: 10px; border-radius: 5px;">
      <p style="color:white;">Descrição breve do slide 2</p>
        <a href="{{{Slide1Link}}}" style="color:white; text-decoration:none; font-size: 1.5rem; font-weight: bold;">{{{Slide1Title}}}</a>
        <p style="color:white; font-size:1rem;">{{{Slide1Description}}}</p>
      </div>
     </div>
     </div>
    }}
  </div>
    {{#if: {{{Slide2}}} |
 
    <div class="carousel-item">
  <!-- Slide 3 -->
      [[File:{{{Slide2Image}}}|class=img-fluid|alt={{{Slide2Alt}}}|style=width:100%;height:auto;]]
  <div class="carousel-slide">
      <div class="carousel-caption d-md-block" style="background-color: rgba(0, 0, 0, 0.6); padding: 10px; border-radius: 5px;">
    [[File:Imagem3.jpg|center|class=img-fluid|alt=Descrição da Imagem 3|style=width:100%;]]
        <a href="{{{Slide2Link}}}" style="color:white; text-decoration:none; font-size: 1.5rem; font-weight: bold;">{{{Slide2Title}}}</a>
    <div class="carousel-caption">
        <p style="color:white; font-size:1rem;">{{{Slide2Description}}}</p>
      <a href="https://wikifavelas.com.br/Link3" style="color:white; font-weight:bold; text-decoration:none;">Título do Slide 3</a>
      </div>
      <p style="color:white;">Descrição breve do slide 3</p>
    </div>
    }}
    {{#if: {{{Slide3}}} |
    <div class="carousel-item">
      [[File:{{{Slide3Image}}}|class=img-fluid|alt={{{Slide3Alt}}}|style=width:100%;height:auto;]]
      <div class="carousel-caption d-md-block" style="background-color: rgba(0, 0, 0, 0.6); padding: 10px; border-radius: 5px;">
        <a href="{{{Slide3Link}}}" style="color:white; text-decoration:none; font-size: 1.5rem; font-weight: bold;">{{{Slide3Title}}}</a>
        <p style="color:white; font-size:1rem;">{{{Slide3Description}}}</p>
      </div>
    </div>
    }}
    {{#if: {{{Slide4}}} |
    <div class="carousel-item">
      [[File:{{{Slide4Image}}}|class=img-fluid|alt={{{Slide4Alt}}}|style=width:100%;height:auto;]]
      <div class="carousel-caption d-md-block" style="background-color: rgba(0, 0, 0, 0.6); padding: 10px; border-radius: 5px;">
        <a href="{{{Slide4Link}}}" style="color:white; text-decoration:none; font-size: 1.5rem; font-weight: bold;">{{{Slide4Title}}}</a>
        <p style="color:white; font-size:1rem;">{{{Slide4Description}}}</p>
      </div>
     </div>
     </div>
    }}
   </div>
   </div>


   <!-- Controls -->
   <!-- Controles -->
   <a class="carousel-control-prev" href="#photo-slider" role="button" data-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="sr-only">Anterior</span>
  </a>
   <a class="carousel-control-next" href="#photo-slider" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Próximo</span>
  </a>
</div>
</div>
<noinclude>
 
Esta predefinição exibe um carrossel responsivo com imagens, títulos e textos clicáveis.
<style>
Parâmetros:
.carousel-container {
* Slide1, Slide2, Slide3, Slide4: Ative os slides desejados (ex. "sim").
  position: relative;
* SlideXImage: Nome da imagem.
  max-width: 100%;
* SlideXAlt: Texto alternativo para acessibilidade.
  margin: auto;
* SlideXLink: Link clicável.
  overflow: hidden;
* SlideXTitle: Título do slide.
}
* SlideXDescription: Descrição breve.
 
</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>