<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Herr Bertling. &#187; webdesign</title>
	<atom:link href="http://herrbertling.de/category/webdesign/feed" rel="self" type="application/rss+xml" />
	<link>http://herrbertling.de</link>
	<description>Musik. Politik. Dinge.</description>
	<lastBuildDate>Sun, 29 Jan 2012 17:42:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='herrbertling.de' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Will code for coffee.</title>
		<link>http://herrbertling.de/webdesign/will-code-for-coffee</link>
		<comments>http://herrbertling.de/webdesign/will-code-for-coffee#comments</comments>
		<pubDate>Thu, 17 Feb 2011 08:14:48 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Kaffee]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=1344</guid>
		<description><![CDATA[<p>Was macht man, wenn mal ein paar freie Tage zur Verfügung stehen? Richtig: Ein WordPress-Template bauen. Genau das habe ich für meinen liebsten <a href="http://www.sonntagmorgen.com/">Online Kaffee Versand Sonntagmorgen</a> in den letzten Tagen gemacht, so sieht’s aus:</p>
<p>Was ich für das Template &#8230; <a href="http://herrbertling.de/webdesign/will-code-for-coffee" class="read_more">Weiterlesen</a></p>]]></description>
			<content:encoded><![CDATA[<p>Was macht man, wenn mal ein paar freie Tage zur Verfügung stehen? Richtig: Ein WordPress-Template bauen. Genau das habe ich für meinen liebsten <a href="http://www.sonntagmorgen.com/">Online Kaffee Versand Sonntagmorgen</a> in den letzten Tagen gemacht, so sieht’s aus:</p>
<div id="attachment_1345" class="wp-caption aligncenter" style="width: 610px"><img src="http://bertdesign.de/wp-content/uploads/2011/02/Bildschirmfoto-2011-02-17-um-09.06.46-e1297930137426.png" alt="Das neue Sonntagmorgen-Blog" title="Das neue Sonntagmorgen-Blog" width="600" height="358" class="size-full wp-image-1345" /><p class="wp-caption-text">Das neue Sonntagmorgen-Blog</p></div>
<p>Was ich für das Template an Nettigkeiten und technischen Besonderheiten genutzt habe, steht direkt im <a href="http://blog.sonntagmorgen.com/">Sonntagmorgen-Blog</a>: <a href="http://blog.sonntagmorgen.com/neuer-shop-%E2%80%93-neues-blog-layout/">Neuer Shop – neues Blog-Layout</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/will-code-for-coffee/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Quicktip: #NewTwitter mit schöner Leistenbreite</title>
		<link>http://herrbertling.de/webdesign/quicktip-newtwitter-mit-schoener-leistenbreite</link>
		<comments>http://herrbertling.de/webdesign/quicktip-newtwitter-mit-schoener-leistenbreite#comments</comments>
		<pubDate>Thu, 30 Sep 2010 06:39:26 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Goldener Schnitt]]></category>
		<category><![CDATA[NewTwitter]]></category>
		<category><![CDATA[Quicktip]]></category>
		<category><![CDATA[Stil]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=1151</guid>
		<description><![CDATA[<p>Per Twitter (<a href="http://twitter.com/balu/status/25922466161">danke @balu!</a>) habe ich gestern den Entwurf für das <span class="removed_link" title="http://twitter.com/newtwitter">neue Twitterinterface</span> bzw. die Herleitung gesehen:</p>
<p>Ein sehr schönes Beispiel für den Einsatz des <a href="http://de.wikipedia.org/wiki/Goldener_Schnitt">Goldenen Schnitts</a> – das leider nur auf der niedrigsten Breite funktioniert. Danach verbreitert &#8230; <a href="http://herrbertling.de/webdesign/quicktip-newtwitter-mit-schoener-leistenbreite" class="read_more">Weiterlesen</a></p>]]></description>
			<content:encoded><![CDATA[<p>Per Twitter (<a href="http://twitter.com/balu/status/25922466161">danke @balu!</a>) habe ich gestern den Entwurf für das <span class="removed_link" title="http://twitter.com/newtwitter">neue Twitterinterface</span> bzw. die Herleitung gesehen:<br />
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://www.flickr.com/photos/twitteroffice/5034817688/sizes/m/"><img alt="Der goldene Schnitt beim Twitter-Redesign" src="http://farm5.static.flickr.com/4146/5034817688_458e4b75f1.jpg" title="Der goldene Schnitt beim Twitter-Redesign" width="500" height="316" /></a><p class="wp-caption-text">Der goldene Schnitt beim Twitter-Redesign</p></div></p>
<p>Ein sehr schönes Beispiel für den Einsatz des <a href="http://de.wikipedia.org/wiki/Goldener_Schnitt">Goldenen Schnitts</a> – das leider nur auf der niedrigsten Breite funktioniert. Danach verbreitert sich die Seitenleiste und verändert somit das Verhältnis. Wer aber zumindest die Seitenverhältnisse des Goldenen Schnitts ungefähr beibehalten möchte, macht Folgendes:</p>
<ol>
<li>FireFox benutzen.</li>
<li>Das Add-On „<a href="https://addons.mozilla.org/de/firefox/addon/2108/">Stylish</a>” installieren.</li>
<li>Einen neuen Stil für twitter.com erstellen.</li>
<li>Den folgenden Code einsetzen:</li>
</ol>
<p><code>@namespace url(http://www.w3.org/1999/xhtml);<br />
@-moz-document domain("twitter.com") {<br />
    .main-content {<br />
    width: 61%!important;<br />
    }<br />
    .dashboard {<br />
    width: 32%!important;<br />
    min-width: 0px!important; /*or set this to something smaller than the current 340px */<br />
    }<br />
}</code><br />
Fertisch <img src='http://herrbertling.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/quicktip-newtwitter-mit-schoener-leistenbreite/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plugin-Tipps: WordPress sicherer machen</title>
		<link>http://herrbertling.de/webdesign/plugin-tipps-wordpress-sicherer-machen</link>
		<comments>http://herrbertling.de/webdesign/plugin-tipps-wordpress-sicherer-machen#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:52:07 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[Attempts]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Berechtigung]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Frank]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Kerninstallation]]></category>
		<category><![CDATA[Limit]]></category>
		<category><![CDATA[Loginformular]]></category>
		<category><![CDATA[mashable]]></category>
		<category><![CDATA[Ordner]]></category>
		<category><![CDATA[Permissions]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[secret keys]]></category>
		<category><![CDATA[security scan]]></category>
		<category><![CDATA[Sicherheitsaspekt]]></category>
		<category><![CDATA[Tip]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wp]]></category>
		<category><![CDATA[WP-App]]></category>
		<category><![CDATA[WP-Security-Scan]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=917</guid>
		<description><![CDATA[<p>Da bei Mashable gerade ein kleines <a href="http://mashable.com/2010/04/28/wordpress-security-tips/">How-To zur Sicherheit von WordPress</a> erschienen ist, gebe ich noch schnell ein paar Plugin-Tipps dazu <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-917"></span>Erstmal kurz zu den Tipps bei Mashable:</p>
<ul>
<li><strong>Updates</strong> sind natürlich sowohl für den Kern als auch die Plugins bitte </li>&#8230; <a href="http://herrbertling.de/webdesign/plugin-tipps-wordpress-sicherer-machen" class="read_more">Weiterlesen</a></ul>]]></description>
			<content:encoded><![CDATA[<p>Da bei Mashable gerade ein kleines <a href="http://mashable.com/2010/04/28/wordpress-security-tips/">How-To zur Sicherheit von WordPress</a> erschienen ist, gebe ich noch schnell ein paar Plugin-Tipps dazu <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-917"></span>Erstmal kurz zu den Tipps bei Mashable:</p>
<ul>
<li><strong>Updates</strong> sind natürlich sowohl für den Kern als auch die Plugins bitte schnellstmöglich aufzuspielen. Bei großen Versionssprüngen für die Kerninstallation würde ich ggf. ein paar Tage warten. Die passieren ja meist, da neue Features hinzugefügt werden, nicht um Sicherheitslücken zu stopfen.</li>
<li><strong>Passwörter</strong>: Das gilt ja nun einmal überall, nech?</li>
<li><strong>Secret Keys</strong>: Diesen Schritt sollte man bei der Installation unbedingt befolgen. In der wp-config.php wird das Vorgehen exakt beschrieben, hier auch noch mal schnell: Copy&amp;Paste der angegebenen URL, Copy&amp;Paste der erzeugten Keys zurück in die Datei. Fertig. <img src='http://herrbertling.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>.htaccess</strong> – damit wäre ich generell vorsichtig, wer sich damit nicht auskennt kann erstmal eine Menge schrotten. Außerdem kann eine IP-Beschränkung ärgerlich werden, wenn man sich mal an einem fremden Rechner bzw. in einem fremden LAN spontan ins Backend einloggen will.</li>
<li><strong>File Permissions</strong> – damit kommen wir schon zum ersten Plugin:</li>
</ul>
<h3>WP-Security-Scan</h3>
<p>Das Plugin zeigt diverse Sicherheitsaspekte an – unter anderem die nötigen File Permissions für die einzelnen Ordner. Wenn diese nicht stimmen, so lassen sie sich per FTP schnell an die unter „required” angegebenen Berechtigungen anpassen. Fertig. Das Plugin befindet sich natürlich auch im Repository bei WordPress: <a href="http://wordpress.org/extend/plugins/wp-security-scan/">WP-Security-Scan</a></p>
<h3>Secure WordPress</h3>
<p>Ein kleines, aber feines Plugin kommt in gewohnt bester Qualität von <a href="http://bueltge.de/">Frank Bültge</a>. Er gibt zum Plugin im Prinzip alle wichtigen Details auf seinen Seiten wieder, also verweise ich mal auf ihn: <a href="http://bueltge.de/wordpress-login-sicherheit-plugin/652/">WordPress Login Sicherheit mit Secure WordPress</a>. Ich bin mir gerade nicht <em>ganz</em> sicher, aber wenn ich mich recht erinnere, dürft ihr den Link zum Really Simple Discovery nicht deaktivieren, falls ihr euer Blog mit dem iPhone über die WP-App bedienen wollt. Auch dieses Plugin findet sich im Repository: <a href="http://wordpress.org/extend/plugins/secure-wordpress/">Secure WordPress</a>.</p>
<h3>Limit Login Attempts</h3>
<p>Mit diesem Plugin legt man eine Beschränkung der Login-Versuche fest – Brute-Force-Attacken sind somit nicht mehr ohne Weiteres über das normale Loginformular möglich. Auf ins Repository <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <a href="http://wordpress.org/extend/plugins/limit-login-attempts/">Limit Login Attempts</a>.</p>
<p>Mit diesen drei Plugins kann man die Sicherheit der WordPress-Installation zügig &amp; recht einfach steigern. Viel Spaß dabei!</p>
<p>Habe ich ein dringend nötiges Plugin vergessen? Dann lasst es mich &amp; die anderen Leser in den Kommentaren wissen! Dir hat der Beitrag gefallen? Dann lass es mich &amp; deine Freunde wissen – das Herz hier unten gibt mir Bescheid, der Facebook-Button deinen Facebook-Freunden. Danke schon mal <img src='http://herrbertling.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/plugin-tipps-wordpress-sicherer-machen/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Wie man CSS3 und HTML5 schon nutzen kann</title>
		<link>http://herrbertling.de/webdesign/wie-man-css3-und-html5-schon-nutzen-kann</link>
		<comments>http://herrbertling.de/webdesign/wie-man-css3-und-html5-schon-nutzen-kann#comments</comments>
		<pubDate>Sun, 10 Jan 2010 17:20:52 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Designer]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=585</guid>
		<description><![CDATA[MIt HTML5 &#038; CSS3 lassen sich in modernen Browsern spielend leicht fortschrittliche Techniken für besseres Design und leichtere Zugänglichkeit implementieren. Das habe ich an einem Praxisbeispiel mal verdeutlicht.]]></description>
			<content:encoded><![CDATA[<p>Zur Zeit wird man im Bereich Webdesign regelrecht zugeschmissen mit Artikeln, die sich mit dem letzten Schrei der Webtechnik befassen: HTML5 und CSS3. Zwar sind beide Ansätze noch bei weitem nicht in allen Browsern *hust* IE *hust* implementiert – dennoch ist ihr Einsatz bereits jetzt sinnvoll &amp; lohnenswert. Ich halte es da ganz mit Andy Clarke: <a href="http://24ways.org/2009/ignorance-is-bliss">Ignorance is bliss</a>:</p>
<blockquote><p>That’s because in the real world, people using the Web don’t find a Web site that they like, then open up another browser to check that it looks they same.</p></blockquote>
<p>AUf mehreren Seiten habe ich diese Techniken genutzt. Wie die Umsetzung in der Praxis aussieht, möchte ich ein einem Beispiel verdeutlichen. Ich habe zu Beginn des Jahres die Webseite für den münsteraner <a href="http://www.derkaffeefreund.de/">Kaffeefreund Dominik Schweer</a> umgesetzt. Dabei habe ich diverse Neuerungen genutzt, die ich kurz anschneiden möchte.</p>
<h3>HTML5</h3>
<p>HTML5 stellt neben dem <a href="http://dev.w3.org/html5/spec/Overview.html#the-doctype">wahnsinnig einfachen Doctype</a> diverse neue Elemente vor – einen guten Überblick bietet <a href="http://www.peterkroener.de/html5-was-geht-heute-schon-was-geht-nicht-der-grosse-ueberblick/">Peter Kröners Artikel zum Thema</a>. Mit entsprechenden CSS-Klassen &amp; IDs lassen sich diese Elemente zumindest schon antizipieren, wie es auch A List Apart im <a href="http://www.alistapart.com/articles/previewofhtml5">Preview zu HTML5</a> als „common structures” für HTML4 vorstellt. Die Schwierigkeiten, die man sich beim direkten Einsatz dieser Elemente einhandelt, werden in Peters Artikel eindrucksvoll belegt, daher sollte man in diesem Bereich wohl zunächst auf die Klassen-/ID-Lösung zurückgreifen – was in vielen Jahren evtl. mal die Umstellung erleichtet <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Was man aber bereits einsetzen kann sind <strong>WAI-ARIA-Landmarks</strong>, Gründe dazu finden sich bei <a href="http://www.vorsprungdurchwebstandards.de/theory/7-gruende-wai-aria-landmarks-sofort-einzusetzen/">Vorsprung durch Webstandards</a>:</p>
<blockquote><p>Mit Aria-Landmarks kann jede statische Website besser strukturiert werden. Aria-Landmarks werten das HTML auf und erhöhen dessen Informationswert. Mit Landmarks kann die Rolle eines Elements genauer beschrieben werden</p></blockquote>
<p>Die erweiterten Angaben sind schnell eingebunden:</p>
<ul>
<li>Der Kopfbereich erhält „role=banner”</li>
<li>Der Hauptinhalt erhält „role=main”</li>
<li>Die Seitenleiste erhält „role=complementary”</li>
<li>Die Navigation erhält „role=navigation”</li>
<li>Blogeinträge / Texte erhalten „role=„article”</li>
<li>Zusatz-/Metainfos zu Blogeinträgen erhalten „role=contentinfo”</li>
<li>Das Suchformular erhält „role=search”</li>
</ul>
<p>Das war’s auch schon. Kurz und schmerzlos wurde der Inhalt durch einfache Auszeichnungen zugänglicher gemacht.</p>
<p>Auch <strong>Formularelemente</strong> lassen sich in HTML5 gewinnbringend erweitern. Dort gibt es einen ganzen Satz neuer Typ-Bezeichnungen, die glücklicherweise bei „Unwissenheit” des Browsers auf den Standardtyp „text” zurückgesetzt werden. So lassen sich z.B. Kommentarformulare in Blogs durch minimale Änderungen semantisch leicht aufwerten:</p>
<pre>&lt;input type="url"&gt;, &lt;input type="email"&gt;</pre>
<p>Zumindest auf dem iPhone wird dann schon mal die Tastatur angepasst. Ansonsten sehen die Felder aus wie normale Text-Eingabefelder, dementsprechend gibt es Userseite keine Beeinträchtigung der Darstellung. Eine vollständige Dokumentation dazu gibt es bei „<a href="http://diveintohtml5.org/">Dive Into HTML5</a>″: <a href="http://diveintohtml5.org/forms.html">A Form of Madness</a>.</p>
<p>Wie gesagt verzichte ich zunächst auf den Einsatz der brandneuen Elemente, da dies zu unglaublichen Kompatibilitätsproblemen führt. Dem Einsatz der oben beschriebenen kleinen Änderungen steht jedoch nichts im Wege.</p>
<h3>CSS3</h3>
<p>Neben den HTML5-Techniken bieten <a href="http://a.deveria.com/caniuse/">einige Browser</a> mittlerweile sehr gute Unterstützung für die neuen CSS3-Eigenschaften. Beim Einsatz sollte man natürlich stets darauf achten, dass die Funktionalität der Seite auch ohne Unterstützung der Features gesichert ist. Daher beschränke ich mich auf wenige grafische Details, ganz im Sinne des <a href="http://dev.opera.com/articles/view/progressive-enhancement-with-css-3-a-be/">Progressive Enhancements</a>.</p>
<p>Ein gutes Beispiel dafür ist der Einsatz von <strong>RGBa</strong> für die Festlegung von Farben. Bei <a href="http://24ways.org">24ways.org</a> gab es zu Beginn der Adventskalender-Reihe 2009 ein <a href="http://24ways.org/2009/working-with-rgba-colour">exzellentes Tutorial für die Arbeit mit RGBa</a>. Die Möglichkeit, nur die Hintergrundfarbe, nicht aber den enthaltenen Text mit leichter Transparenz zu versehen, habe ich beim <a href="http://www.derkaffeefreund.de/">Kaffeefreund</a> einige Male genutzt. Besonders beim Inhaltsbereich fällt das auf – in allen Browser, die RGBa unterstützen, scheint das Hintergrundbild dezent durch:</p>
<div id="attachment_591" class="wp-caption aligncenter" style="width: 584px"><img class="size-full wp-image-591  " title="Bild 1" src="http://bertdesign.de/wp-content/uploads/2010/01/Bild-1.png" alt="Durchscheinender Hintergrund" width="574" height="297" /><p class="wp-caption-text">Durchscheinender Hintergrund</p></div>
<p>Browser, welche die RGBa-Farbangaben nicht akzeptieren, bekommen stattdessen eine einfache RGB-Farbe ausgeliefert &amp; müssen auf die Kaffeebohnen leider verzichten. Ist zwar schade, stört aber den Besucher wohl nicht weiter – wie soll er es auch wissen <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Zudem sieht der fortschrittlich browsende Nutzer im Googlemaps-Infokasten zu später Stunde nicht einfach nur eine graue Box mit Text, sondern leicht durchscheinend einen Kartenauschnitt aus GoogleMaps dahinter. Das sieht im CSS dann z.B. für den Hauptinhalt so aus:</p>
<pre>#content{ background-color: rgb(241,232,226); background-color: rgba(241,232,226,0.8);}</pre>
<p>Mit <strong>Schattierungen</strong> habe ich ganz behutsam gearbeitet. Über die Eigenschaft <a href="http://www.css3.info/preview/box-shadow/">box-shadow</a> mit entsprechenden Browser-Prefixes werten die Schattierungen die Seite auf &amp; geben ihr einen leichten dreidimensionalen Touch. Nach Lektüre des Artikels „<a href="http://flyosity.com/tutorial/crafting-subtle-realistic-user-interfaces.php">Crafting Subtle &amp; Realistic User Interfaces</a>” habe ich die Schatten übrigens massiv reduziert – den Grund gibt der Artikel:</p>
<blockquote><p>Drop Shadows will ruin your design if you don’t do it right. Things should be right up against their surface which means using a 1-3px Drop Shadow size. And 0-3px distance. This isn’t WordArt.</p></blockquote>
<div id="attachment_592" class="wp-caption alignright" style="width: 186px"><img class="size-full wp-image-592 " title="Bild 2" src="http://bertdesign.de/wp-content/uploads/2010/01/Bild-2.png" alt="Der Schatten am rechten Rand der Navigation ist eigentlich nicht korrekt" width="176" height="70" /><p class="wp-caption-text">Der Schatten am rechten Rand der Navigation ist eigentlich nicht korrekt</p></div>
<p>Problematisch bei dieser Eigenschaft ist, dass per CSS vergebene Schatten streng genommen perspektivisch nicht ganz korrekt sind. So müsste z.B. bei der Kaffeefreund-Seite der Schatten der Navigation zum Hintergrund hin länger sein als zur dazwischenliegenden Inhaltsebene.</p>
<p>Dennoch erscheint die Seite so ganz subtil etwas griffiger. Der Einsatz von Schattierungen sollte jedoch insgesamt wie bereits angedeutet gut durchdacht sein. Welche Probleme auftauchen können, verdeutlicht der Artikel „<a href="http://www.webdesignerdepot.com/2010/01/drop-shadows-and-gradients-be-consistent-in-your-visual-metaphors/">Drop-Shadows and Gradients: Be Consistent in Your Visual Metaphors</a>”.</p>
<p>Eine letzte heißgeliebte Eigenschaft ist der <a href="http://www.css3.info/preview/rounded-border/">border-radius</a>. <strong>Runde Ecken</strong> <del datetime="2010-01-10T16:40:06+00:00">sind</del> waren ja der absolute Knaller, wenn es um jegliche Web2.0-Seiten geht. Natürlich nutzt die Seite auch diese Eigenschaft – und das sogar bei fast jeder Box, die sichtbar ist. Jedoch habe ich auf übertrieben abgerundete Boxen weitestgehend verzichtet, sondern nur geringe Radien angegeben. Den Grund dazu liefert der bereits oben zitierte Artikel zu Userinterfaces:</p>
<blockquote><p>Real-world objects rarely have perfectly square corners. Use subtle rounded corners to make objects look real.</p></blockquote>
<p>Daher ist jedes Element, das ursprünglich eckige Kanten hatte, zumindest mit einer minimalen Rundung versehen. Die Angabe dazu habe ich platzsparend ganz an das Ende der CSS-Datei geschoben &amp; dort alle Elemente angegeben, die ich leicht gerundet haben wollte.</p>
<p>Wer die entsprechenden Techniken im Einsatz sehen möchte &amp; mir aufgrund inkonsistenten Codings die Ohren langziehen mag, darf sich das Stylesheet gerne <a href="http://www.derkaffeefreund.de/wp-content/themes/kaffeefreund/style.css">in Gänze</a> zu Gemüte führen.</p>
<p>Wie  man sieht: Wenn die vorhandenen Techniken dezent eingesetzt werden, lassen sich mit einfachen Mitteln sinnvolle Verbesserungen erzielen. Die Seite wird in wenigen Minuten aufgewertet &amp; bleibt dennoch funktional – sie übermittelt auch im IE6 den Inhalt problemlos.</p>
<p><em>Nachtrag</em>: Etwas abstrakter, aber kompakt und treffend formuliert hat es Mathias Schäfer. „<a href="http://molily.de/weblog/progressive-enhancement">Progressive Enhancement: Die Zeit ist gekommen</a>”</p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/wie-man-css3-und-html5-schon-nutzen-kann/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress: Performance optimieren</title>
		<link>http://herrbertling.de/webdesign/wordpress-performance-optimieren</link>
		<comments>http://herrbertling.de/webdesign/wordpress-performance-optimieren#comments</comments>
		<pubDate>Sat, 31 Oct 2009 17:05:10 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[optimieren]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Stylesheets]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=365</guid>
		<description><![CDATA[WordPress-Installationen werden schnell "träge" – viele Datenbank-Abfragen &#038; nachlässiges Coding in Themes führen zu verlangsamtem Seitenaufbau. Dieses Problem kann man auf vielfältige Art lösen. Dieser Beitrag fasst einige Vorschläge zusammen.]]></description>
			<content:encoded><![CDATA[<p>WordPress-Installationen werden schnell „träge” – viele Datenbank-Abfragen &amp; nachlässiges Coding in Themes führen zu langsamem Seitenaufbau. Dieses Problem kann man auf vielfältige Art lösen. Dieser Beitrag fasst einige Vorschläge zusammen. Dabei geht es einerseits darum, mit direkten Code-Veränderungen im jeweiligen Theme <strong>Datenbank-Abfragen</strong> zu <strong>minimieren</strong> &amp; den <strong>Code</strong> zu <strong>optimieren</strong>. Andererseits wird auch kurz auf einige <strong>sinnvolle Plugins</strong> eingegangen.</p>
<h3>Generelles</h3>
<p>Grundsätzlich sollte man natürlich einige Punkte beachten, die keine Code-Veränderungen oder anderes benötigen:</p>
<ul>
<li>Stets die <strong>aktuellste WordPress</strong>–Version nutzen</li>
<li>Unnötige / ungenutzte <strong>Plugins deaktivieren</strong> oder besser noch löschen</li>
<li><strong>Valide</strong>, gut gecodete <strong>Themes</strong> nutzen</li>
</ul>
<p>Darüber hinaus kann man aber noch weitere Maßnahmen ergreifen:</p>
<h3>Datenbank-Abfragen minimieren</h3>
<p>Etliche Datenbank-Abfragen in verschiedenen Themes werden (selbstverständlich) durch PHP variabel gehalten. So ist garantiert, dass der entsprechende Code mit dem jeweils richtigen Pfad ausgestattet wird. Häufig genutzte Template-Tags sind:</p>
<pre class="php">bloginfo('name');
bloginfo('charset');
bloginfo('stylesheet_url');
bloginfo('rss2_url');</pre>
<p>Den Großteil der Variablen findet man zumeist in der Datei header.php. Nun ist es ein Leichtes, diese Variablen nach der erfolgreichen Installation des jeweiligen Themes durch statischen HTML-Code zu ersetzen. Dazu lässt man sich den Quelltext (z.B.) der Startseite des Blogs anzeigen. Dort wurden die Variablen natürlich bereits in statischen HTML-Code umgeformt, so dass dieser einfach aus dem Quelltext kopiert &amp; im Theme ersetzt werden können. Laut <a href="http://yoast.com/speed-up-wordpress/">Joost de Valk</a> können dadurch <strong>bis zu elf Datenbankanfragen entfernt</strong> werden – ziemlich viel, oder? <ins datetime="2009-11-01T23:33:56+00:00">Nein, wie Frank Bültge in den Kommentaren <a href="#comment-71">anmerkt</a> – die Daten werden gecacht, somit kann man sich das Rumspielen im Theme sparen.</ins></p>
<p>Übrigens: Die Anzahl der Datenbank-Abfragen kann man sich direkt von WordPress anzeigen lassen. Sinnvoll ist, diese Daten nur für Administratoren anzeigen zu lassen. Folgender Code – etwa im Fußbereich der Seite – macht das möglich:</p>
<pre class="php">&lt;?php if (current_user_can('level_10')) {
	echo '&lt;!-- '
	. get_num_queries()
	. ' Abfragen in '
	. timer_stop(0,3)
	. ' Sekunden --&gt;';
} ?&gt;</pre>
<h3>Flush early</h3>
<p>Mit einem einfachen PHP-Befehl kann man bei der Generierung des Themes schon mal den Head-Bereich der Seite rausschicken, so dass sich der Browser schon mal um die dort verlinkten Dateien „kümmern” kann:</p>
<pre class="php">&lt;/head&gt;
&lt;?php flush(); ?&gt;</pre>
<p>Ob der Effekt in der header.php einen signifikanten Effekt hat oder besser in der index.php (o.Ä.) direkt hinter dem Aufruf der header.php platziert werden sollte, kann ich leider nicht beurteilen – happy testing <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Sinnvoll erscheint die Maßnahme aber <a href="http://www.eggplant.ws/blog/php/dont-forget-to-flush/">generell schon</a>.</p>
<h3>Allgemeine Code-Optimierung</h3>
<p>Die <a href="http://developer.yahoo.com/performance/rules.html">Yahoo Performance-Guidelines</a> fassen einige Maßnahmen zur Performance-Optimierung zusammen:</p>
<ul>
<li>HTTP-Requests minimieren</li>
<li>Stylesheets im Kopfbereich der Seite</li>
<li>Javascript-Dateien im Fußbereich der Seite</li>
<li>Alle Skripte &amp; CSS-Dateien als externe Dateien einbinden</li>
<li>Skripte &amp; Dateien zusammenfassen</li>
</ul>
<p>Die praktische <a href="https://addons.mozilla.org/de/firefox/addon/1843">FireBug</a>–Erweiterung <a href="https://addons.mozilla.org/de/firefox/addon/5369">YSlow</a> schaut sich die in den Guidelines angesprochenen Punkte an &amp; bewertet die Seitenperformance. Zur Analyse in FireFox somit ein sehr gut geeignetes Tool, um potentielle Performance-Bremsen auszumachen &amp; zu entfernen.</p>
<p>Oft passiert es zudem, dass Plugins zusätzlichen Code in den Kopf– oder Fußbereich der Seite einfügen. Das kann man über ein paar Zeilen Code in der functions.php unterbinden. Wie das funktioniert, <a href="http://justintadlock.com/archives/2009/08/06/how-to-disable-scripts-and-styles">erklärt Justin Tadlock</a>. Für diese Maßnahme ist einiges an Handarbeit inklusive Code-Analyse der Plugins nötig – der Aufwand lohnt aber, wenn statt mehreren Stylesheets etwa nur ein einziges geladen werden muss.</p>
<h3>Caching-Plugins</h3>
<p>Einige der oben beschriebenen Aufgaben können auch Caching-Plugins übernehmen. Recht bekannt &amp; beliebt ist hier das Plugin <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a>, das aus den aufgerufenen Seiten regelmäßig statische HTML-Seiten erstellt, so dass sämtlicher Datenbank-Stress entschärft wird. Dieses Plugin wird z.B. von <a href="http://www.spreeblick.com">Spreeblick</a> eingesetzt.</p>
<p>Seit kurzem teste ich hier <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a>, das über die Möglichkeiten von WP Super Cache noch ein ganzes Stück hinaus geht – die recht beeindruckende Liste der Nutzer hat mich neugierig gemacht. Über dieses Plugin lassen sich vielfältige Optimierungseinstellungen vornehmen, die stark von den oben angesprochenen Yahoo Performance-Guidelines beeinflusst sind. Dabei kann man etwa eine eigene Subdomain anlegen &amp; als CDN nutzen. Nach einer intensiven Diskussion zur <a href="http://css-tricks.com/images-on-a-subdomain/">Frage ob das lohnt</a>, stellte Chris Coyier fest:</p>
<blockquote><p>I think the general consensus is that YES, it is a good idea. If you can map the subdomain to a differnet server entirely, one running a stripped down web server with special settings and stuff (aggressive caching, cookie-less) OR you can map it to a bonafied CDN, that’s clearly better.</p>
<p>However, just the subdomain all by itself seems like it has benefits enough that it is worth doing.</p></blockquote>
<p>Die weiteren Einstellungen sind sehr sehr umfangreich &amp; meist auch sehr sinnvoll, weshalb ich das Plugin wärmstens empfehlen kann.</p>
<p><em><strong>Nachtrag</strong></em>: Jens <a href="http://bertdesign.de/webdesign/wordpress-performance-optimieren#comment-66">verweist</a> in den Kommentaren auf <del datetime="2009-10-31T17:55:49+00:00"><a href="http://wordpress.org/extend/plugins/db-cache/">DB-Cache</a></del><ins datetime="2009-10-31T17:55:49+00:00">besser, weil für WP 2.8 geschrieben: <a href="http://wordpress.org/extend/plugins/db-cache-reloaded/">DB Cache reloaded</a></ins>, das zumindest im Vergleich zu WP Super Cache scheinbar etliche Vorteile besitzt:</p>
<blockquote><p>I think you’ve heard of <a href="http://wordpress.org/extend/plugins/wp-cache/">WP-Cache</a> or <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a>, they are both top plugins for WordPress, which make your site faster and responsive. Forget about them — with DB Cache your site will work much faster and will use less disk space for cached files. Your visitors will always get actual information in sidebars and server CPU loads will be as low as posible.</p></blockquote>
<p>Das werde ich mal testen &amp; die von W3 Total Cache übernommenen Aufgaben weitgehend per Hand regeln – bei der Komprimierung der JavaScript-Dateien stellt sich das Plugin etwas sperrig an…</p>
<h3>Fazit</h3>
<blockquote><p><em>Nachtrag (29.01.2010)</em>: Nach einigen Tests laufen hier (und auf diversen anderen „meiner” WP-Installationen) sowohl DB Cache reloaded als auch WP-SuperCache. Die beiden Plugins ergänzen sich dabei ganz gut – während DB Cache reloaded wenn nötig die einzelnen Datenbankabfragen speichert,  legt WP-SuperCache direkt die kompletten Seiten auf dem Server als HTML-Image ab. Das geht natürlich entsprechend schneller, wenn einige Standard-Datenbank-Abfragen (wie etwa in der Seitenleiste) bereits gespeichert wurden und bei der nächsten aufgerufenen Seite nicht mehr die Datenbank / den Server belasten. Gutes Zusammenspiel also, das bei mir noch keinerlei Probleme erzeugt hat.</p></blockquote>
<p>Ich hoffe, dass ich einen halbwegs vollständigen &amp; sinnvollen Überblick zur Optimierung von WordPress-Installationen geben konnte. Sollte ich etwas vergessen haben, in einem Punkt völlig daneben liegen oder alles super beschrieben haben, freue ich mich über jedwedes Feedback in den Kommentaren &amp; <a href="#post-ratings-365">Herzchen-Klicks</a> <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Und jetzt: Viel Spaß beim Optimieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/wordpress-performance-optimieren/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WordPress Dashboard aufdonnern</title>
		<link>http://herrbertling.de/webdesign/wordpress-dashboard-aufdonnern</link>
		<comments>http://herrbertling.de/webdesign/wordpress-dashboard-aufdonnern#comments</comments>
		<pubDate>Mon, 26 Oct 2009 15:18:33 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Blogsearch]]></category>
		<category><![CDATA[Christoph Boecken]]></category>
		<category><![CDATA[Dashboard]]></category>
		<category><![CDATA[Ergänzung]]></category>
		<category><![CDATA[Icerocket]]></category>
		<category><![CDATA[news aggregator]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Rivva]]></category>
		<category><![CDATA[Übersicht]]></category>
		<category><![CDATA[Widget]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=355</guid>
		<description><![CDATA[Das WordPress Dashboard ist die Zentrale in der Verwaltung eines Wordpress Blogs. Mit ein paar Plugins lässt sich das Dashboard effizient &#038; sinnvoll gestalten. Ich stelle eine bessere Blogsuche, aktuelle Stories aus der Blogospähre und ein einfaches System für Beitragsideen vor.]]></description>
			<content:encoded><![CDATA[<p>Mit drei kleinen, aber feinen Plugins lässt sich das WordPress-Dashboard auf effiziente Weise verbessern:</p>
<ul>
<li> <a href="http://wordpress.org/extend/plugins/dashboard-icerocket-reactions-extended/">Icerocket Reactions Extended</a> – Christoph Boecken (<a href="http://www.jeriko.de/">jeriko</a>) hat mit diesem Plugin eine verbesserte Übersicht der eingehenden Links gebaut. Die Blogsuche erfolgt durch Icerocket, einen<br />
<blockquote><p>relativ unbekannten Anbieter, der aber technisch wie qualitativ wohl die besten Ergebnisse liefert</p></blockquote>
<p>wie er <a href="http://www.jeriko.de/2009/09/13/wordpress-dashboard-widget-fur-icerocket-links/">selbst argumentiert</a>. Stimmt.</li>
<li><a href="http://wordpress.org/extend/plugins/rivva-reactions/">Rivva Reactions</a> – Frisch aus dem Hause <a href="http://bueltge.de/">Bültge</a> kommt dieses Plugin, das neben Reaktionen auf das eigene Blog auch aktuelle Stories aus der Blogosphäre darstellt. Das alles wird generiert über unser aller Lieblings-News-Aggregator <a href="http://rivva.de/">rivva</a>. Frank <a href="http://bueltge.de/rivva-reaction-wordpress-plugin/1029/">beschreibt selbst</a> die Vorzüge des Plugins treffend:<br />
<blockquote><p>Rivva lebt, verändert sich und ist mittlerweile nicht mehr nur eine kleine Site der Themenübersicht, sondern ist für mich Quelle der News beim Kaffee und ebenso Quelle der Sites und Tweets, die auf mein kleines Blog verlinken.</p></blockquote>
<p>Absolute Empfehlung, da es eine gute Ergänzung zur oben vorgestellten Blogsearch darstellt.</li>
<li><a href="http://wordpress.org/extend/plugins/post-ideas/">Post Ideas</a> – Dieses Plugin ähnelt dem Quick Press Widget, bietet aber umfassendere Möglichkeiten wie Priorisierung &amp; vielfältige Sortierungsoptionen. Für den schnellen Entwurf bzw. deren Sammlung sehr sinnvoll.</li>
</ul>
<p>Habt ihr noch weitere Ideen &amp; Plugins, mit denen sich das Dashboard verbessern lässt? Dann ab damit in die Kommentare <img src='http://herrbertling.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Dir hat dieser Eintrag gefallen? <a href="#post-ratings-355">Oben</a> gibt’s ein Herzchen, das du gerne anklicken darfst <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/wordpress-dashboard-aufdonnern/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Tutorial I: Hover effect on linked images</title>
		<link>http://herrbertling.de/webdesign/css-tutorial-i-hover-effect-on-linked-images</link>
		<comments>http://herrbertling.de/webdesign/css-tutorial-i-hover-effect-on-linked-images#comments</comments>
		<pubDate>Sun, 23 Mar 2008 15:12:10 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=19</guid>
		<description><![CDATA[<p><strong>The problem:</strong></p>
<p>I want to add a hover effect to some images. These images aren’t background images, they are images of different people. Anyway, I’d like to use the idea of css sprites. Here, I want to “translate” this technique &#8230; <a href="http://herrbertling.de/webdesign/css-tutorial-i-hover-effect-on-linked-images" class="read_more">Weiterlesen</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>The problem:</strong></p>
<p>I want to add a hover effect to some images. These images aren’t background images, they are images of different people. Anyway, I’d like to use the idea of css sprites. Here, I want to “translate” this technique for using regular images instead of background-images. The reason to do this is simple: I don’t need one picture for layout reasons, I need many pictures to behave in the same way — changing color &amp; border in a certain way. By the way, the images will be links, too <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>So let’s get started:</p>
<p><strong>The HTML code:</strong></p>
<pre>&lt;div&gt;
&lt;a href="#"&gt;
&lt;img title="”Mr. X" src="”the_image.jpg" alt="”Mr. X" /&gt;
&lt;/a&gt;
&lt;/div&gt;</pre>
<p>There are three main elements included:</p>
<ul>
<li>A div with the class “member”</li>
<li>The link</li>
<li>The image itself</li>
</ul>
<p>As you can see, the link contains the image, the div contains these two. The image already contains the states I need: On the left side a b/w-picture with a green border, on the right side the colored one with a yellow square added.</p>
<p>Pretty boring without CSS if you ask me. Let’s move on to the <strong>CSS-part:</strong></p>
<p>Attention: The different px values are matching the pixel size of the image, as commented in the CSS file. You have to fit these to your needs.</p>
<pre>div.member {
width: 210px; /* 50% of image width */
height: 200px; /* image height */
overflow: hidden;
}
div.member a {
text-decoration: none;
display: block;
width: 420px; /* 100% image width */
}
div.member a img {
border: 0;
}
div.member a:hover {
margin-left: -210px; /* as above, 50% of image width. Watch out: negative value! */
}</pre>
<p>At first, the surrounding div gets a fixed width, which is exactly 50% of the images width. The height matches the image height.</p>
<p>Setting <em>“overflow: hidden;”</em> causes only the left side of the image to appear.</p>
<p>Now, the link-element is styled. <em>“text-decoration: none;”</em> prevents the underline (as you might know…). Far more important is the next step: The link element turns into a block-element with <em>“display: block;”</em>. Now you can add a fixed width to this element. As you see, the width is exactly the image width.</p>
<p>To prevent little pixel errors, the img element gets rid of the border with <em>“border: 0;”</em>.</p>
<p>Finally, the real “action” is done with editing the <em>a:hover</em> state.</p>
<p>Simply add a negative left margin to the picture. This margin again matches 50% of the images width. In this way, the image gets pushed to the left, revealing the colored right side.</p>
<p><strong>Result:</strong></p>
<ul>
<li>minimal usage of CSS &amp; extra markup</li>
<li>nice hover effect</li>
<li>should work in most browsers (please comment if you find errors!)</li>
</ul>
<p>Any comment on this technique is appreciated. If you like this tutorial, let me know!</p>
<p>(There might be tutorials about this technique in other places. I couldn’t find any in a quick google search <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  This should at least work with FireFox and Safari on a Mac, that’s what I was able to test. IE seems to work too, according to some friends testing it.)</p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/css-tutorial-i-hover-effect-on-linked-images/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: CSS — Hover mit verlinkten Bildern</title>
		<link>http://herrbertling.de/webdesign/tutorial-css-hover-mit-verlinkten-bildern</link>
		<comments>http://herrbertling.de/webdesign/tutorial-css-hover-mit-verlinkten-bildern#comments</comments>
		<pubDate>Fri, 21 Mar 2008 15:06:42 +0000</pubDate>
		<dc:creator>Markus</dc:creator>
				<category><![CDATA[webdesign]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://bertdesign.de/?p=14</guid>
		<description><![CDATA[<p>Hover-Effekte mit einem Hintergrund-Bild lassen sich einfach finden. Allerdings brauche ich für meine Anwendung kein Hintergrund-Bild, sondern ein einfaches, eingebundenes Bild, da ich nicht für jedes Mitglied ein eigenes Hintergrund-Bild (inklusive eigener #id etc.) anlegen möchte.Was tun? Zuerst einmal der &#8230; <a href="http://herrbertling.de/webdesign/tutorial-css-hover-mit-verlinkten-bildern" class="read_more">Weiterlesen</a></p>]]></description>
			<content:encoded><![CDATA[<p>Hover-Effekte mit einem Hintergrund-Bild lassen sich einfach finden. Allerdings brauche ich für meine Anwendung kein Hintergrund-Bild, sondern ein einfaches, eingebundenes Bild, da ich nicht für jedes Mitglied ein eigenes Hintergrund-Bild (inklusive eigener #id etc.) anlegen möchte.Was tun? Zuerst einmal der HTML-Code:</p>
<pre>&lt;div class="memberarea"&gt;</pre>
<pre>&lt;a href="#"&gt;</pre>
<pre>&lt;img title="Mr. X" src=”das_bild.jpg” alt=”Mr. X" /&gt;</pre>
<pre>&lt;/a&gt;</pre>
<pre>&lt;/div&gt;</pre>
<p>Wie man sieht, ist das Bild im Link enthalten, der Link in einem umgebenden div. Das eingebundene Bild enthält bereits die beiden gewünschten Zustände . Ohne CSS sähe das Ergebnis noch recht trostlos aus.</p>
<p>Kommen wir also zum CSS-Teil:</p>
<pre>div.memberarea {
width: 210px;
height: 200px;
overflow: hidden;
}
div.memberarea a {
text-decoration: none;
display: block;
width: 420px;
}
div.memberarea a img {
border: 0;
}
div.memberarea a:hover {
margin-left: -210px;
}</pre>
<p>Zuerst wird dem umgebenden div eine feste Weite (die Hälfte der Bild-Breite) sowie eine feste Höhe zugewiesen (die Höhe des Bildes). Die Angabe <em>overflow: hidden</em> bewirkt, dass nur die linke Bild-Hälfte angezeigt wird.</p>
<p>Nun wird das Link-Element bearbeitet: Das Unterstreichen des Links wird unterbunden und ganz wichtig: Der Link wird zum Block-Element gemacht. Diesem Block-Element kann ich dann eine entsprechende (nämlich die Bild-) Breite geben.</p>
<p>Dem Bild-Element wird der Rahmen genommen, sieht nun mal schöner aus &amp; verhindert kleine Pixel-Fehler, die durch einen Rahmen entstehen könnten.</p>
<p>Die eigentliche Hover-Action findet im letzten Teil statt: Durch die negative Verschiebung des Links (der sich als Block-Element verschieben lässt) erscheint nun im div der rechte Teil des Bildes. Fertig.</p>
<p>(Vielleicht gibt es ein ähnliches Tutorial schon irgendwo, ich konnte allerdings auf die Schnelle keins finden. Browser-Kompatibilität wurde ebenso nicht getestet, mit FireFox sowie Safari &amp; Mac OS X funktionierts. Windows-Browser kann ich leider gerade nicht testen <img src='http://herrbertling.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Was macht der IE? )</p>
]]></content:encoded>
			<wfw:commentRss>http://herrbertling.de/webdesign/tutorial-css-hover-mit-verlinkten-bildern/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 1/34 queries in 0.326 seconds using disk: basic
Object Caching 1000/1111 objects using disk: basic

Served from: www.bertdesign.de @ 2012-02-04 04:52:08 -->
