phpundmysql.de

Archiv der Kategorie ‘CSS’

Einen Schritt voraus mit Twitter Bootstrap

Mittwoch, Februar 1st, 2012

Twitter Bootstrap steht schon länger auf der Todo-Liste für unsere kommenden Artikel. Jetzt ist uns der Kurznachrichten-Dienst aber zuvor gekommen und hat Version 2 seines Frameworks rausgebracht - und noch einmal deutlich verbessert und erweitert.

Twitter Bootstrap Responsive Webdesign

Im Grunde ist Bootstrap eine Sammlung von CSS und JavaScript Dateien, die ein ansehnliches, einheitliches Layout mit dazu passenden Funktionalitäten garantiert. Dass eine ganze Menge Inhalt drinsteckt, verrät bereits die Dateigröße: mit 77kb minified CSS und on top 21kb minified JavaScript gehört die Lösung nicht zu den Leichtgewichten. Damit erkauft man sich Ruhe an folgenden CSS-Fronten:

1 - anpassbares Grid - mit 12 Spalten
2 - Templates (und Beispielcode) für fixed und fluid Layouts
3 - Responsive Layouts via Media Queries
4 - Vorgefertigte Typographie, Buttons, Formulare, Tabellen
5 - eingebautes Iconset
6 - Navigation mit Tabs und Breadcrumbs
7 - Thumbnails
8 - Alert-Boxen
9 - Fortschrittsbalken

Hinzu kommt eine Reihe von jQuery Plugins, die das vorige CSS passend in Szene setzen:

1 - Modale Dialoge
2 - Alerts
3 - Tabs, Dropdowns und Collapses für Navigation
4 - Tooltips und Popovers
5 - ScrollSpy
6 - Autocomplete via Typeahead

Twitter bietet für alle Features und Komponenten eine hervorragende Dokumentation auf Github an. Die Features lassen sich dort im Echteinsatz ausprobieren (siehe die eingefügten Screenshots). Wer auch mit Twitter Bootstrap nicht bei Null starten will, kann auf einem der bereitgestellten Beispiele (Marketing Site, Fluid Layout, Starter Template) aufsetzen. Alle benötigten Bestandteile sind darin enthalten.

Twitter Bootstrap Buttons

Wenn sich das alles gut anhört, aber die oben genannten fast 100kb (plus jQuery) abschrecken, so wollen wir noch auf den Customizing Baukasten verweisen. Denn wer genau weiß, dass er nicht alle Features benötigt, kann sich die Bootstrap Dateien passgenau zurechtschneiden, das Grid den Bedürfnissen anpassen und weiter LESS Parameter für Farben und Breiten einstellen. Das schützt einen auch davor, im Nachhinein noch manuell im Code herumfummeln zu müssen.

Twitter Bootstrap Examples

Spaltenlayouts mit CSS

Dienstag, Oktober 25th, 2011

Notification Messages mit CSS3

Sonntag, Oktober 2nd, 2011

Wie man Spalten gleicher Höhe erzwingt

Mittwoch, August 31st, 2011

CSS3 Farbverläufe

Montag, März 21st, 2011

Die Zeit PNG-basierter Farbverläufe könnte eigentlich der Vergangenheit angehören, immerhin ist linear-gradient Teil der W3C-Spezifikation für CSS3. Ganz so weit ist es allerdings noch nicht: um einen einfachen Farbverlauf im Browser hinzubekommen, bedarf es einem Spagat zwischen neuer Syntax und einem kleinen Kunstgriff in die SVG-Trickkiste. Für jede CSS Engine ist eine Sonderlocke dabei, auf den Fallback muss kein Vertreter der aktuellen Browsergeneration mehr zurückgreifen.

background-color: #ff0000; /* Fallback */
background-image:url( gradient.svg );
background-image: -webkit-gradient( linear, 0% 0%, 0% 100%, from( #ff0000 ), to( #0000ff ) );
background-image: -moz-linear-gradient( 100% 100% 90deg, #0000ff, #ff0000 );
filter: progid:DXImageTransform.Microsoft.gradient( GradientType=0, startColorstr=#ff0000, endColorstr=#0000ff );
-ms-filter: "progid:DXImageTransform.Microsoft.gradient ( GradientType=0, startColorstr=#ff0000, endColorstr=#0000ff )";

SVG-Grafik
Die SVG-Grafik wird derzeit nur noch vom Opera benutzt. Die Beta von Opera 11.10 zeigt jedoch eine kommende Unterstützung ähnlich zu Forefox und Webkit: Mit background: -o-linear-gradient ( #0000ff, #ff0000 ); wird vorübergehend eine Hersteller-eigene Syntax geschaffen, bis der CSS3 Standard für Farbverläufe gesettelt ist.
Neben Opera können auch die Webkits und der IE9 mit SVGs umgehen, nur der Firefox mag das nicht richtig verstehen. Da eine reine CSS Lösung allerdings das Ziel sein sollte, wollen wir nicht darauf hin arbeiten.
Wer trotzdem diesen Weg wählen will oder muss, kann mit diesem grundlegenden Beispiel einer gradient.svg starten.

<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
  <linearGradient id="grad" x1="0" y1="0" x2="0" y2="100%">
    <stop offset="0" stop-color="#ff0000" />
    <stop offset="1" stop-color="#0000ff" />
  </linearGradient>
</defs>
<rect x="0" y="0" width="100%" height="100%" style="fill:url(#grad)" />
</svg>

Browser-eigene Syntax
Wie bei neuen CSS-Features üblich, implementieren die Browser-Hersteller spezifische Syntax, solange sich der CSS3-Standard noch in Abstimmung befindet. Die Webkits (Safari, Chrome) nutzen dabei das Präfix -webkit, Firefox kommt mit einem -moz daher. Ansonsten orientiert sich die Syntax schon stark an dem Proposal der W3C. Microsoft setzt wiedrum auf die hauseigenen Filter, was es schwer macht, die Schreibweise im Kopf zu behalten. Darüber ist die Umsetzung für den IE ein Zweizeiler - nicht gerade kurz.

Aus- und Umwege
Egal wie man es macht, man kann es nicht allen recht machen. Mal mit SVG, mal ohne, außerdem überlappen sich die Implementierungen. Man kann sich also entweder auf SVG mit einem Sonderweg für den Firefox begnügen, oder aber mit mannigfacher Syntax und einem Opera-Umweg. Aus zweierlei Gründen erscheint der letzte Ausweg charmanter: Zum einen ist der Opera nicht so verbreitet, so dass man sich besser nach dem FF richten kann. Zum zweiten wollen wir ja weg von eigenen Grafikdateien für Hintergünde. Und zu guter letzt müssen wir nur noch kurze Zeit warten, bis der Opera lineare Farbverläufe nativ abbildet.

CSS Vorlagen für mehrspaltige Layouts

Donnerstag, Januar 27th, 2011

Bekommt CSS3 Variablen?

Samstag, Januar 22nd, 2011

Browser spezifische Styles mit CSSUserAgent

Donnerstag, Januar 13th, 2011

CSS3 per Wizard erstellen

Samstag, September 18th, 2010

Eigentlich ist es doch schade: die Implementierung von Pseudo-Standards greift bei den Browserherstellern um sich wie noch nie. Plötzlich setzen alle auf die neuen Features und erleichtern dem Webentwickler das mühevolle Hantieren mit Workarounds und Browserweichen. In Sachen CSS3 kochen aber viele ihr eigenes Süppchen, etwa der Firefox oder Webkit. Für runde Ecken muss man also zwischen

-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;

unterscheiden. Wer sich diese Handarbeit ersparen will, kann sich das CSS online unter CSS3Maker erstellen lassen.

CSS3Maker liefert nicht nur den CSS Code für alle gängigen Browser an, sondern zeigt auch in Form eines Beispiels an, wie die gemachten Einstellungen im aktuellen Browser aussehen werden und ab welcher Version die unterschiedlichen Browser diesen Code interpretieren können. Bemerkenswert ist, dass hier nicht nur die gängigen PC Browser (Firefox, IE, Safari, Opera, Chrome) enthalten sind, sondern auch mobile Clients wie das iPhone oder der Blackberry.

CSS3 im Internet Explorer ab Version 6

Freitag, August 13th, 2010

HTC Komponenten lassen sich über das browserspezifische CSS Attribut behavior im Internet Explorer einbinden. Die übrigen Browser interpretieren diese Angabe nicht. So kann man dem IE neue Funktionen beibringen, neben CSS3 beispielsweise auch die Transparenz von PNG Grafiken. Die Definiton ist denkbar einfach - sie wird direkt im CSS integriert:

img {
  behavior: url(iepngfix.htc);
}

Das obige Beispiel bezieht sich auf transparente PNGs.
Die HTC Komponenten für CSS3 werden auf CSS3 PIE sehr anschaulich erklärt. Dort findet man auch die 28KB große Datei zum Runterladen. Weniger illustrativ, aber ebenso wirkungsvoll ist die Alternative von Nick Fetchak (12KB). Die Komponenten bringen dem Microsoft Browser die CSS Eigenschaften border-radius, box-shadow und linear-gradient bei.
Der Vorteil von CSS3 PIE ist, dass man mit wenigen Klicks das notwendige CSS für alle Browser (FF, WebKits und natürlich IE) zusammengestellt hat und es in seinen Code kopieren kann. Die Komponente steht alternativ unter der Apache2 und der GPL2 License. Einem Einsatz - auch in proprietärem Umfeld - steht damit nichts im Wege.

Weiterführende Links
CSS3 PIE: http://css3pie.com
IE-CSS3 von Nick Fetchak: http://www.fetchak.com/ie-css3
Referenz zu HTC Komponenten: http://reference.sitepoint.com/css/behavior
HTC für den Firefox: http://www.html-world.de/program/dhb_5.php
HTC für transparente PNG Grafiken: http://www.twinhelix.com/css/iepngfix