Beiträge im Jahr 2014

background-blend-mode: Hintergründe mischen (CSS3)

will it blend?

Ein schönes neues CSS3-Feature sind die Blendmodi oder Mischmodi. Damit sind Effekte ermöglicht, die man sonst nur von Bildbearbeitungssoftware kennt. In der entsprechenden Spezifikation Compositing und Blending finden sich drei neue CSS-Eigenschaften:

  • mix-blend-mode
  • isolation
  • background-blend-mode

Sehen wir uns im ersten Teil einer kleinen Artikelserie background-blend-mode an.  Im zweiten Teil der Serie geht es dann um mix-blend-mode. Weiterlesen

CSS3: Harte Übergänge bei box-shadow und linear-gradient()

box-shadow und linear-gradient für harte Übergänge

Klassischerweise verwendet man die CSS-Farbverläufe genauso wie die CSS3-Boxschatten, um sanfte Übergänge oder verschwommene Schatten zu realisieren. Man kann sie aber auch zur Erzeugung von harten Übergängen verwenden.
Für Farbverläufe gelingt das, indem man bestimmt, dass eine Farbe bis zu einer Stelle reicht und dann genau an derselben Stelle eine andere Farbe anfängt.

background: linear-gradient(#fff 50%, #040707 50%);

Im echten Einsatz sollten Sie zuerst eine Fallbackfarbe angeben und dann das zusätzlich mit -webkit- doppeln:

background: #040707;
background: -webkit-linear-gradient(#fff 50%, #040707 50%);
background: linear-gradient(#fff 50%, #040707 50%);

Das erzeugt eine gerade Linie, oberhalb der die erste Farbe steht, unterhalb die zweite Farbe.

Weiterlesen

Browserhandling in Compass 1.0

Compass

Was mich häufig am Code, den CSS-Präprozessoren erzeugen, gestört hat, ist die große Anzahl an browserspezifischen Präfixen, die man so heute nicht mehr braucht. Nehmen wir einmal an, man ändert nichts an den Standardeinstellungen und benutzt das Compass-Mixin (von Compass vor Version 1) für border-radius:

@import "compass/css3";
.beispiel {
@include border-radius(25px);
}

… so erhält man das folgende Ergebnis:

.beispiel {
-webkit-border-radius: 25px;
-moz-border-radius: 25px;
-ms-border-radius: 25px;
-o-border-radius: 25px;
border-radius: 25px;
}

Ganz schön viel Code. Dabei gab es nie einen Browser, der -o-border-radius oder -ms-border-radius verstanden hätte, da der Internet Explorer und Opera direkt die Eigenschaft border-radius implementiert haben. Weiterlesen

CSS: 4 Lösungen für eine vertikale Zentrierung bei unbekannter Höhe

vertikal zentriert

Ich freue mich immer, wenn es über CSS3 neue Lösungen für alte Probleme gibt. Die vertikale Zentrierung von Elementen unbekannter Höhe ist so eines. Im Beitrag zeige ich 4 Lösungen – drei setzen auf CSS3, eine auf CSS 2.1. Das Ergebnis dieser vier Lösungen ist immer dasselbe: ein Element unbestimmter Höhe wird in der Mitte der Webseite angezeigt. Die Techniken sind unterschiedlich …

Weiterlesen

Unschöner Text bei CSS3-Transformationen

Textdarstellung bei Transformationen - oben unschön, unten verbessert

Wenn man Textinhalte mit transform dreht, führt das in manchen Browsern wie dem Firefox zu einer unschönen Textdarstellung. Zoltan Dulac, bekannt etwa von seinem Transform Translator, der CSS3-Transformationen in Filterangaben für Uralt-IEs umrechnet, hat eine schöne und – das ist besonders schön – sehr einfache Lösung für das Problem der unschönen Schrift (http://www.useragentman.com/blog/2014/05/04/fixing-typography-inside-of-2-d-css-transforms/). Es genügt, dem Element zusätzlich einen Tick Perspektive zu geben.

Weiterlesen

Responsives Formular

Auch wenn heute kaum noch jemand Tabellen zu Layoutzwecken einsetzt, werden doch noch erstaunlich häufig Tabellen zur Anordnung von Formularelementen benutzt – dabei macht man das besser mit CSS. Die Anordnung einer Beschriftung oberhalb des Formularfelds ist ganz einfach realisiert, für die zweispaltige Darstellung gibt es unterschiedliche Möglichkeiten – eine praktische besteht im Einsatz von display: inline-block.
Im Video zeige ich ein Formular, das dank display: inline-block bei großen Bildschirmen zweispaltig und bei kleinen Viewports mit display: block einspaltig ist.
Das Video ist ein Ausschnitt aus meinem Videotraining für video2brain CSS-Layouts für Fortgeschrittene.

Weiterlesen

Sticky Footer mit variabler Höhe

„Sticky Footer“ nennt man eine Fußzeile, die sich immer unten befindet – auch wenn es nur wenig Inhalt gibt. Zur Realisierung eines Sticky Footer gibt es mehrere Lösungen, allerdings verlangen viele Ansätze, dass die Höhe des Fußbereichs bekannt ist. Bei responsiven Webseiten ist das allerdings oft nicht der Fall: Hier kann es ja leicht sein, dass der Fußbereich bei kleinen Viewports höher wird als bei großen Viewports. Eine Lösung dieser Herausforderung geht über die Verwendung von display: table. Wie das genau funktioniert, zeige ich in folgendem Video. Es ist ein Ausschnitt aus meinem Videotraining CSS-Layouts für Fortgeschrittene, das im Mai 2014 bei Video2brain herausgekommen ist.

Weiterlesen

Videotraining: CSS-Layouts für Fortgeschrittene

CSS-Layouts für Fortgeschrittene

Gerade ist mein neues gut zweistündiges Videotraining bei video2brain/LinkedIn Learning „CSS-Layouts für Fortgeschrittene“ erschienen. Es behandelt weiterführende CSS-Layouttechniken, die über die Anordnung mit float und position hinausgehen: Mit dabei zwei Techniken aus CSS 2.1: Layouts mit display: inline-block oder display: table, und zwei Techniken aus CSS3: das Multicolumn-Layout-Modul und der attraktive Alleskönner Flexbox.

CSS-Layouts für Fortgeschrittene
CSS-Tabellen, Multicolumn-Layout, Flexbox
Laufzeit: 2 Std. 13 min

Weiterlesen

CSS3: Sich wiederholende Farbverläufe

sich wiederholende Farbverläufe - radial und linear

Neben den klassischen Farbverläufen mit linear-gradient() und radial-gradient() gibt es auch mit CSS3 die etwas weniger häufig eingesetzten sich wiederholende Farbverläufe. Dafür existieren die Funktionen repeating-linear-gradient() für wiederholende lineare Farbverläufe und repeating-radial-gradient() für sich wiederholende radiale Farbverläufe.

Weiterlesen

CSS3: Farbverläufe bei Rahmenbildern

Im Firefox ab 29 funktionieren auch Farbverläufe bei Rahmenbildern. Das habe ich zum Anlass genommen, mit diesen Eigenschaften einmal herumzuspielen.

Rahmen mit Farbverläufen

Das Prinzip ist folgendermaßen:

Hinter der CSS3-Eigenschaft border-image notiert man linear-gradient() für einen linearen Farbverlauf oder radial-gradient() für einen radialen. Außerdem bestimmt man, wie der Farbverlauf aufgeteilt werden soll und gibt ein Schlüsselwort wie round, stretch oder repeat an:

border-image: linear-gradient(white, #4972A4) 10% round;

Ein paar Beispiele zum Anschauen und Experimentieren gibt es hier – sie funktionieren im Firefox 29, im Chrome und auch im Internet Explorer 11.

Noch ein wichtiger Hinweis:
Damit die Anzeige des Rahmens klappt, muss man einen border-style definieren – macht man das nicht, funktioniert der Rahmen nicht.