Bootstrap 4 Schnellstart – Landingpage Design
In diesem Projekt erstellen wir eine Landingpage für unser neues Produkt. Natürlich soll der Besucher dieser Landing Page sehen, dass wir uns schon mächtig in Bootstrap auskennen.
Wie funktioniert diese Challenge?
- Diese Coding-Challenge besteht aus 4 verschiedenen Aufgaben.
- Jede Aufgabe wird einzeln gelöst und in den untenstehenden Code-Editor eingegeben.
Probleme? Wenn du eine Aufgabe nicht lösen kannst, klicke auf die jeweilige Code-Lösung unter der Aufgabe. Den Code dieser fertigen Lösung kannst du dann kopieren und in den Code-Editor einfügen.
Aber bitte nicht schummeln. Versuche zunächst die Aufgaben selbständig zu lösen 😉
In dieser Challenge erstellen wir eine Landing Page für das Spiel Balloon Bowling. Grundlage ist auch hier das
Starten wir mit der ersten Aufgabe:
1. Carousel mit einem Hintergrund
Anstatt eines Menüs erstellen wir ein Carousel. Ohne Navigation und nur mit einem Bild.
Als Hintergrund verwenden wir folgendes Bild: /assets/img/milkyway.jpg
Dazu eine Überschrift und einen Button mit "Jetzt Spielen".
[lp_spoiler title="Code-Lösung anzeigen (Spoiler)"]
<div class="row">
<div class="col small">
<div id="slider" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="/assets/img/milkyway.jpg" class="d-block w-100">
<div class="carousel-caption d-none d-md-block">
<h1>Balloon Bowling</h1>
<p>”Das beste Spiel des Jahres 2018!”</p>
<a href="#play" class="btn btn-primary btn-xl">Jetzt spielen!</a>
</div>
</div>
</div>
</div>
</div>
</div>
[/lp_spoiler]
2. Anmeldeformular
Erstelle nun ein Formular, damit Spielinteressenten sich eintragen können mit E-Mail-Adresse und Name.
Der Eintragen Button wird nachher benutzt um ein Modal zu öffnen. Deswegen benötigt er eine id "abonnieren".
[lp_spoiler title="Code-Lösung anzeigen (Spoiler)"]
<div class="row" id="play">
<div class="col">
<h2>Anmelden und bei Release Bescheid bekommen!</h2>
<form>
<div class="form-group">
<label for="email">E-Mail Adresse:</label>
<input type="email" class="form-control" id="email" aria-describedby="emailHelp" placeholder="Deine E-Mail">
<small id="emailHelp" class="form-text text-muted">Deine E-Mailadresse wird nur hier verwendet.</small>
</div>
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" placeholder="Dein Vorname">
</div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="check">
<label class="form-check-label" for="check">Ich möchte kontaktiert werden, sobald das Spiel verfügbar ist</label>
</div>
<button id="abonnieren" type="button" class="btn btn-primary">Jetzt Eintragen</button>
</form>
</div>
</div>
[/lp_spoiler]
3. Modal bei Eintragung
Erstelle nun einen schließbaren Modal mit dem Titel "Eintragung läuft..." und einem Spinner.
[lp_spoiler title="Code-Lösung anzeigen (Spoiler)"]
<div id="dialog1" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Eintragung läuft</h5>
<button class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="spinner-border" role="status"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Schließen</button>
</div>
</div>
</div>
</div>
[/lp_spoiler]
4. Modal starten
Nun benötigen wir etwas JavaScript, damit der Modal geöffnet wird.
Dies soll geschehen, sobald auf den Eintragen-Knopf geklickt wird.
[lp_spoiler title="Code-Lösung anzeigen (Spoiler)"]
<script>
$("#abonnieren").click(function() {
$("#dialog1").modal("show");
});
</script>
[/lp_spoiler]
Komplettlösung:
[lp_spoiler title="Code-Lösung anzeigen (Spoiler)"]
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col small">
<div id="slider" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="/assets/img/milkyway.jpg" class="d-block w-100">
<div class="carousel-caption d-none d-md-block">
<h1>Balloon Bowling</h1>
<p>”Das beste Spiel des Jahres 2018!”</p>
<a href="#play" class="btn btn-primary btn-xl">Jetzt spielen!</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row" id="play">
<div class="col">
<h2>Anmelden und bei Release Bescheid bekommen!</h2>
<form>
<div class="form-group">
<label for="email">E-Mail Adresse:</label>
<input type="email" class="form-control" id="email" aria-describedby="emailHelp" placeholder="Deine E-Mail">
<small id="emailHelp" class="form-text text-muted">Deine E-Mailadresse wird nur hier verwendet.</small>
</div>
<div class="form-group">
<label for="name">Name:</label>
<input type="text" class="form-control" id="name" placeholder="Dein Vorname">
</div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="check">
<label class="form-check-label" for="check">Ich möchte kontaktiert werden, sobald das Spiel verfügbar ist</label>
</div>
<button id="abonnieren" type="button" class="btn btn-primary">Jetzt Eintragen</button>
</form>
</div>
</div>
<div class="row">
<div class="col">
<hr>
</div>
</div>
<div class="row">
<div class="col">
Ballon Bowling
</div>
<div class="col">
<a href="#">Links</a>
</div>
<div class="col">
<a href="#">Rechtliches</a>
</div>
</div>
<div id="dialog1" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Eintragung läuft</h5>
<button class="close" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="spinner-border" role="status"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Schließen</button>
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script>
$("#abonnieren").click(function() {
$("#dialog1").modal("show");
});
</script>
</body>
</html>
[/lp_spoiler]