Kategorien
Frontend: HTML5, CSS3, jQuery Webstandards

Bilder zentrieren mit CSS und jQuery

Ich saß heute am neuen Layout und wollte die Bilder, die in den Artikeln auftauchen, mittig ausrichten. Ausnahmen sind Bilder mit den Klassen .alignleft und .alignright.

Gut, dachte ich mir, versuchste es mal mit text-align: center; aber Pustekuchen. Nach ein wenig Recherche schien mir die einzig brauchbare Möglichkeit zu sein, den entsprechenden Bildern ein neues Elternelement zu verpassen, beispielsweise ein <div> oder ein <span> und dessen Inhalt (also auch das Bild) zentriert darzustellen. Da ich 1.) nicht in den Textpattern-Dateien rumwuseln wollte und 2.) das Extra-Markup nicht ins HTML gehört, hab ich mich für die JavaScript-Methode entschieden und dabei jQuery ausprobiert.

Meine Erfahrungen mit JavaScript (oder ECMAScript) sind seit jeher gering, da ich es bisher nicht gebraucht habe und ich immer an Icons die den Mauszeiger verfolgen und sonstige Spielereien denken musste, die ich schon immer fragwürdig hielt.

Der jQuery-Code, den ich dafür nutze, sieht folgendermaßen aus:

$(document).ready(function(){
$(".entry-content img[class!=alignleft][class!=alignright]").wrap("<span class=\"imgbox\"></span>");
});

Es macht nichts anderes als nach dem Laden des Dokuments allen Bildern, die in einem Element mit der Klasse .entry-content enthalten sind, ein <span>-Element mit der Klasse .imgbox drumherum zu verpassen. Eine Ausnahme bilden wie schon gesagt Bilder mit den den Klassen .alignright/left, die bekommen kein <span>.
(.entry-content stammt übrigens aus dem hAtom-Mikroformat, über das ich schon mal geschrieben habe.)

In HTML übersetzt (vereinfacht:

<img src="bildname.jpg" />

wird zu

<span class="imgbox"><img src="bildname.jpg" /></a>

Das CSS sieht so aus:

.imgbox {
text-align: center;
display: block;
}

.entry-content img {
border: 1px solid #CACACA;
background: #FFF;
padding: 5px 5px 5px 5px;
text-align: center;
}

Das <span>-Element wird zu einem Block-Element und bekommt dadurch die komplette Breite des .entry-content. Mittels text-align: center; wird jeglicher Inhalt in dieser Box zentriert, so auch das enthaltende Bild. Dieses besitzt noch die ganzen anderen Standard-Formatierungen erhält wie einen Rahmen, Hintergrundfarbe und einen Innenabstand. Und so sieht das dann aus:

Screenshot eines mittels jQuery-Hilfe zentrierten Bildes

Kategorien
Browser Frontend: HTML5, CSS3, jQuery Webstandards

Mein IE6, die absolut positionierten Listenelemente mit Links und ich

Der IE6 hat ein Problem mit display: block;-Links in absolut positionierten (Listen-)Elementen. Wenn man dem Link keinen Hintergrund zuweist, ist der Link zwar da, kann aber nicht per Drüberfahren erkannt und demnach auch nicht angeklickt werden. Tabbt man sich durchs Dokument, landet man auch beim Link, aber anvisieren mit dem Mauszeiger? No go.

Auch eine Höhen- und Breitenangabe half nicht, einzig und allein ein background: url(leer.gif); half, um den Dämon auszutreiben.

Wieso man Links überhaupt mal absolut positioniert? Nun ja, damit kann man ganz nett eine Imagemap zusammenschustern, das @map@-Element mochte ich noch nie, auch wenn es in XHTML 1 noch existiert.

Kategorien
Frontend: HTML5, CSS3, jQuery Webstandards

Suchergebisse falsch präsentieren

Fernab der Sonnenseiten gibts auch Beispiele für schlecht gelöstes im Web:

Die Suchfunktion des Landes NRW zeigt: Suchergebnisse sollten den Titel einer Seite anzeigen, nicht dessen Dateinamen. Oder könnt ihr mit 071219MAGS.php etwas anfangen?

Kategorien
Frontend: HTML5, CSS3, jQuery Webstandards

CSS-Grids – lieber ohne Framework

Zurzeit wird ja groß und breit über Grid-Frameworks und ihre Nachteile/Vorteile gesprochen. Die Methode Grids/Raster zu verwenden halte ich für gut, gerade um Ordnung und Gestalt auf die Seite zu bringen. Die technischen Ansätze der Grid-Frameworks sind mir aber teilweise zuwider, da hier teilweise sehr in den HTML-Quelltext eingegriffen werden muss.

Man schaue sich nur mal das Beispiel des 960.gs-Frameworks an:

Klassen-Zuweisungen wie container_12, grid_7 prefix_1 und grid_2 alpha sprechen nicht gerade von Semantik und sind arg präsentations-bezogen. Aber genau das wollten wir doch alle vermeiden und semantische Klassennamen wie .sidebar/.aside, .legal oder .error verwenden. (Wobei man die ersteren auch als ID-Attribut verwenden kann.)

Was ich am 960.gs-Framework allerdings gut finde ist, dass Vorlagen für Photoshop und Co. mitgeliefert werden.

Minifazit: Es ist okay, bei der Webgestaltung auf Grids/Raster zu setzen, allerdings sollte man dabei nur bedingt auf Frameworks zurückgreifen und lieber eigene Lösungen entwickeln, um einen Gridaufbau sicherzustellen.

Und das sagen andere:

Kategorien
Frontend: HTML5, CSS3, jQuery Webstandards

Bessere Captchas

Captchas sind sowas von nervig. Das Ausfüllen dauert eine gefühlte Ewigkeit und ob Klein- und Großschreibung egal ist, ist auch nicht immer ersichtlich.

Wieso sind Captchas nicht so aufgebaut:

Benutzerfreundliches Captcha

Statt den Text einzugeben klickt man einfach eine (die richtige) von vier Möglichkeiten an, fertig. Meiner Meinung nach viel schneller, weniger penetrant und vor allem komfortabler. Wahrscheinlich sogar noch ein Stück barriefreier.

Das Captcha stammt von plindberg.

Kategorien
Frontend: HTML5, CSS3, jQuery Netzwelt Webstandards

Ergebnisse der Webworker-Umfrage der Webkrauts

Die Ergebnisse zur Webworker-Umfrage der Webkrauts sind da. (Als hättet ihr es nicht schon längst mitbekommen ;))

Kategorien
Browser Frontend: HTML5, CSS3, jQuery Webstandards

Unterschiedliche Wege um unterschiedliche IE-Versionen anzusprechen

Update – IE8 läuft standardmäßig doch mit der IE8-Engine

We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously. IEBlog, via F-LOG-GE

Ursprünglicher Artikel vom 22.01.2008

Der IE8 kommt und mit ihm eine weitere Krücke, mit der er auf Webstandards laufen soll:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Schick, nech? Ohne dieses Meta-Element – aber mit Strict-Doctype – verhält sich der IE8 wie der IE7, ohne Doctype und Meta-Element kommt natürlich der Quirks-Mode zum Zuge.

Nach Conditional Comments, diversen CSS-Hacks, JavaScript-Workarounds und natürlich $User-Agent-Weichen nun die x-te Variante, eine Webseite auch im IE richtig anzeigen zu lassen. Ich werd noch wahnsinnig.

Kategorien
Netzwelt Webstandards

Die große Webkrauts-Umfrage – »Wir wollens wissen«

Webkrauts-Webworker-Umfrage

Die Webkrauts wollen’s wissen. Ab dem 7. Januar 2008 wird es – nach Vorbild der Web Design Survey 2007 von Alistapart – eine Umfrage für alle die geben, die mit der Entwicklung und Gestaltung von Webseiten im deutsprachigen Raum zu tun haben. Die Umfrage läuft unter dem Motto »Wir wollen es wissen« und wird von Michael Jendryschik bereitgestellt.

Die Umfrage läuft vom 7. Januar 2008 bis zum 18. Februar 2008 und jeder der sich Webdesigner, Webentwickler oder sonst wie in der Art nennt ist herzlich eingeladen, daran teilzunehmen. Nehmt doch bitte alle daran Teil!