Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

B

Bootstrap
CSS-Framework

Bootstrap Version 3

Andreas Klunker – 27.4.2015

 

Inhalt

  1. Eckdaten
  2. Techniken und Konzepte
  3. Framework-Komponenten
  4. Bootstrap in eigene Projekte einbinden
  5. Bootstrap an eigene Bedürfnisse anpassen
  6. Vor- und Nachteile der Verwendung

 

Eckdaten

  • entwickelt von sehr kleinem Team bei Twitter
  • ursprünglich nur für internen Gebrauch
  • veröffentlicht im August 2011 unter MIT-Lizenz
  • eines der beliebtesten Projekte auf Github

Techniken und Konzepte

  • HTML5/CSS3
  • Progressive Verbesserung (engl. progressive enhancement)
  • Responsive Webdesign und Mobile First

Framework-Komponenten

 

CSS-Styling

 

normalize.css

  • CSS-Reset für Cross-Browser-konsistentes Rendering

Typografische Elemente

Inline Text-Elemente

Textausrichtung

Blindtexte von: http://www.blindtextgenerator.de

 

Texttransformation

 

Abkürzungen

Adressen

Zitate

Listen

Definitionslisten

Code

Quelltext

<code>html</code>

<html>

Anm.: verwendetes Syntax-Highlighting in der Präsentation ist prism.js

Tastaturbefehle

Vorformatierter Text

 

Variablen

Ausgaben von Computerprogrammen

 

Tabellen

 

Formulare

Einfaches Beispiel

<form> <div class="form-group"> <label for="username1">Benutzername</label> <input type="text" class="form-control" id="username1" placeholder="kaa01744"> </div> <div class="form-group"> <label for="password1">Password</label> <input type="password" class="form-control" id="password1" placeholder="geheim"> </div> <div class="checkbox"> <label> <input type="checkbox"> Passwort merken </label> </div> <button type="submit" class="btn btn-default">Einloggen</button> </form>

 

 

Mehr zu Formularen: http://getbootstrap.com/css/#forms

Buttons

Elemente, die wie ein Button aussehen können:

<a class="btn btn-default" href="#" role="button">Link</a> <button class="btn btn-default" type="submit">Button</button> <input class="btn btn-default" type="button" value="Input"/> <input class="btn btn-default" type="submit" value="Submit"/>
Link

Klassen für grafische Anzeige von Zuständen:

<button class="btn btn-default"> btn-primary, btn-success, btn-info, btn-warning, btn-danger, btn-link

Größeneinstellung:

<button class="btn btn-default btn-lg"> btn-sm, btn-xs

Bilder

Helferklassen

 

Responsive Grid

 

Untscheidung der Geräteklassen

LargeMediumSmallExtra small
DesktopNotebookTabletSmartphone
≥1200px≥992px≥768px<768px
lgmdsmxs

Raster

  • bis zu 12 Spalten
  • Aufteilung beliebig, Summe muss immer 12 ergeben
  • Raster wird abhängig vom Gerät unterschiedlich definiert

Aufteilung

1 1 1 1 1 1 1 1 1 1 1 1
4 4 4
4 8
6 6
3 6 3
12

 

Zutaten

  • Horizontale Zeilen müssen die Klasse row haben und von einem Element mit der Klasse container umschlossen sein
  • Spalten werden innerhalb der Zeilen über die Klassen col-lg, col-md, col-sm und col-xs definiert
  • am Ende der Spaltenklassen-Namen wird angegeben, wie viele Rastereinheiten die Spalte umspannt
  • es können mehrere Klassen zugleich angegeben (für unterschiedliche Gerätetypen)
  • Klassen skalieren nach oben, z.B. bei gleicher Breite von xs und sm muss nur xs definiert werden
  • bei über 12 Spalten wird umgebrochen

Beispiel: Hauptmenü RVK-Rechnungen

<div class="container"> <div class="row"> <div class="col-sm-6 col-md-3"> [Kunden] </div> <div class="col-sm-6 col-md-3"> [Rechnungen] </div> <div class="col-sm-6 col-md-3"> [Zahlungen] </div> <div class="col-sm-6 col-md-3"> [BKZ] </div> </div> </div>

 

Fixe und volle Breite

<div class="container"> vs. <div class="container-fluid">

Offsets

<div class="col-md-offset-3">

Verschachtelung

<div class="row"> <div class="col-sm-9">Level 1: .col-sm-9 <div class="row"> <div class="col-xs-8 col-sm-6">Level 2: .col-xs-8 .col-sm-6</div> <div class="col-xs-4 col-sm-6">Level 2: .col-xs-4 .col-sm-6</div> </div> </div> </div>

 

Ausführliche Beispiele und Erklärungen zum Grid-System in der Bootstrap-Dokumentation unter: http://getbootstrap.com/css/#grid

Komponenten

Glyphicons

 

Verwendung

<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>

kombiniert mit anderen Elementen

Dropdown-Menü

Beispiel: Navigation RVK-Rechnungen

<div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button"> <span class="glyphicon glyphicon-user"></span> Andreas Klunker <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li role="presentation"> <a role="menuitem" tabindex="-1" href="#">Einstellungen</a> </li> <li role="presentation">...Hilfe...</li> </ul> </div>

Schaltflächengruppen

Buttons:

<div class="btn-group btn-group-lg" role="group" aria-label="..."> <button type="button" class="btn btn-success">Ja</button> <button type="button" class="btn btn-default">Egal</button> <button type="button" class="btn btn-danger">Nein</button> </div>

Buttons + Dropdown-Menüs:

 

Input-Gruppen

Glyphicon + Textfeld

Textfeld + Button

Textfeld + Dropdown-Menü

Textfeld + Checkbox/ Radio-Button

Navigation

Tabs

<ul class="nav nav-tabs"> <li role="presentation" class="active"> <a href="#">Startseite</a> </li> <li role="presentation"> <a href="#">Forschung</a> </li> <li role="presentation"> <a href="#">Studium</a> </li> </ul>

Pills

<ul class="nav nav-pills"> <li role="presentation" class="active"><a href="#">Startseite</a></li> <li role="presentation"><a href="#">Forschung</a></li> <li role="presentation"><a href="#">Studium</a></li> </ul>

Navbar

Beispiel: Navigation RVK-Rechnungen

Brotkrumen

Pagination

Pager

 

Badges

<a href="#">Posteingang <span class="badge">42</span></a>

Posteingang 42

Fortschrittsbalken

<div class="progress"> <div style="width: 60%;" aria-valuemax="100" aria-valuemin="0" aria-valuenow="60" role="progressbar" class="progress-bar"> 60% </div> </div>
60%

Panele

Beispiel: Navigation RVK-Rechnungen

<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Titel</h3> </div> <div class="panel-body"> Inhalt </div> </div>

Well

<div class="well well-sm">...</div>
Wenn das Kind in den Brunnen gefallen ist deckt man ihn zu!

jQuery-Plugins

Modale Dialoge

Scrollspy

Tooltips

Toggelbare Tabs und Pills

  • Verwendung in Verbindung mit Tabs und Pills: Inhalt ändert sich in Abhängigkeit zum angeklickten Tab bzw. Pill
Hat gespielt Mehmet oder gespielt Basler oder hat gespielt Trapattoni? Diese Spieler beklagen mehr als sie spielen! Wissen Sie, warum die Italienmannschaften kaufen nicht diese Spieler? Weil wir haben gesehen viele Male solche Spiel!
Letzte Jahre Meister Geworden mit Hamann, eh, Nerlinger. Diese Spieler waren Spieler! Waren Meister geworden! Ist immer verletzt! Hat gespielt 25 Spiele in diese Mannschaft in diese Verein. Muß respektieren die andere Kollegen!
Mussen zeigen jetzt, ich will, Samstag, diese Spieler müssen zeigen mich, seine Fans, müssen alleine die Spiel gewinnen. Muß allein die Spiel gewinnen! Ich bin müde jetzt Vater diese Spieler, eh der Verteidiger diese Spieler.
Ein Trainer ist nicht ein Idiot! Ein Trainer sei sehen was passieren in Platz. In diese Spiel es waren zwei, drei diese Spieler waren schwach wie eine Flasche leer! Haben Sie gesehen Mittwoch, welche Mannschaft hat gespielt Mittwoch?

Popovers

Collaps

Strunz ich spreche nicht, hat gespielt nur 25 Prozent der Spiel. Ich habe fertig! ...wenn es gab Fragen, ich kann Worte wiederholen...

Akkordion

Das Datenbank-Infosystem (DBIS) ist ein Verzeichnis von Datenbanken. Sie können dort direkt nach einer bestimmten Datenbank suchen oder sich die Datenbanken nach Fachgebieten sortiert anzeigen lassen.
Die Elektronische Zeitschriftenbibliothek (EZB) umfasst rund 80.000 wissenschaftliche Zeitschriftentitel mit Online-Zugang.
Der Publikationsserver ist das Institutionelle Repositorium der Universität Regensburg mit einer wachsenden Sammlung von Publikationen.

Karusell

Mehr zu den Plugins unter http://getbootstrap.com/javascript.

Bootstrap in eigene Projekte einbinden

<!doctype html> <html lang="de"> <head> ... <link href="bootstrap.css" rel="stylesheet" /> </head> <body> ... [<script src="jquery.js"></script>] <script src="bootstrap.js"></script> </body> </html>

Bootstrap an eigene Bedürfnisse anpassen

 

Vor- und Nachteile der Verwendung

Vorteile

  • einfach
  • schnell
  • responsive
  • platformunabhängig, browserangepasst

Nachteile

  • teils nicht "Best Practice"
  • kann mit anderen Framework/ Plugins kollidieren
  • großer Fußabdruck (CSS: 117,3 kB, JS: 36,0 kB)
  • alles sieht gleich aus

 

Danke für die Aufmerksamkeit!