Alle Artikel in: Codeschnipsel

CSS Spaltenbreite

CSS Secrets 3/3: Spaltenbreiten in Tabellen zähmen

In ihrem Buch „CSS Secrets“ versammelte die international bekannte CSS-Spezialistin Lea Verou 47 Techniken, wie sich mit elegantem, klarem CSS-Code typische Webdesign-Probleme lösen lassen. Drei dieser Code-Schnipsel veröffentlichen wir im oreillyblog. Auf Silbentrennung und Checkbox-Design folgt “Spaltenbreite in Tabellen zähmen”.  Das Problem Auch wenn wir schon vor langer Zeit aufgehört haben, Tabellen für das Layout zu benutzen, haben sie auch auf modernen Websites noch ihre Berechtigung. Tabellen werden benutzt, um tabellarische Daten (Statistiken, E-Mails, Listen von Dingen mit vielen Metadaten und vieles andere) darzustellen. Außerdem können wir andere Elemente dazu bringen, sich wie Tabellenelemente zu verhalten, indem wir die tabellenspezifischen Schlüsselwörter für die Eigenschaft display verwenden. Obwohl ihre Benutzung gelegentlich sehr bequem zu sein scheint, ist das Layout von Tabellen bei dynamischen Inhalten nur schwer vorherzusagen. Der Grund ist, dass die Spaltenbreite dem vorhandenen Inhalt angepasst wird, wobei selbst explizite width-Angaben eher als eine Art Empfehlung interpretiert werden, wie in Abbildung 7.5 zu sehen ist.   Aus diesem Grund benutzen wir oft andere Elemente für tabellarische Daten, oder wir finden uns damit ab, nicht alles vorhersagen zu können. …

CSS Checkboxen

CSS Secrets 2/3: Eigenes Design für Checkboxen

In ihrem Buch „CSS Secrets“ versammelte die international bekannte CSS-Spezialistin Lea Verou 47 Techniken, wie sich mit elegantem, klarem CSS-Code typische Webdesign-Probleme lösen lassen. Drei dieser Code-Schnipsel veröffentlichen wir im oreillyblog. Nach Silbentrennung geht es heute um Checkbox-Designs. Problem Designer wollen möglichst jedes Website-Element genau kontrollieren. Müssen Grafikdesigner mit beschränkter CSS-Erfahrung ein Website-Mockup erstellen, haben die Formularelemente fast immer ein Design, bei dem sich der CSS-Entwickler am liebsten die Haare ausreißen würde. Aus Gründen der Lesbarkeit sprechen wir in diesem Secret von Checkboxen (oder „Ankreuzfelder“). Trotzdem lässt sich alles hier Besprochene nicht nur auf Checkboxen, sondern auch auf Radiobuttons anwenden, falls nicht anders vermerkt. Als CSS eingeführt wurde, waren Stildefinitionen für Formulare nur sehr beschränkt nutzbar. Selbst heute sind sie in den verschiedenen CSS-Spezifikationen nicht besonders klar formuliert. Allerdings haben die Browser im Laufe der Jahre immer mehr CSS-Eigenschaften für Formularelemente zugelassen, wodurch es inzwischen recht große Gestaltungsmöglichkeiten gibt. Leider gehören Checkboxen und Radiobuttons nicht zu diesen Formularelementen. Bis heute ermöglichen die meisten Browser so gut wie keine Stildefinitionen. Als Folge finden sich die Website-Autoren entweder mit dem …

CSS Secrets Silbentrennung

CSS Secrets 1/3: Silbentrennung

In ihrem Buch „CSS Secrets“ versammelte die international bekannte CSS-Spezialistin Lea Verou 47 Techniken, wie sich mit elegantem, klarem CSS-Code typische Webdesign-Probleme lösen lassen. Drei dieser Code-Schnipsel veröffentlichen wir nun im oreillyblog. Wir beginnen mit CSS Secret Nr. 20 aus dem Kapitel “Typografie”: Silbentrennung.  Das Problem Designer lieben Blocksatz. Wenn Sie sich ein beliebiges, gut designtes Magazin oder Buch ansehen, ist er ständig zu sehen. Im Web wird der Blocksatz dagegen eher selten verwendet und von geschickten Designern eher noch weniger. Warum ist das so, obwohl wir doch schon seit CSS 1 text-align: justify; definieren können? Der Grund wir klar, wenn Sie sich die folgende Abbildung ansehen. Typografen sprechen hier von einem “Gießbach” aus Leerraum, der entsteht, wenn die Wortabstände angepasst werden müssen, um den Blocksatz zu erzeugen. Das sieht nicht nur unschön aus, es behindert auch die Lesbarkeit. Im Druck geht der Blocksatz Hand in Hand mit der Silbentrennung. Durch das Fortführen eines Worts auf der folgenden Zeile muss deutlich weniger Leerraum eingefügt werden, wodurch der Text wesentlich natürlicher wirkt. Lösungen für die Silbentrennung im Web gibt es einige. Allerdings …

Der twitternde Tiefkühlschrank

Ein Gastbeitrag von Torsten Dillenburg Als Papa eines kleinen Jungen muss man ja viel mitmachen. Ständig klaut der Sohn einem das iPad, um The Big Bang Theory zu schauen, oder er verstellt am iMac die Auflösung. Und letztens hat dann mein geliebter Filius die Küche für sich endeckt. War ja auch klar. 1. kommt da das lecker Essen her und 2. gibt es dort viele Knöpfe zu drücken. Zum Glück hat der Induktionsherd eine Kindersicherung! Aber den Tiefkühlschrank hat’s erwischt… Ein vernünftiger Dreijähriger muss natürlich auf den leuchtend grünen Knopf drücken: Und außerdem die Tür öffnen (diese Kraft, erstaunlich). Leider funktioniert der Temperaturalarm nur dann, wenn der Tiefkühlschrank auch eingeschaltet ist. Zugegeben, das musste ja alles mal abgetaut werden, aber doch nicht so! Nachdem die letzten Fischstäbchen ihr Seepferdchen gemacht hatten, der Rest an brauchbaren Nahrungsmitteln verputzt und die Küche wieder trocken gelegt war stand für mich fest: Das geht so nicht weiter! Was man zur Risikominimierung braucht ein Raspberry Pi Model B eine SD Karte (mindestens Class 10 mit 8GB) einen DS18B20-Temperatursensor einen 4,7k Ohm-Widerstand eine USB Tastatur …

Zum Frühlingsbeginn: Einfache Funktionsdefinitionen in Python

Nein, unsere Codeschnipsel-Ecke wurde nicht abgeschafft. Sie hat nur Winterschlaf gehalten. Zugegebenermaßen recht lange.  Nun, da der Frühling zwar nicht wettertechnisch, aber immerhin astronomisch beginnt, gibt’s endlich noch mal eine Erklärung mit Code. Im Fokus des folgenden Beitrags: Die leicht zu erlernende Programmiersprache Python, zwei Funktionsdefinitionen, Veronika – und der Lenz (Konzept/Originaltext von Allen B. Downey, Übersetzung von Stefan Fröhlich, redaktionelle Überarbeitung: AP). Eine Funktionsdefinition gibt den Namen einer neuen Funktion sowie die Reihe von Anweisungen an, die beim Aufruf der Funktion ausgeführt werden sollen. Hier ein Beispiel: >>> def zeige_text(): print "Veronika, der Lenz ist da." print "Die Mädchen singen trallala." >>> def zeige_text(): print "Veronika, der Lenz ist da." print "Die Mädchen singen trallala." def ist ein Schlüsselwort, das eine Funktionsdefinition kennzeichnet. Der Name dieser Funktion lautet zeige_text. Die Regeln für Funktionsnamen sind die gleichen wie für Variablennamen: Buchstaben, Zahlen und einige Interpunktionszeichen sind zulässig, aber das erste Zeichen darf keine Zahl sein. Außerdem dürfen Sie kein Schlüsselwort als Funktionsnamen wählen. Und Sie sollten vermeiden, für eine Funktion und eine Variable denselben Namen zu verwenden. Die leeren Klammern nach dem Namen zeigen an, …