Wie lässt sich mit den Bordmitteln ein einfacher Bildwechsler (ohne Bildlegende/Caption) erstellen?
Auf der Webseite von Spectre-CSS, dem Basis-Framework von «Quark», kann die notwendige Gestaltungsvorlage kopiert werden. Gibt man jedoch den kopierten Code in der Eingabeumgebung auf der vorgesehenen Seite ein, speichert sie und betrachtet sie anschliessend im Ansichtsmodus, sieht das Resultat in etwa so aus:
Offensichtlich funktionieren ein paar grundsätzliche Dinge (noch) nicht.
In der Bildwechsler-Kopiervorlage auf der Spectre-Seite ist vorgesehen, dass Bilder per HTML-Befehl eingebunden werden mit dem Nachteil, dass der Pfad später mühsam angepasst werden muss, wenn beispielsweise eine Seite umbenannt wird. Um dies zu verhindern, kann man entweder für die Seite Twig-Verarbeitung ermöglichen oder Markdown in HTML erlauben.
Variante 1: Twig (HTML-Ausdruck durch einen Twig-Befehl ersetzen und Twig-Verarbeitung erlauben)
Folgende HTML-Codezeile, die viermal vorkommt, durch Twig ersetzen und auf die Versuchsbilder anpassen
HTML (original)
<img class="img-responsive rounded" src="img/osx-yosemite.jpg" alt="macOS Yosemite Wallpaper">
Twig (neu)
<img class="img-responsive rounded" title="slide1" alt="slide1" src="{{ page.media['slide1.jpg'].url }}" >
Vollständiger, angepasster Code (kann als Kopiervorlage benützt werden)
<div class="carousel">
<!-- carousel locator -->
<input class="carousel-locator" id="slide-1" type="radio" name="carousel-radio" hidden="" checked="">
<input class="carousel-locator" id="slide-2" type="radio" name="carousel-radio" hidden="">
<input class="carousel-locator" id="slide-3" type="radio" name="carousel-radio" hidden="">
<input class="carousel-locator" id="slide-4" type="radio" name="carousel-radio" hidden="">
<!-- carousel container -->
<div class="carousel-container">
<!-- carousel item -->
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-4"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-2"><i class="icon icon-arrow-right"></i></label>
<img class="img-responsive rounded" title="slide1" alt="slide1" src="{{ page.media['slide1.jpg'].url }}" >
</figure>
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-1"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-3"><i class="icon icon-arrow-right"></i></label>
<img class="img-responsive rounded" title="slide2" alt="slide2" src="{{ page.media['slide2.jpg'].url }}" >
</figure>
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-2"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-4"><i class="icon icon-arrow-right"></i></label>
<img class="img-responsive rounded" title="slide3" alt="slide3" src="{{ page.media['slide3.jpg'].url }}" >
</figure>
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-3"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-1"><i class="icon icon-arrow-right"></i></label>
<img class="img-responsive rounded" title="slide4" alt="slide4" src="{{ page.media['slide4.jpg'].url }}" >
</figure>
</div>
<!-- carousel navigation -->
<div class="carousel-nav">
<label class="nav-item text-hide c-hand" for="slide-1">1</label>
<label class="nav-item text-hide c-hand" for="slide-2">2</label>
<label class="nav-item text-hide c-hand" for="slide-3">3</label>
<label class="nav-item text-hide c-hand" for="slide-4">4</label>
</div>
</div>
Auf die Registerkarte Erweitert wechseln
Überschreibungen -> Verarbeitung -> bei Twig das Häkchen setzen -> Speichern
Die Seite mit dem Bildwechsler erneut im Ansichtsmodus betrachten
Variante 2: Markdown
<img class="img-responsive rounded" src="img/osx-yosemite.jpg" alt="macOS Yosemite Wallpaper">
<div markdown="1">![slide1](slide1.jpg "slide1")</div>
<div class="carousel">
<!-- carousel locator -->
<input class="carousel-locator" id="slide-1" type="radio" name="carousel-radio" hidden="" checked="">
<input class="carousel-locator" id="slide-2" type="radio" name="carousel-radio" hidden="">
<input class="carousel-locator" id="slide-3" type="radio" name="carousel-radio" hidden="">
<input class="carousel-locator" id="slide-4" type="radio" name="carousel-radio" hidden="">
<!-- carousel container -->
<div class="carousel-container">
<!-- carousel item -->
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-4"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-2"><i class="icon icon-arrow-right"></i></label>
<div markdown="1">![slide1](slide1.jpg "slide1")</div>
</figure>
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-1"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-3"><i class="icon icon-arrow-right"></i></label>
<div markdown="1">![slide2](slide2.jpg "slide2")</div>
</figure>
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-2"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-4"><i class="icon icon-arrow-right"></i></label>
<div markdown="1">![slide3](slide3.jpg "slide3")</div>
</figure>
<figure class="carousel-item">
<label class="item-prev btn btn-action btn-lg" for="slide-3"><i class="icon icon-arrow-left"></i></label>
<label class="item-next btn btn-action btn-lg" for="slide-1"><i class="icon icon-arrow-right"></i></label>
<div markdown="1">![slide4](slide4.jpg "slide4")</div>
</figure>
</div>
<!-- carousel navigation -->
<div class="carousel-nav">
<label class="nav-item text-hide c-hand" for="slide-1">1</label>
<label class="nav-item text-hide c-hand" for="slide-2">2</label>
<label class="nav-item text-hide c-hand" for="slide-3">3</label>
<label class="nav-item text-hide c-hand" for="slide-4">4</label>
</div>
</div>
Bildwechsler-Rahmen an Bildgrösse anpassen
Diese Anpassung wird über CSS vorgenommen. Bereits in der Grundinstallation steht eine CSS-Datei zur Verfügung, die für solche Anpassungen vorgesehen ist (custom.css). Wie an anderer Stelle erwähnt, ist es empfehlenswert, mit einem Child-Theme zu arbeiten.
Der Wert, der im CSS eingegeben werden muss, kann anhand der Bildgrösse berechnet werden
.carousel .carousel-container::before {
padding-bottom: 75%;
}
.carousel .carousel-container::before {
padding-bottom: 75%;
}
vorheriger Beitrag nächster Beitrag
Kommentar hinzufügen