Individuelle Webentwicklung

Nicht immer ist eine Standardsoftware ausreichend um individuelle Anforderungen gerecht zu werden, wir schaffen Lösungen

Informationen
Bild: Individuelle Webentwicklung

Mit Twitter Bootstrap 2 ist die Webentwicklung ganz leicht

Einfache und flexible HTML, CSS, Javascript Komponente für beliebte Benutzeroberflächen und Interaktionen.

Twitter Bootstrap ist eine Open Source Sammlung von Hilfsmitteln für die Gestaltung von Websites und Webanwendungen. Es enthält auf HTML(5) und CSS(3) basierende Gestaltungsvorlagen für Typografie, Formulare, Buttons, Tabellen, Grid-System, Navigations- und andere Oberflächengestaltungselemente sowie zusätzliche, optionale JavaScript-Erweiterungen. Es ist das populärste Projekt beim Open-Source-Hostingdienst Github und wird unter anderem von der NASA und MSNBC eingesetzt.

Die Entstehung

Bootstrap ist ursprünglich aus dem Vorhaben entstanden, die internen Analyse- und Verwaltungswerkzeuge von Twitter weiterzuentwickeln. Zu diesem Zeitpunkt wurden in dem Unternehmen unterschiedlichste Bibliotheken für die Oberflächenentwicklung eingesetzt, was zu Inkonsistenzen und hohen Wartungsaufwänden führte. Um diesen Herausforderungen zu begegnen, wurde der Fokus des Projekts erweitert:

„… eine sehr kleine Gruppe von Entwicklern und ich haben sich zusammengesetzt um ein neues internes Werkzeug zu gestalten und sahen dabei die Möglichkeit, mehr daraus zu machen. Während des Prozesses stellten wir fest, dass wir dabei waren, etwas zu erschaffen, was wesentlich weitreicherender war, als nur ein weiteres internes Werkzeug. Monate später hielten wir eine frühe Version von Bootstrap in den Händen welche allgemeine Entwurfsmuster und Erkenntnisse innerhalb der Firma dokumentierte.“

– Mark Otto: In seinem persönlichen Blog zur Entwicklung von Bootstrap.

Dabei spielt laut Aussage von Otto die Idee, Designer und Entwickler zusammenzubringen, eine elementare Rolle bei der Entwicklung: „From whiteboarding ideas to coding rough prototypes, collaborating across disciplines is what made Bootstrap successful for internal use at Twitter.“, („Von Skizzieren von Ideen bis hin zur Programmierung grober Prototypen war es die interdisziplinäre Zusammenarbeit, die Bootstrap für die interne Nutzung bei Twitter so erfolgreich gemacht hat“).

Den ersten Einsatz unter realen Bedingungen erfuhr Bootstrap auf Twitters erster Hackweek. Otto zeigte einigen Kollegen, wie sie ihre Entwicklung ihrer Projekte mit Hilfe des Toolkits beschleunigen können. Bei der Präsentation der Ergebnisse zeigte sich, dass dutzende Teams auf das Framework zurückgegriffen hatten. Auf diese Weise trug Bootstrap nicht nur dazu bei, die Entwicklungszeit zu verkürzen, sondern auch ohne Hilfestellung eines dediziierten Designers ein einheitliches Look-and-Feel für die in der Hackweek entstandenen Anwendungen zu erzeugen.

Im August 2011 entschloss sich Twitter, die Ergebnisse der Öffentlichkeit als Open-Source-Projekt zur Verfügung zu stellen. Seitdem hat sich Bootstrap in kürzester Zeit mit fast 4.000 Forks und über 20.000 Beobachtern zum populärsten GitHub-Projekt entwickelt (Stand: Februar 2012).

Merkmale

Bootstrap wurde mit Unterstützung für das relativ junge HTML 5 und CSS 3 entwickelt, weist aber eine Kompatibilität für alle wichtigen Browser auf, inklusive des als veraltet geltenden Internet Explorer 7. Bei der Gewährleistung dieser Kompatibilität kommt das Konzept der Progressiven Verbesserung zum Einsatz. Das bedeutet, dass die grundlegenden Informationen der Webseite oder -anwendung für alle Geräte und Browser zugänglich sind, erweiterte Funktionalitäten jedoch nur den Geräten und Browser zur Verfügung stehen, die diese unterstützen. Deutlich wird dies beispielsweise bei den in CSS 3 eingeführten Eigenschaften für abgerundete Ecken, Farbverläufe und Schatten. Diese werden von Bootstrap trotz der mangelnden Unterstützung durch ältere Webbrowser intensiv eingesetzt. Dabei gewährleistet der semantische Einsatz von HTML und die Implementierung von alternativen Stildefinitionen in den Stylesheets, dass die Informationen und Funktionen der Webseite trotz der fehlenden Funktionalitäten bei älteren Browsern zur Verfügung stehen. Gleiches gilt für die mitgelieferten JavaScript-Komponenten. Diese erweitern den Funktionsumfang des Toolkits, sind jedoch keine Voraussetzung für dessen Einsatz.
Seit Version 2.0 unterstützt Bootstrap zudem die Gestaltung im Sinne des Responsive Designs. Das bedeutet der grafische Aufbau von Webseiten erfolgt dynamisch und unter Berücksichtigung der Eigenschaften das verwendete Gerät (PC, Tablet, Mobiltelefon) mit sich bringt. So passen sich das Grid-Layout und die Oberflächenelemente automatisch der jeweiligen Bildschirmauflösung bzw. Fenstergröße an.
Bootstrap wird als Open-Source angeboten und über Github bereitgestellt. Entwickler sind aufgerufen, sich an dem Projekt zu beteiligen und können auf der Plattform eigene Beiträge leisten.

Funktionsweise und Aufbau

Bootstrap ist modular aufgebaut und besteht im Kern aus einer Reihe von LESS-Stylesheets, welche die einzelnen Komponenten des Toolkits implementieren. Eine Stylesheet namens bootstrap.less inkludiert die Komponenten-Stylesheets. Durch diesen Aufbau kann der Entwickler durch Anpassung der bootstrap-Datei selbst entscheiden, welche Komponenten er in seinem Projekt verwenden möchte.
Anpassungen in eingeschränktem Umfang sind über ein zentrales Konfigurationsstylesheet möglich. In diesem werden unter anderem Angaben zu Schriftart und -größe, Farbe oder den Aufbau des Grid-Layouts gesetzt. Tiefgreifendere Änderungen sind möglich, indem die LESS-Deklarationen von Bootstrap überschrieben werden.
Die Verwendung von LESS als Stylesheetsprache ermöglicht den Einsatz von Variablen, Funktionen und Operatoren, verschachtelten Selektoren sowie so genannten Mixins – die Verwendung von Klassen innerhalb anderer Klassen mit der Option, diese zu parametrisieren. Dadurch kann Codeduplikation vermieden und die Wartbarkeit der Stylesheets erhöht werden. Ein Nachteil ist die fehlende Unterstützung durch Webbrowser. Deshalb ist es erforderlich, dass die Stylesheets manuell, durch den Server oder client-seitig mit Hilfe von Javascript in reguläres CSS kompiliert werden müssen.
Seit der Version 2.0 ist die Konfiguration von Bootstrap auch über eine spezielle „Customize“-Option in der Dokumentation möglich. Dabei wählt der Entwickler über ein Formular die gewünschten Komponenten und passt ggf. die Werte verschiedener Optionen seinen Bedürfnissen an. Das anschließend erzeugte Paket enthält bereits das fertig kompilierte CSS-Stylesheet.

Grundgerüst: Grid-System und Responsive Design

Bootstrap wird standardmäßig mit einem 940 Pixel breiten, zwölfspaltigen Grid-Layout ausgeliefert. Alternativ kann der Entwickler auch ein Layout mit variabler Breite verwenden. Für beide Fälle bietet das Toolkit vier Variationen im Sinne des Responsive Designs an, welche verschiedene Auflösungen und Gerätetypen bedienen: Mobiltelefone, hoch- und querformatige Tablets, sowie PCs mit geringer und hoher (Widescreen-)Auflösung. Dabei passt sich die Breite der Spalten automatisch der zur Verfügung stehenden Fensterbreite an.
Über das Konfigurationsstylesheet hat der Entwickler die Möglichkeit die Anzahl und Breite der Spalten, den Abstand zwischen den Spalten sowie die Gesamtbreite des Layouts seinen Vorstellungen anzupassen.

Bootstrap Responsive-Webdesign

Grundlegendes CSS-Stylesheet

Bootstrap enthält eine Reihe von Stylesheets, welche grundlegende Stildefinitionen für alle wichtigen HTML-Komponenten enthalten. Diese gewährleisten ein browser- und systemübergreifend einheitliches, modernes Erscheinungsbild für die Textformatierung, Tabellen und Formularelemente. Der Entwickler profitiert dabei von den Erfahrungen, die bei der Entwicklung und Gestaltung von Twitter gemacht wurden und kann auf praxiserprobte Gestaltungsentscheidungen und bewährte Entwurfsmuster der Frontendgestaltung zurückgreifen.

Das Bootstrap HTML-Grundgerüst

Wiederverwendbare Komponenten

Ergänzend zu den regulären HTML-Elementen enthält Bootstrap weitere, häufig verwendete Oberflächenelemente. Hierzu gehören unter anderem Buttons mit erweiterter Funktionalität (bspw. Gruppierung von Buttons oder Buttons mit Dropdown-Möglichkeit), Navigationselemente (Navigationslisten und -leisten, horizontale und vertikale Reiter, Brotkrümelnavigation, Paginierung, usw.), Labels, erweiterte typografische Möglichkeiten, Miniaturansichten, Formatierungen für Hinweismeldungen und Fortschrittsbalken.

Bootstrap Buttons auf verschiedene Art und Weise nutzen

JavaScript-Plugins

Die JavaScript-Komponenten von Bootstrap basieren auf dem JavaScript-Framework jQuery. Die im Toolkit enthaltenen Plugins sind dementsprechend jQuery-Plugins. Sie bieten zusätzliche User-Interface-Elemente, wie beispielsweise Dialogfenster, Tooltips und Karussels. Außerdem erweitern sie die Funktionalität einiger vorhandener Oberflächenelemente, darunter zum Beispiel eine Auto-Vervollständigen-Funktion für Eingabefelder.

Bootstrap enthält 12 verschiedene jQuery-JavaScript-Komponente

Verwendung

Um Bootstrap in einer HTML-Seite zu verwenden, muss der Entwickler zunächst eine CSS-Datei aus den heruntergeladenen LESS-Stylesheets kompilieren. Dies kann mit einem eigenen LESS-Compiler geschehen oder über die „Customize“-Funktion in der beiliegenden Bootstrap-Dokumentation.

Einfache und flexible Beispiele, um Entwickler zu motivieren mit Bootstrap zu arbeiten

Anschließend muss die erzeugte CSS-Datei in die HTML-Datei eingebunden werden. Falls auch JavaScript-Komponenten gewählt wurden, müssen diese zusammen mit der jQuery-Bibliothek ebenfalls im HTML-Dokument referenziert werden.
Das folgende Beispiel verdeutlicht die Funktionsweise. Der HTML-Quellcode definiert ein einfaches Suchformular sowie eine Ergebnisliste in Form einer Tabelle. Die Seite besteht aus regulären, semantisch verwendeten HTML-5-Elementen sowie einiger zusätzlicher CSS-Klassenangaben entsprechend der Bootstrap-Dokumentation.[Anmerkung 2] Die Abbildung zeigt die Darstellung des Dokuments im Mozilla Firefox 10.

  • Quelle: Wikipedia

Aktuelle Version

Vor ca. 2 Wochen wurde die neueste Version (v2.0.03) von Twitter Bootstrap veröffentlicht.

Changelog 2.0.3 (14. April 2012)
  • Overhauled the responsive utility classes to simplify required CSS, add !important to all declarations, and use display: inherit in place of display: block to account for different types of elements.
  • Removed > from fluid grid column selectors, meaning every element with a .span* class within a .row-fluid will use percentage widths instead of fixed-pixels.
  • Fixed regression in responsive images support as of 2.0.1. We’ve re-added max-width: 100% to images by default. We removed it in our last release since we had folks complaining about Google Maps integration and other projects, but we’re taking a different stance now on these things and will require developers to make these tweaks on their end.
  • Added variable @navbarBrandColor for the brand element in navbars, which defaults to @navbarLinkColor.
  • Font-family mixins now use variables for their stacks.
  • Fixed an unescaped filter on the .reset-filter() mixin that was causing some errors depending on your compiler.
  • Fixed regression in .form-actions background, which was too dark, by adding a new variable @formActionsBackground and changing the color to #f5f5f5 instead of #eee.
  • Fixed an issue on button group dropdowns where the background color was not using the button’s darker color when the dropdown is open.
  • Generalized and simplified the open dropdown classes while adding smarter defaults. Instead of .dropdown.open, we now use just .open. On the defaults side, all dropdown menus now have rounded corners to start.
  • Improved active .dropdown-toggle styles (for dropdown buttons) by darkening the background and sharpening the inset shadow to match the active state of buttons.
  • Direction of animation on progress bars reversed.
  • Fixed input-prepend/append issue with uneditable inputs: .uneditable-input was being floated and a missing comma meant its border-radius for the append option wasn’t being applied properly.
  • Removed height: auto from img since it was overriding dimensions set via HTML attributes.
  • Fixed an issue of double borders on the top of tables with captions or colgroups.
  • Fixed issue with anchor buttons in the .navbar-text. Instead of a general styling on all anchors within an element with that class, we now have a new class to specifically apply appropriate link color.
  • Added support for @navbarHeight on the brand/project name and nav links for complete navbar height customization.
  • Fixed the black borders on buttons problem in IE7 by removing the border, increasing the line-height, and providing darker background colors.
  • Removed excess padding on .search-query inputs in IE7 since it doesn’t have border-radius.
  • Updated alert messages in Components to use button elements as close icons instead of a. Both can be used, but an a will require href="#" for dismissal on iOS devices.
  • Fixed an issue with prepended/appended inputs in Firefox where select elements required two clicks to toggle the dropdown. Resolved by moving the position: relative to the select by default instead of on :focus.
  • Added a new mixin, .backface-visibility, to help refine CSS 3D tranforms. Examples and explanation of usage can be found on CSS Tricks.
  • Changed specificity of grid classes in responsive layouts under 767px to accurately target input, select, and textarea elements that use .span* classes.
  • Horizontal description lists, .dl-horizontal, now truncate terms that are too long to fit in their fixed-width column. In the < 767px responsive layout, they change to their default stacked layout.
  • Changed tabbable tabs to prevent issues in left and right aligned tabs. .tab-content would not growing to its parent’s full width due to display: table. We removed that and the width: 100% and instead just set overflow: auto to clear the left and right aligned tabs.
  • Updated thumbnails to support fluid grid column sizing.
  • Added > to most of the button group selectors
  • Added new variable, @inputBorderRadius, to all form controls that previously made use of the static 3px value everywhere.
  • Changed the way we do border-radius for tables. Instead of the regular mixin that zeros out all other corners, we specify one corner only so they can be combined for use on single column table headers.
  • Updated Glyphicons Halflings from 1.5 to 1.6, introducing 20 new icons.
  • Added an offset paramater to the .makeColumn.
  • Increased the specificity of all tabbable nav selectors to include .nav-collapse to appropriately scope the responsive navbar behavior.
  • Fixed uneditable inputs: text now cuts off and does not wrap, making it behave just like a default input.
  • Labels and badges are now vertical-align: baseline so they line up with surrounding text.
  • Add jshint support
  • Add travis-ci support w/ headless phantom integration
  • Replace UA sniffing in bootstrap-transitions.js
  • Add MSTransitionEnd event to transition plugin
  • Fix pause method in carousel (shouldn’t restart when hovering over controls)
  • Fix crazy opera bug #1776
  • Don’t open dropdown if target element is disabled
  • Always select last item in scrollspy if you’ve reached the bottom of the document or element
  • Typeahead should escape regexp special chars
  • If interval is false on carousel, do not auto-cycle
  • Add preventDefault support for all initial event types (show, close, hide, etc.)
  • Fix collapse bug in ie7+ for initial collapse in
  • Fix nested collapse bug
  • If transitioning collapse, don’t start new transition
  • Try to autodetect when to use html/text method in tooltip/popovers to help prevent xss
  • Add bootstrap + bootstrap.min.js to gh-pages for @remy and jsbin support
  • Combined badges and labels into a single LESS file, badges-labels.less, to reduce repeated CSS.
  • Separated responsive features into multiple files. We now have a file for each grouping of media queries (tablets and down, tablets to desktops, and large desktops). Additionally, the visible/hidden utility classes and the responsive navbar are in their own files. The output is the same in the compiled CSS, but this should give folks a bit more flexibility.
  • Added a new CSS Tests page in the docs (not in the top nav) for better testing of edge cases and extending the use of standard components.
  • Removed the bootstrap.zip file from the repo and the make process for faster building and a lighter repo. From now on, the zip will only be in the documentation branch.
  • Fixed incorrect use of class instead of ID for tabs example and added documentation for multiple ways of toggling tabs.
  • Fixed required markup listed for the specialized navbar search field.
  • Removed all mention of @siteWidth, a variable no longer in use.
  • Removed mentions of unused @buttonPrimaryBackground variable, which is no longer in use.
  • Updated LESS docs page to include all the new variables we added in previous releases.
  • Removed broken „dropup“ menus from tabs and pills examples (shouldn’t have been there in the first place).
  • Replaced .badge-error with .badge-important. The error option is not a valid class and was a typo in the docs.
  • Fixed mention of how to add plain text to the navbar. Previously the docs stated you only needed a p tag, but the required HTML is any element with class .navbar-text.
  • Clarified the use of .tabbable for tabs. The wrapping class is only required for left and right tabs to clear their floats. Also added mention of .fade to fade in tabs.
  • Updated forms documentation:
    • Remove unnecessary duplicate help text in first example
    • Added mention of required input class, .search-query, for the search form variation
    • Removed incorrect mention of form fields being display: block to start as fields are inline-block to start.
  • Added mention of data-target attribute for the dropdowns javascript plugin to show how to keep custom URLs intact on links with .dropdown-toggle class.
  • Updated the Kippt screenshot on the homepage to reflect their recent responsive redesign and upgrade to 2.0.2.

Download Twitter Bootstrap


Graciously Icon-Set in Twitter Bootstrap

Das Twitter Bootstrap Icon-Set wurde von www.glyphicons.com erstellt.

Einfache und flexible HTML, CSS, Javascript Komponente für beliebte Benutzeroberflächen und Interaktionen.

Dieses Set ist eine abgespeckte Version vom großen kostenpflichtigen Paket. Bei Glyphicons sind 3 verschiedene Icon-Pakte erhältlich, von 400 Free Icons bis hin zu 400 Icons + Vectoren mit jeweiligen Dateiformaten für diverse Bildbearbeitungsprogrammen. In dem kostenslosen Paket sind nur kleine Icons und in dem kostenpflichtigen Paket sind Icons in allen Größen erhältlich.

Für fast jedes Thema ist ein Icon zu finden, modern und einfach gestylt.

10 Webseiten welche mit Bootstrap erstellt sind:

Links zu Twitter Bootstrap: