Malý repozitář pro WTL 3.I 2025/2026
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
skrabanek 22ec18730f add AI material navíc, README popisky všude 10 months ago
..
css bs carousel 11 months ago
img bs carousel 11 months ago
js bs carousel 11 months ago
README.md add AI material navíc, README popisky všude 10 months ago
index.html bs carousel 11 months ago

README.md

16 - Bootstrap Carousel

🎯 Co se naučíte

V této lekci se naučíte vytvářet carousel (slider/slideshow) pomocí Bootstrapu.

📚 Témata lekce

  • Carousel - posuvný slider obrázků
  • Carousel indicators - indikátory snímků (tečky)
  • Carousel controls - ovládací šipky
  • Carousel captions - popisky k obrázkům
  • Auto-sliding - automatické přepínání
  • JavaScript carousel API - ovládání přes JS
  • Data attributes - data-bs-ride, data-bs-slide-to

📂 Soubory v projektu

  • index.html - HTML s carousel komponentou
  • css/bootstrap.css - Bootstrap CSS
  • js/bootstrap.js - Bootstrap JS (DŮLEŽITÝ pro carousel!)
  • images/ - obrázky pro carousel
<div id="carouselExample" class="carousel slide" data-bs-ride="carousel">
    <!-- Indikátory (tečky) -->
    <div class="carousel-indicators">
        <button type="button" data-bs-target="#carouselExample"
                data-bs-slide-to="0" class="active"></button>
        <button type="button" data-bs-target="#carouselExample"
                data-bs-slide-to="1"></button>
        <button type="button" data-bs-target="#carouselExample"
                data-bs-slide-to="2"></button>
    </div>

    <!-- Snímky -->
    <div class="carousel-inner">
        <div class="carousel-item active">
            <img src="slide1.jpg" class="d-block w-100" alt="Slide 1">
            <div class="carousel-caption">
                <h5>První snímek</h5>
                <p>Popis prvního snímku</p>
            </div>
        </div>
        <div class="carousel-item">
            <img src="slide2.jpg" class="d-block w-100" alt="Slide 2">
        </div>
        <div class="carousel-item">
            <img src="slide3.jpg" class="d-block w-100" alt="Slide 3">
        </div>
    </div>

    <!-- Ovládací šipky -->
    <button class="carousel-control-prev" type="button"
            data-bs-target="#carouselExample" data-bs-slide="prev">
        <span class="carousel-control-prev-icon"></span>
    </button>
    <button class="carousel-control-next" type="button"
            data-bs-target="#carouselExample" data-bs-slide="next">
        <span class="carousel-control-next-icon"></span>
    </button>
</div>

🚀 Jak s lekcí pracovat

  1. Otevřete index.html v prohlížeči
  2. Sledujte automatické přepínání snímků
  3. Vyzkoušejte kliknout na šipky (prev/next)
  4. Klikněte na indikátory (tečky) pro přímý přechod
  5. Prozkoumejte HTML - všimněte si data-bs-* atributů
  6. Zkuste přidat další snímek (carousel-item)
  7. Změňte caption texty

💡 Tip pro studenty

Důležité třídy:

  • carousel slide - hlavní wrapper
  • carousel-inner - kontejner pro snímky
  • carousel-item - jednotlivý snímek
  • carousel-item active - aktivní (viditelný) snímek
  • d-block w-100 - obrázek na celou šířku

Data attributes:

<!-- Automatické spuštění -->
data-bs-ride="carousel"

<!-- Přechod na konkrétní snímek -->
data-bs-slide-to="0"  <!-- první snímek (indexováno od 0) -->

<!-- Přechod vpřed/vzad -->
data-bs-slide="prev"  <!-- předchozí -->
data-bs-slide="next"  <!-- další -->

<!-- Interval mezi snímky (v ms) -->
data-bs-interval="5000"  <!-- 5 sekund -->

Bez automatického přepínání:

<div class="carousel slide">  <!-- bez data-bs-ride -->

Fade efekt místo slide:

<div class="carousel slide carousel-fade" data-bs-ride="carousel">

Vlastní interval:

<div class="carousel-item" data-bs-interval="2000">
    <!-- tento snímek se zobrazí 2 sekundy -->
</div>

JavaScript API:

// Získání carousel instance
var myCarousel = document.querySelector('#myCarousel')
var carousel = new bootstrap.Carousel(myCarousel)

// Ovládání
carousel.next()        // další snímek
carousel.prev()        // předchozí snímek
carousel.to(2)         // přechod na snímek 2
carousel.cycle()       // spustit automatické přepínání
carousel.pause()       // pozastavit
<!-- Různé výšky pro různá zařízení -->
<style>
.carousel-item img {
    height: 400px;
    object-fit: cover;
}

@media (max-width: 768px) {
    .carousel-item img {
        height: 250px;
    }
}
</style>

⚠️ Důležité poznámky

  1. První carousel-item musí mít třídu active
  2. Všechny data-bs-target musí odpovídat ID carouselu
  3. Bootstrap.js musí být připojen - carousel funguje na JavaScriptu
  4. Obrázky by měly mít stejné rozměry pro hezký vzhled

🎯 Praktické využití

  • Hlavní stránka - hero slider s produkty
  • Galerie - slideshow fotek
  • Testimonials - recenze zákazníků
  • Portfolio - ukázky projektů

🔗 Související lekce

  • Předchozí: 15_bootstrap_components - Bootstrap komponenty
  • Další: 17_modal - Bootstrap modal
  • Dokumentace: Bootstrap Carousel