Dank CSS3 ist es nun auch möglich, Webseiten ohne Flash, animierte GIFs oder JavaScript zu animieren. So ist der Genuss von Effekten ohne Plugin oder unzählige HTTP-Requests möglich, während der Einbau dennoch ohne komplexe Script-Konstruktionen möglich ist. Wenn diese Möglichkeiten geschickt genutzt werden, dann können sie einen wirklichen Mehrwert für das WWW darstellen. Hoffentlich wird durch sie aber nicht eine neue Generation Beepworld-Seiten (Achtung, Ironie!) geboren. Daher sollte nur derjenige weiterlesen, der seriöse gestalterische Ziele verfolgt. 😉 Continue reading „CSS3: transition (Übergänge für sanfte Animationen)“
Grafik-Export aus PowerPoint mit 307 dpi
Mittlerweile habe ich es schon häufiger erlebt, dass für eine Publikation Grafiken verwendet werden sollten, die zuvor in PowerPoint erstellt wurden. Während die Folien in einer Präsentation auf dem Bildschirm oder via Beamer einen hervorragenden Eindruck machen, folgt beim Druck schnell die Ernüchterung. Denn leider verwendet der Grafik-Export von PowerPoint grundsätzlich eine Auflösung von 96 dpi, die für Druckvorhaben in der Regel unzureichend ist. Glücklicherweise bedeutet dies nicht, dass man nun alle eigentlich bereits vorhandenen Grafiken für ein Buch, eine Broschüre oder ein sonstiges Print-Produkt komplett neu erstellen muss. Stattdessen kann man die Auflösung mit einem kleinen Griff in die Registry hochschrauben und anschließend doch auf das PowerPoint-Material zurückgreifen. Voraussetzung ist eine PowerPoint-Version ab 2003. Continue reading „Grafik-Export aus PowerPoint mit 307 dpi“
HTML5: Web Storage (Local und Session Storage)
Mit den DOM-Objekten localStorage und sessionStorage serviert HTML5 uns eine wunderbare Alternative zu den bisherigen Cookies. Zunächst werden die Daten dadurch nicht mehr bei jedem Request vollständig mitgesendet, was so manche Kopfschmerzen bei der Performance-Optimierung von Webseiten ersparen sollte. Außerdem werden die Begrenzungen von Cookies aufgehoben, denn via Web Storage können abhängig vom Limit des Browsers mehrere Megabyte Daten gespeichert werden. In diesem Artikel stelle ich die neuen Möglichkeiten vor, die übrigens von allen modernen Browsern inkl. dem Internet Explorer 8 unterstützt werden, vor. Continue reading „HTML5: Web Storage (Local und Session Storage)“
CSS3: transform (Lineare Transformationen)
Eine hochinteressante, neue Eigenschaft in CSS3 ist transform. Sie ermöglicht lineare Transformationen beliebiger Seitenelemente, d.h. wir können sie verschieben, rotieren, skalieren und scheren. Auf den ersten Blick wirkt das Konzept recht kompliziert und mag so manchen abschrecken, der von Vektoren und Matrizen Ausschlag bekommt. In Wirklichkeit ist es aber gar nicht so kompliziert, zumal es gesonderte Funktionen gibt, die sich intuitiv nutzen lassen, und die die Matrix vor den Augen des Designers verbergen. Auch diese neue Eigenschaft wird von allen modernen Browsern, abgesehen vom IE, bereits unterstützt. Continue reading „CSS3: transform (Lineare Transformationen)“
CSS3: border-radius (abgerundete Ecken)
Neben den neuen Schatteneffekten liefert CSS3 mit der Eigenschaft border-radius eine weitere Gestaltungsmöglichkeit, die zuvor nur mit Trickserei und Grafiken umzusetzen war. Endlich lassen sich so mit den Bordmitteln des Browsers abgerundete Ecken erzeugen, was z.B. in geschickter Kombination mit Schatten für anspruchsvolle, plastische Layouts verwendet werden kann. Auch border-radius wird mittlerweile von allen modernen Browsern, abgesehen vom IE, unterstützt. Continue reading „CSS3: border-radius (abgerundete Ecken)“
CSS3: color (Farben) mit Farbtabellen
Mit CSS3 bekommen Webdesigner neue Möglichkeiten, um Farben zu definieren. Dadurch gibt es natürlich nicht schlagartig mehr Farben, aber sie können je nach Einsatzgebiet einfacher verwendet werden. Hinzu kommt Alphatransparenz, die ansprechende Transparenzeffekte ohne den Einsatz von Grafiken ermöglicht. Dieser Beitrag erklärt die neuen Farbnotationen und liefert einige Beispiele und Farbtabellen. Continue reading „CSS3: color (Farben) mit Farbtabellen“
CSS3: box-shadow (Schatten)
Dank CSS3 erhalten Webdesigner endlich die Möglichkeit, ansehliche Schatteneffekte ohne Grafiken zu verwirklichen. Somit können Webseiten optisch geschickt aufgewertet werden, ohne den Quelltext unnötig kompliziert zu gestalten und ohne zusätzlichen Datenballast zu erzeugen. Die dazu notwendige Eigenschaft box-shadow wird mittlerweile abgesehen vom IE8 von allen modernen Browsern unterstützt. Continue reading „CSS3: box-shadow (Schatten)“
Code-Snippet: XMLHttpRequest
Eine moderne Web-Anwendung kommt heutzutage kaum noch ohne die Möglichkeit aus, Inhalte dynamisch nachzuladen. Die bekannten JavaScript-Frameworks berücksichtigen dies natürlich, aber für eine nachzuladene Kleinigkeit sind solche umfangreiche Lösungen natürlich wie die sprichwörtlichen Kanonen, um auf Spatzen zu schießen. Mittels XMLHttpRequest ist eine dynamische Abfrage aus JavaScript heraus keine Zauberei. Im folgenden Code-Snippet ist eine ganz einfache Beispielanwendung zu sehen. Continue reading „Code-Snippet: XMLHttpRequest“
Entwurfsmuster: Singleton
Objektorientierung ist in der heutigen Programmierung das „ganz große Ding“. Alles, womit man arbeitet, wird entsprechend durch Klassen abgebildet, die eine gewisse Struktur vorgeben, wiederverwendbar sind und durch Vererbung auch erweitert werden können. Es ist aber nicht immer ratsam, für jede Anwendung eines Konzeptes jeweils ein neues Objekt zu erzeugen. In bestimmten Fällen kann es sogar durchaus sinnvoll sein, aus einer bestimmten Klasse während der Laufzeit nur ein einzelnes Objekt zu erzeugen. Um genau das zu erleichtern, kann man das Singleton-Erzeugungsmuster verwenden. Dieser Beitrag erklärt anhand von PHP5-Beispielen, wie es funktioniert. Continue reading „Entwurfsmuster: Singleton“
Gestaltgesetze #6: Gemeinsame Bewegung
Es wird wieder einmal Zeit für einen neuen Artikel aus der Reihe „Gestaltgesetze“. Nachdem wir uns in Teil 5 das Gesetz der Geschlossenheit angesehen haben, soll nun ein wenig Bewegung in die ganze Sache kommen. Continue reading „Gestaltgesetze #6: Gemeinsame Bewegung“