<?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>Erik Pöhler &#187; CSS</title>
	<atom:link href="http://contactsheet.de/category/css/feed" rel="self" type="application/rss+xml" />
	<link>http://contactsheet.de</link>
	<description></description>
	<lastBuildDate>Thu, 27 May 2010 11:00:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sample Markup for CSS Authors</title>
		<link>http://contactsheet.de/sample-markup-for-css-developers.xhtml</link>
		<comments>http://contactsheet.de/sample-markup-for-css-developers.xhtml#comments</comments>
		<pubDate>Fri, 09 Oct 2009 00:58:12 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[layput]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[reset.css]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://erikpoehler.com/?p=1304</guid>
		<description><![CDATA[Have you ever written a CSS file? Have you heard about this &#8220;lorem ipsum&#8221; thing? Or do you regularly transform designs into CSS &#038; XHTML? If you answer one of these questions with &#8216;yes&#8217;, then this is for&#160;you.
What is the first thing you do when it&#8217;s time to create a new CSS file? You might [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever written a CSS file? Have you heard about this &#8220;lorem ipsum&#8221; thing? Or do you regularly transform designs into CSS &#038; XHTML? If you answer one of these questions with &#8216;yes&#8217;, then this is for&nbsp;you.</p>
<p>What is the first thing you do when it&#8217;s time to create a new CSS file? You might start from scratch with a blank CSS every time. You might use Eric Meyer&#8217;s <a href="http://meyerweb.com/eric/tools/css/reset/" title="Eric Meyer's CSS reset">reset.css</a>. You might probably work with one of the numerous CSS-frameworks, such as <a href="http://www.blueprintcss.org/">Blueprint CSS</a> or <acronym title="Yet another multicolumn layout"><a href="http://www.yaml.de/">YAML</a></acronym> or even use the CSS stuff from that <a href="http://developer.yahoo.com/yui/2/">YUI framework</a>. You might even start with your CMS&#8217;s standard  theme and adjust things from&nbsp;there&#8230;</p>
<p>One thing you might forget when you hack in the first lines of CSS (and this happens to the best of us) is to use reallife markup instead of that boring &#8220;<a href="http://de.wikipedia.org/wiki/K%C3%BCchenlatein#Deutsches_Pseudolatein" title="K&#252;chenlatein">Lorem</a> <a href="http://en.wikipedia.org/wiki/Dog_Latin" title="Dog Latin">ipsum&#8230;</a>&#8221; designers seem to have a faible for. This is where this markup snippet comes into play: it should help you with filling your wireframe layout with some actual&nbsp;HTML-markup.</p>
<h3>So just plain HTML,&nbsp;huh?</h3>
<p>This snippet provides a wide range of commonly used markup, that should be supported by most rich editors (a.k.a. WYSIWYG editors).<br />
Since every coder has his own preferences towards class names. I decided to leave out the fancy stuff you could do with classes at all, as this would force some people to spot, delete, or rename those classes afterwards, which would be counterproductive. So this is plain&nbsp;HTML.</p>
<h3>Download</h3>
<p>Since each and every CMS treats the markup you insert into its page editor differently, I decided to provide both: a version with regular HTML and one without the paragraphs for those CMS that come with their own paragrapher-functionality.<br />
<a class="download" href="http://websvn.erikpoehler.com/dl.php?repname=Sample+Markup+for+CSS+Authors&#038;path=/sample-markup.txt" rel="newwindow" title="Sample Markup for CSS Developers">Sample Markup v0.2</a> (text file, 8 KB)<br />
<a class="download newwindow" href="http://websvn.erikpoehler.com/dl.php?repname=Sample+Markup+for+CSS+Authors&#038;path=/sample-markup-no-paragraphs.txt" rel="newwindow" title="Sample Markup for CSS Developers">Sample Markup v0.2</a> without paragraphs (text file, 8&nbsp;KB)</p>
<p>Some notes: the HTML-elements included in the snippet are: <samp>p, a, abbr, acronym, samp, code, pre, ol, ul, li, blockquote, cite, q, table, caption, thead, tfoot, tbody, tr, td, th, em, strong, sup, sub, div,&nbsp;span</samp></p>
<p>That&#8217;s basically it. Just create a code snippet in your favorite editor and remember: <em>Sample markup is the new lorem ipsum</em>.<br />
Am I missing something? Looking forward your improvement&nbsp;suggestions.</p>
<p>Changelog:</p>
<ul>
<li>v0.2 fixed a sad error, my bad.<br />
additionally set up a <a href="http://websvn.erikpoehler.com/">subversion repository</a> for these files&nbsp;(2010-05-05)</li>
<li>v0.1 Initial version.&nbsp;(2009-10-9)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/sample-markup-for-css-developers.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery is fun :)</title>
		<link>http://contactsheet.de/jquery-is-fun.xhtml</link>
		<comments>http://contactsheet.de/jquery-is-fun.xhtml#comments</comments>
		<pubDate>Wed, 30 Sep 2009 16:35:12 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Webwork]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[easing]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://erikpoehler.com/?p=1293</guid>
		<description><![CDATA[ There are probably a dozen pre-made image gallery plugins for jQuery that do the same thing, or could be hacked to do so&#8230; but actually I wanted to see how hard it is to code a scrolling header animation similar to the one i found on www.freshtilledsoil.com.
So here&#8217;s my own approach for the same [...]]]></description>
			<content:encoded><![CDATA[<p><img class="floatleft left alignleft" src="http://contactsheet.de/bilder/slideheader.jpg" alt="Sliding Header Animation with jQuery" /> There are probably a dozen pre-made image gallery plugins for <a href="http://jquery.com/">jQuery </a>that do the same thing, or could be hacked to do so&#8230; but actually I wanted to see how hard it is to code a scrolling header animation similar to the one i found on <a href="http://www.freshtilledsoil.com/">www.freshtilledsoil.com</a>.<br />
So here&#8217;s my own approach for the same thing: <a href="http://contactsheet.de/sandbox/autoload/">See the Demo here</a>. Instead of writing proper plugins for jQuery, I actually got used to writing global Javascript functions. Although these may or may not use jQuery functionality themselves and mostly do project-specific stuff - it&#8217;s not really reusable in the next project. So hacking together a jQuery plugin would be mandatory. That said, this is the result of that practice.&nbsp;Easy.</p>
<p>So what this does is: First, it requires you to set up a list with images and another div with links (the controls). have a wrapper div surround this. When clicking on a &#8216;pager&#8217; link, it will then slide the whole list in its parent&nbsp;div.</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/jquery-is-fun.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE6 Update</title>
		<link>http://contactsheet.de/ie6-update.xhtml</link>
		<comments>http://contactsheet.de/ie6-update.xhtml#comments</comments>
		<pubDate>Sun, 19 Apr 2009 14:02:57 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IEsucks]]></category>

		<guid isPermaLink="false">http://erikpoehler.com/ie6-update.xhtml</guid>
		<description><![CDATA[In the spirit of the IE Death March there is now a pre-made Javascript available at www.ie6update.com that helps Webmasters with integrating a message bar, encouraging users of Microsoft&#8217;s &#34;Internet Explorer 6&#34; to upgrade their browser to a more recent version. Actually it looks exactly like one of these annoying &#34;Missing Active-X controls&#34; bars in [...]]]></description>
			<content:encoded><![CDATA[<p>In the spirit of the <a href="http://iedeathmarch.org" title="IE Deatch March">IE Death March</a> there is now a pre-made Javascript available at <a href="http://www.ie6update.com" title="IE6 Update">www.ie6update.com</a> that helps Webmasters with integrating a message bar, encouraging users of Microsoft&#8217;s &quot;Internet Explorer 6&quot; to upgrade their browser to a more recent version. Actually it looks exactly like one of these annoying &quot;Missing Active-X controls&quot; bars in IE. Although this is what doubtful banner-ads, or evil download sites do when &quot;leading visitors to believe they see a system alert or warning&quot; - in this case there is one huge difference: this message is trying to make the web a better&nbsp;place.</p>
<p>(via&nbsp;<strong><a href="http://twitter.com/rajubitter" title="Raju Bitter">rajubitter</a></strong>)</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/ie6-update.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Douglas Bowman kehrt Google den R&#252;cken</title>
		<link>http://contactsheet.de/douglas-bowman-kehrt-google-den-ruecken.xhtml</link>
		<comments>http://contactsheet.de/douglas-bowman-kehrt-google-den-ruecken.xhtml#comments</comments>
		<pubDate>Tue, 24 Mar 2009 23:10:26 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Whatever]]></category>
		<category><![CDATA[designerdude]]></category>
		<category><![CDATA[designguru]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://erikpoehler.com/?p=1141</guid>
		<description><![CDATA[Und dieser schreibt auch etwas zu seinen Beweggr&#252;nden. Sehr interessant f&#252;r alle die sich fragen, wie das wohl ist bei Google zu arbeiten. Okay, es kommt wohl immer drauf an wo man ist, was man macht. Aber Doug Bowman ist als leitender Designer und Webstandards Evangelist kein unbeschriebenes Blatt. Ich f&#252;r meinen Teil hatte ganz [...]]]></description>
			<content:encoded><![CDATA[<p>Und dieser schreibt auch etwas zu <a href="http://stopdesign.com/archive/2009/03/20/goodbye-google.html" title="Douglas Bowman on why he's leaving Google">seinen Beweggr&#252;nden</a>. Sehr interessant f&#252;r alle die sich fragen, wie das wohl ist bei Google zu arbeiten. Okay, es kommt wohl immer drauf an wo man ist, was man macht. Aber Doug Bowman ist als leitender Designer und Webstandards Evangelist kein unbeschriebenes Blatt. Ich f&#252;r meinen Teil hatte ganz zu Beginn (zu Beginn meiner eigenen HTML-CSS-Webged&#246;ns-Anf&#228;nge), sehr begeistert verfolgt wie eine Elite mit Podcasts und Slides, Pr&#228;sentationen von der Web Essentials 2003, 2004 ihre Ideen verbreitete. Wenn man denen zuh&#246;rte war CSS immer ganz simpel (ist es ja auch, was es hier und da kompliziert macht sind die unzul&#228;nglichkeiten eines Browsers). Im deutschsprachigen Raum gab es damals noch nichts was mit dem Output und Qualit&#228;t von &quot;A List Apart&quot;, Zeldman, Shea, Meyer, Weakley, Clark, Moll, Holzschlag &amp; Co. mithalten&nbsp;konnte.</p>
<p>Wenn ich mich hier so respektvoll verneige, dann tu ich das weil mir jemand anschaulich und einfach erkl&#228;rt hat wie CSS funktioniert bzw. diverse Tricks und herangehens- und Denkweisen&nbsp;demonstrierte.</p>
<p>Nun berichtet Douglas Bowman, der einst kontrovers die Vorz&#252;ge von CSS anhand der Microsoft-Seite erkl&#228;rte, warum er nun nach Jahren Google verl&#228;&#223;t. Und vieles von dem was man da liest wird in &#228;hnlicher Form auch anderen Designern bekannt vorkommen: so ist von 40 blau-Schattierungen die Rede, weil man sich nicht f&#252;r eins aus zwei blaus entscheiden konnte, oder von Argumentationen f&#252;r und wider einer 3 Pixel oder doch lieber 5 Pixel starken&nbsp;Umrandung.</p>
<p>In der Tat ein Armutszeugnis f&#252;r Google, wenn sich ein Designer und Webstandardista von Bowmans&#8217; Kaliber offen &#252;ber solchen Starrsinn beschwert. Nun, wer seinen Designer (wohlgemerkt ein Fachmann) mit soetwas sabotiert, macht in jedem Fall etwas falsch und muss sich den Vorwurf dann auch gefallen&nbsp;lassen.</p>
<p>F&#252;r mich (nach Jahren) ein Grund mal wieder &#246;fter in Bowman&#8217;s Blog zu sehen. Ich bin sehr gespannt was da&nbsp;kommt&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/douglas-bowman-kehrt-google-den-ruecken.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bikubische Bildskalierung in IE6 und IE7</title>
		<link>http://contactsheet.de/bikubische-bildskalierung-in-ie6-und-ie7.xhtml</link>
		<comments>http://contactsheet.de/bikubische-bildskalierung-in-ie6-und-ie7.xhtml#comments</comments>
		<pubDate>Thu, 19 Mar 2009 14:23:35 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[resize]]></category>

		<guid isPermaLink="false">http://contactsheet.de/?p=1047</guid>
		<description><![CDATA[Es gibt einen sch&#246;nen, auch mir bisher unbekannten Weg die Darstellung von skalierten Bildern im IE6 und IE7 zu&#160;verh&#252;bschen:

img { -ms-interpolation-mode: bicubic;&#160;}

Das ganze kann man bei css-tricks.com ansehen und nachlesen. Die Anweisung selbst ist nat&#252;rlich propriet&#228;r, also au&#223;erhalb der CSS-Standards. Der Vollst&#228;ndigkeit halber sollte man (vielleicht) auch noch anmerken, dass Bilder, die man &#252;ber die [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt einen sch&#246;nen, auch mir bisher unbekannten Weg die Darstellung von skalierten Bildern im IE6 und IE7 zu&nbsp;verh&#252;bschen:</p>
<ol class="code css">
<li class="t0 odd"><code>img { -ms-interpolation-mode: bicubic;&nbsp;}</code></li>
</ol>
<p>Das ganze kann man bei <a href="http://css-tricks.com/ie-fix-bicubic-scaling-for-images/">css-tricks.com</a> ansehen und nachlesen. Die Anweisung selbst ist nat&#252;rlich propriet&#228;r, also au&#223;erhalb der CSS-Standards. Der Vollst&#228;ndigkeit halber sollte man (vielleicht) auch noch anmerken, dass Bilder, die man &#252;ber die Attribute <samp class="html">width</samp> und <samp class="html">height</samp> skaliert suboptimal sind, da sie mehr Ressourcen verbrauchenals n&#246;tig - ein letztes Mittel, wenns mal schnell gehen muss, sozusagen.<br />(via&nbsp;<a href="http://ilovetypography.com/">IlT</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/bikubische-bildskalierung-in-ie6-und-ie7.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Platzsparende Bildergalerien mit Imageflow</title>
		<link>http://contactsheet.de/platzsparende-bildergalerien-mit-imageflow.xhtml</link>
		<comments>http://contactsheet.de/platzsparende-bildergalerien-mit-imageflow.xhtml#comments</comments>
		<pubDate>Sun, 30 Dec 2007 12:33:24 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Webwork]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Bildergalerie]]></category>
		<category><![CDATA[Effekthascherei]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[programmierung]]></category>

		<guid isPermaLink="false">http://contactsheet.de/platzsparende-bildergalerien-mit-imageflow.xhtml</guid>
		<description><![CDATA[
Imageflow&#160;0.8
Dieser Ansatz ist vor allem durch die Cover Flow Technik bekannt geworden, welche von dem K&#252;nstler Andrew Coulter Enright entwickelt wurde und nun - von Apple aufgekauft - unter anderem in iTunes zum Einsatz&#160;kommt.
Imageflow nennt sich ein feines Javascript, welches eine beliebige Anzahl Bilder auf stylische Weise darstellt. Auf jeden Fall mal ansehen! Auch wer [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="ImageFlow Bildergalerie" src="/bilder/imageflow.jpg" /></p>
<h3>Imageflow&nbsp;0.8</h3>
<blockquote><p>Dieser Ansatz ist vor allem durch die Cover Flow Technik bekannt geworden, welche von dem K&#252;nstler Andrew Coulter Enright entwickelt wurde und nun - von Apple aufgekauft - unter anderem in iTunes zum Einsatz&nbsp;kommt.</p></blockquote>
<p><a href="http://194.95.111.244/~countzero/scripts/_myImageFlow/">Imageflow</a> nennt sich ein feines Javascript, welches eine beliebige Anzahl Bilder auf stylische Weise darstellt. Auf jeden Fall mal ansehen! Auch wer wie ich nicht unbedingt auf Effekthascherei steht wird zugeben m&#252;ssen, dass es nicht nur sehr platzsparend und leicht zu bedienen ist. Es sieht in erster Linie auch sehr gut aus. Leider ben&#246;tigt die intensive clientseitige Gr&#246;&#223;enberechnung der Bilder einiges an Ressourcen. Wie gut bzw. wie fl&#252;ssig die Animation abl&#228;uft h&#228;ngt sowohl von der Rechnerleistung und der Geschwindigkeit des jeweiligen Browsers beim Ausf&#252;hren des Javascripts ab. Hier machen IE und Safari keine gute&nbsp;Figur.</p>
<p>F&#252;r Anh&#228;nger von Javascript-Frameworks hei&#223;t es vorerst abwarten, doch es wird wohl nur eine Frage der Zeit sein bis es Ports f&#252;r die speziellen Frameworks gibt. Momentan gibt es neben dem Originalskript noch eine <a href="http://www.freakgroup.com.ar/bilder/ejemplos/coverflow/">MooTools-Variante</a>. Ich hoffe dass da auch bald was f&#252;r <a href="http://jquery.com">jQuery</a>&nbsp;kommt.</p>
<h3>Beispielintegration in WordPress -&nbsp;PHP-Codeschnipsel</h3>
<p>F&#252;r den Moment <a href="http://susannebiehler.com/">funktioniert</a> es aber ohne gro&#223;en Aufwand: 1) Javascript eingebunden 2) ein Verzeichnis f&#252;r Bilder erstellt 3) einen eigenen Unterordner /cache/ f&#252;r die Reflexionen angelegt 4) nun nur noch eine einfache Funktion erstellt, die im Verzeichnis nach Bildern sucht und diese ausgibt. Dabei werden Bildbeschreibungen automatisch aus dem Dateinamen&nbsp;generiert.</p>
<p>So braucht man lediglich Bilder ins passende Verzeichnis hochladen und die Galerie w&#228;chst. Noch einfacher und h&#252;bscher geht das sicher nicht.<br />
Hier ein Beispiel, wie die Funktion aussehen kann, die die Bilder in einem Verzeichnis findet und ausgibt. (In meinem Fall, einem WordPress-Theme habe ich diese Funktion einfach in die Dateui functions.php des Themes&nbsp;gepackt.)</p>
<ol class="code php">
<li class="t0 odd"><strong>1.</strong><code>function generate_imageflow_images()&nbsp;{</code></li>
<li class="t2"><strong>2.</strong><code>$photo_directory="bilder/"; // include trailing&nbsp;slash</code></li>
<li class="t2 odd"><strong>3.</strong><code>$index_directory=$photo_directory; // directory indexed for photos (for instance, you could instead index your thumbnail&nbsp;directory)</code></li>
<li class="t2"><strong>4.</strong><code>$file_extension=".jpg"; //&nbsp;extension</code></li>
<li class="t2 odd"><strong>5.</strong><code>$sep = "_"; // this char will be replaced with white-space for displaying an&nbsp;image-title</code></li>
<li class="t2"><strong>6.</strong><code>$sort=2; // 0: no sorting; 1: sorts files alphabetically; 2: sorts files by&nbsp;date</code></li>
<li class="t2 odd"><strong>7.</strong><code>$dir=opendir($index_directory);</code></li>
<li class="t2"><strong>8.</strong><code>if ($sort==2)&nbsp;{</code></li>
<li class="t3 odd"><strong>9.</strong><code>while($file=readdir($dir))&nbsp;{</code></li>
<li class="t4"><strong>10.</strong><code>if (strrchr($file,".")==$file_extension)&nbsp;{</code></li>
<li class="t5 odd"><strong>11.</strong><code>$files[filectime($index_directory . $file) .&nbsp;$file]=$file;</code></li>
<li class="t4"><strong>12.</strong><code>}</code></li>
<li class="t3 odd"><strong>13.</strong><code>}</code></li>
<li class="t2"><strong>14.</strong><code>} else&nbsp;{</code></li>
<li class="t3 odd"><strong>15.</strong><code>while ($file=readdir($dir))&nbsp;{</code></li>
<li class="t4"><strong>16.</strong><code>if (strrchr($file,".")==$file_extension)&nbsp;{</code></li>
<li class="t5 odd"><strong>17.</strong><code>$files[$file]=$file;</code></li>
<li class="t4"><strong>18.</strong><code>}</code></li>
<li class="t3 odd"><strong>19.</strong><code>}</code></li>
<li class="t2"><strong>20.</strong><code>}</code></li>
<li class="t2 odd"><strong>21.</strong><code>closedir($dir);</code></li>
<li class="t2"><strong>22.</strong><code>if ($sort>0)&nbsp;{</code></li>
<li class="t3 odd"><strong>23.</strong><code>ksort($files);</code></li>
<li class="t2"><strong>24.</strong><code>}</code></li>
<li class="t2 odd"><strong>25.</strong><code>foreach ($files as $key => $val)&nbsp;{</code></li>
<li class="t3"><strong>26.</strong><code>$clean[substr($val, 0, -(strlen($file_extension)))] =&nbsp;$val;</code></li>
<li class="t2 odd"><strong>27.</strong><code>}</code></li>
<li class="t2"><strong>28.</strong><code>foreach ($clean as $desc => $filename)&nbsp;{</code></li>
<li class="t3 odd"><strong>29.</strong><code>printf(</code></li>
<li class="t4"><strong>30.</strong><code>&quot;&lt;img src=&#92;&quot;%1$s/path/to/reflect.php?img=%2$s%3$s&#038;fade_start=40&#92;&quot; alt=&#92;&quot;%4$s&#92;&quot;&nbsp;/&gt;&quot;,</code></li>
<li class="t4 odd"><strong>31.</strong><code>get_bloginfo('url'),</code></li>
<li class="t4"><strong>32.</strong><code>$photo_directory,</code></li>
<li class="t4 odd"><strong>33.</strong><code>$filename,</code></li>
<li class="t4"><strong>34.</strong><code>str_replace(array("_","-"), " ",&nbsp;$desc));</code></li>
<li class="t2 odd"><strong>35.</strong><code>}</code></li>
<li class="t0"><strong>36.</strong><code>}</code></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/platzsparende-bildergalerien-mit-imageflow.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redesign, CSS-Galerien und &#8230;</title>
		<link>http://contactsheet.de/redesign-css-galerien-und.xhtml</link>
		<comments>http://contactsheet.de/redesign-css-galerien-und.xhtml#comments</comments>
		<pubDate>Tue, 22 Aug 2006 19:40:38 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Webwork]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Award]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://contactsheet.de/redesign-css-galerien-und.xhtml</guid>
		<description><![CDATA[erikpoehler.com im neuen&#160;Look
Inzwischen (vielleicht ist es ja schon aufgefallen) gibts in diesem Blog eine Premiere: das erste unfertige Redesign eines unfertigen Redesigns ;). Nun ja, zumindest das grelle rot, an das ich mich fast schon gew&#246;hnt hatte, mu&#223;te nun dem frischen gr&#252;n weichen, mit dem ich mich schon bedeutend komfortabler f&#252;hle. ;) Das sehen auch [...]]]></description>
			<content:encoded><![CDATA[<h3>erikpoehler.com im neuen&nbsp;Look</h3>
<p>Inzwischen (vielleicht ist es ja schon aufgefallen) gibts in diesem Blog eine Premiere: das erste unfertige Redesign eines unfertigen Redesigns ;). Nun ja, zumindest das grelle rot, an das ich mich fast schon gew&#246;hnt hatte, mu&#223;te nun dem frischen gr&#252;n weichen, mit dem ich mich schon bedeutend komfortabler f&#252;hle. ;) Das sehen auch <a href="http://css-galleries.com/" title="CSS Galleries">css-galleries.com</a>, die Galerie <a href="http://cssremix.com/" title="a beautiful gallery for beautiful website designs">CSS<em>Remix</em>.com</a> und <a href="http://cssbloom.com/" title="csbloom - webdesign gallery and showcase">CSS<em>Bloom</em>.com</a> so und waren so freundlich meinen Blog in deren Showcases mit aufzunehmen.<span id="more-64"></span>Ein Dankesehr an die Betreiber dieser&nbsp;Seiten.</p>
<h3>Galerien</h3>
<p>Insbesondere die letzteren beiden sind auch aus Sicht von Fotografen mit Photoblogs, Betreibern von Bilddatenbanken oder auch f&#252;r Nutzer der <abbr title="eine Blogging-Plattform ist eine einem Tagebuch &#228;hnelnde Form von Redaktionssystem">Blogging-Plattform</abbr> Wordpress interessant. Die Seiten zeigen n&#228;mlich dass man die Open Source Software Wordpress professionell zu anderen Zwecken als dem reinen Bloggen verwenden kann.<br />
Gegen&#252;ber den unz&#228;hligen Photogalerie und Photoblog-Skripten wie folderblog, minigal, 4homepages, photopress, zenphoto, gallery2, etc. etc. bietet Wordpress n&#228;mlich einige entscheidende Vorteile:<br />
<strong>Features, die man beim Verfassen von Artikeln, Beitr&#228;gen und Seiten nutzt machen gerade bei einer Photogalerie auch Sinn:</strong>
<ul>
<li><strong>1.</strong> Kommentarfunktion, die dar&#252;berhinaus mit Spam-Karma oder Akismet effektiv vor ungebetenem Kommentarm&#252;ll gesch&#252;tzt&nbsp;wird</li>
<li> <strong>2.</strong> Pings, Trackbacks und&nbsp;Pingbacks</li>
<li><strong>3.</strong> Eine individuell anpassbare&nbsp;Suchfunktion</li>
<li><strong>4.</strong> sehr Suchmaschinen-freundlich da jedes Bild eine unikate, aussagekr&#228;ftige URL&nbsp;erh&#228;lt</li>
<li><strong>5. </strong>Dem in Wordpress integrierten&nbsp;Multiuser-Support</li>
</ul>
<h3>Wo es mir grad&nbsp;einf&#228;llt&#8230;</h3>
<p>Etwas Verwirrung verursacht derweilen <a href="http://deviantart.com">deviantart.com</a> bei mir: dort bin ich zwar (nicht mehr ganz so) frisch <a href="http://search.deviantart.com/?section=browse&#038;search=by:iroybot">angemeldeter</a> Neuling und habe angefangen die ersten Arbeiten hochzuladen, jedoch meldet sich dort inzwischen schon ein Wizzard zu Wort nach dem Motto: &#8220;Jahresbeitrag in H&#246;he&#8230;&#8221; und da endet meine Lust mich in Kleingedrucktes zu vertiefen dann auch aprupt&#8230; Falls sich schonmal jemand eben dieses Kleingedruckte angetan hat w&#228;rs super nett, wenn er/sie mir das mal f&#252;r <acronym title="d&#252;mmster anzunehmender User">DAUs</acronym> in einem Satz erkl&#228;ren k&#246;nnte. Warum soll ich f&#252;r meine Arbeit, eine Community mit meinem Input zu <em>bereichern</em> auch noch l&#246;hnen? Seltsam das. Oder nur falsch aufgeschnappt? Ist einem klar wieso Flickr so erfolgreich&nbsp;ist&#8230;</p>
<h3>&#8230;zur&#252;ck zum&nbsp;Thema</h3>
<p>Neben dem noch ausstehenden Relaunch meines Photoblogs (in einer &#228;hnlichen Designvariante) gilt es noch den ein oder anderen Fehler aus diesem Weblog zu beseitigen: im Internet Explorer sehen die Bl&#246;cke in der Seitenleiste etwas verhunzt aus, Opera stellt Umlaute in Suchergebnissen (Live-Suche) falsch dar, etc.<br />
Wenn jemandem noch was auff&#228;llt, dann einfach ne Notiz da lassen oder eine E-Mail an <a href="mailto:erikpoehler@gmx.de">erikpoehler [at] gmx [dot] de</a>. Kritik ist jederzeit willkommen, wobei es nat&#252;rlich auch die entsprechende Muse und nicht zu letzt die n&#246;tige Zeit zur Fehlerbestimmung und -Behebung meinerseits erfordert. Eine Antwort bekommt man aber (meist umgehend) von mir. Freue mich auf jeden Verbesserungsvorschlag. Zu guter letzt, sei heute noch auf ein Fundst&#252;ck aus Manuela Hoffmanns Weblog <a href="http://pixelgraphix.de">pixelgraphix.de</a>, und zwar dem <a href="http://designsnack.com">Design<em>Snack.com</em></a> hingewiesen. Ebenfalls ein gro&#223;teils sch&#246;ner und umfangreicher Fundus an&nbsp;CSS-Webdesigns.</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/redesign-css-galerien-und.xhtml/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gr&#252;nde f&#252;r sauberes HTML</title>
		<link>http://contactsheet.de/gruende-fuer-sauberes-html.xhtml</link>
		<comments>http://contactsheet.de/gruende-fuer-sauberes-html.xhtml#comments</comments>
		<pubDate>Thu, 10 Aug 2006 12:05:00 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://contactsheet.de/gruende-fuer-sauberes-html.xhtml</guid>
		<description><![CDATA[Sauberer Quelltext interessiert den Otto-Normal Internetnutzer nicht. Auch die oft angefÃ¼hrte ValidatorprÃ¼fung des Quelltextes wird die wenigsten Ã¼berzeugen. Und dennoch stellen Neulinge schnell fest: "Im Internet Explorer sieht die Seite anders aus als im Firefox" oder wundern sich Ã¼ber "fehlende Besucher auf meiner Seite". Wie diese Erkenntnisse mit sauberem Standards konformem Markup zusammenhÃ¤ngen mÃ¶chte ich in diesem Artikel kurz anreiÃŸen.]]></description>
			<content:encoded><![CDATA[<p>Sauberer Code interessiert keinen Otto-Normal Internetnutzer (genausowenig wie das Ergebnis <a href="http://validator.w3.org" title="W3C html-Validator">eines</a> oder besser <a href="http://htmlhelp.com/tools/validator/" title="WDG html-Validator">mehrerer Validatoren</a>, als Begr&#252;ndung f&#252;r guten Code ausreicht!)<br />
Wer heute Tabellenkonstrukte oder gar Frames beim Schreiben seiner Webseite nutzt wird diese (in aller Regel) trotzdem in jedem Browser ansehn k&#246;nnen. W&#252;rden die modernen Browser (firefox, opera, safari, etc.) propriet&#228;res Markup einfach ignorieren w&#252;rde kaum ein Unentschlossener von einem alten Browser (zb IE) zu diesen neuen Alternativen wechseln, sie verwenden und dann auch bei diesen bleiben. Stichpunkt &#8220;Der Browser XY stellt das falsch dar!&#8221;<span id="more-55"></span></p>
<p>Ich denke die klaren Vorteile von Standards-konformem Markup liegen im praktischen Nutzen und&nbsp;der</p>
<ul>
<li>1. <strong>Logik</strong> Warum sollte man Inhalt zb mit dem veralteten <strong>&lt;font></strong> auszeichnen (zu deutsch: Schrift) wenn darin Text ist? Oder Seitenbereiche aus Gestaltungsgr&#252;nden in Tabellenzellen sperren? Eine Tabelle ist nicht zum Gestalten da - das ist sie auch im Schulbuch fr&#252;her nie gewesen oder auf jeder anderen Tabelle, die man auf Papier gedruckt, in H&#228;nden h&#228;lt. Gegen alle WYSIWYG-Marotten sollte man sich einfach mal auf die gute alte Logik zur&#252;ckbesinnen. Elemente fliegen nicht ohne Grund aus den&nbsp;Spezifikationen.</li>
<li>2. dass man seine Inhalte so <strong>f&#252;r Suchmaschienen</strong> lesbar und auffindbar macht <strong>ist wohl der wichtigste</strong> (in erster Linie f&#252;r den Seitenbetreiber)&nbsp;<strong>Punkt</strong>.</li>
<li>3. dicht gefolgt von der Usability und Accessibility: man kann froh sein wenn Besucher die &#252;ber eine Suchmaschine auf die eigene Seite kommen mehr als ein paar Sekunden bleiben. Dann hat man interessante Inhalte und im Idealfall auch gut gestaltet und Besucher finden sich zurecht. Wenn aber dieser erste Eindruck getr&#252;bt wird, zB. weil Dinge nicht wie erwartet funktionieren (damit meine ich dass sie vllt. nur in einem bestimmten Browser funktionieren oder aber weil man dem Besucher Vorschreibungen macht zB. mit target=&#8221;_blank&#8221; etc.) vergrault man die neu gewonnenen Besucher. Deshalb sind Standards wichtig, denn die besagen nicht nur was Elemente beinhalten sondern legen zumindest einen Rahmen fest und machen Vorschl&#228;ge wie die Browser diese Elemente handhaben k&#246;nnten - wie die Softwarehersteller das dann umsetzen ist nochmal eine andere Frage.<br />
Benutzt man aber Markup, dass es in den Standards nicht (oder nicht mehr) gibt, hat der Seitenbesucher schlechte Karten, dessen browse-Verhalten oder dessen bevorzugten Browser man nicht kennen kann. Propriet&#228;res Markup trifft eine unn&#246;tige und unproffessionelle Vorauswahl und sperrt u.U. Nutzer&nbsp;aus.</li>
<li>4. gaaanz weit hinten kommt in meinen augen dann erst das ideologische - denn mehr ist ein validator-test ja nun auch nicht - bgcolor, valign und center sind propriet&#228;r (ist doch so, oder? - zumindest aber deprecated ;)) und die brauser stellens trotzdem so dar wie mans erwartet. soll hei&#223;en: standards sind nicht gleich wirklichkeit. aber man sollte schon seinen teil dazu beitragen das web f&#252;r webschreiber und surfer angenehmer zu machen. eine standards-basierte browser-welt eine hack-freie sache f&#252;r webdesigner&nbsp;w&#228;re.</li>
<li>5. Zukunftssicherheit (gibts nicht wirklich - aber zumindest gef&#252;hlt ;)) nein im ernst: Je mehr Leute auf Standards aufmerksam gemacht werden und sich an diese halten, desto mehr Bedeutung bekommen diese, desto wichtiger werden sie f&#252;r brauserhersteller, desto mehr verlass auf regeln kann der webschreiber haben. (&#8220;im firefox sieht es anders&nbsp;aus&#8221;)</li>
<li>6. ganz am Ende sei erw&#228;hnt, dass sich eine Menge Geeks und Nerds viel Arbeit mit den Standards machen. F&#252;r ein besseres&nbsp;Web.</li>
</ul>
<p>Bleibt noch anzuf&#252;gen, dass der Schritt von Transitional auf Strict-Doctypes jedem Anf&#228;nger angeraten ist. Denn viele &#8220;Unsinnigkeiten&#8221; die die Validatoren bei Transitional-Dokumenten noch durchgehen lassen werden erst in Strict-Dokumenten mokkiert. Wer html <em>Lernen</em> will, kann es auch gleich richtig machen. Im Artikel <a href="http://24ways.org/advent/transitional-vs-strict-markup">Transitional vs. Strict Markup</a> erl&#228;utert <a href="http://456bereastreet.com">Roger Johansson</a> die Unterschiede. Ich sehe es inzwischen &#228;hnlich: die Wahl des Strict-Doctypes beschert dem Internet einen noch gr&#246;&#223;eren Fortschritt als es XHTML tut. Was nicht hei&#223;en soll, dass XHTML nicht w&#252;nschenswert ist, aber mit XHTML Transitional hat man nichts gekonnt&#8230; und wie die Browser mit XHTML 1.1 umgehen ist bekannt. Zum Thema XHTML 1.1 empfehle ich auch <a href="http://jowra.com/journal/2006/02/internet-explorer-7-beta-2/">diese Diskussion</a> in den Kommentaren des Artikels zum IE7 und den Artikel <a href="http://schneegans.de/web/xhtml/">&#8220;Schl&#252;ssige Argumente f&#252;r XHTML&#8221;</a> von Schneegans.de der die Thematik sehr detailliert (und am&#252;sant) unter die Lupe nimmt. (und ganz nebenbei mein Slatystain-Wordpress-Theme als Werk eines Wannabe&#8217;s entlarvt&nbsp;;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/gruende-fuer-sauberes-html.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>einheitlicheres Markup f&#252;r Weblog-Designs</title>
		<link>http://contactsheet.de/einheitlicheres-markup-fuer-weblog-designs.xhtml</link>
		<comments>http://contactsheet.de/einheitlicheres-markup-fuer-weblog-designs.xhtml#comments</comments>
		<pubDate>Thu, 10 Aug 2006 10:40:31 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Lightpress]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Webwork]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://contactsheet.de/einheitlicheres-markup-fuer-weblog-designs.xhtml</guid>
		<description><![CDATA[Wie Majordojo berichtet sollen Wordpress-Themes k&#252;nftig einheitliches Markup bekommen. Damit wird es wohl mehr Ordnung in Wordpress-Themes geben, und die teilweise chaotischen (und teilweise fehlerbehafteten) Konstrukte der Vergangenheit angeh&#246;ren. Ein Vorbild nimmt man sich dabei an den Vorlagen f&#252;r den Movable Type Design Contest Link. Damit wird es m&#246;glich das Design des Blogs mit nur [...]]]></description>
			<content:encoded><![CDATA[<p>Wie Majordojo <a href="http://www.majordojo.com/blogging/wordpress_mulls_standardizing_their_html.php">berichtet</a> sollen Wordpress-Themes k&#252;nftig einheitliches Markup bekommen. Damit wird es wohl mehr Ordnung in Wordpress-Themes geben, und die teilweise chaotischen (und teilweise fehlerbehafteten) Konstrukte der Vergangenheit angeh&#246;ren. Ein Vorbild nimmt man sich dabei an den Vorlagen f&#252;r den Movable Type Design Contest <a href="http://www.thestylecontest.com/help/official_contest_files">Link</a>. Damit wird es m&#246;glich das Design des Blogs mit nur einer einzigen Datei zu wechseln (was ja an sich keine neue Idee ist, Styles in Form einer einzigen CSS-Datei gab es ja auch in Wordpress 1.5 schon - nur dass es dabei noch keine Dateistruktur f&#252;r Hintergrundbilder gab). Nimmt man Hintergrundbilder dazu k&#228;me man k&#252;nftig immernoch sortierter zum neuen Blogdesign. Auch bei Type Pad ist der Gedanke <a href="http://everything.typepad.com/blog/2005/08/just_your_style.html">entstanden</a>. Bis die Grundvorlagen aber f&#252;r Wordpress portiert sind, wird es wohl noch eine Zeit dauern. Mal sehen ob ich dazu komme und Lightpress-Versionen schneller hinbekomme (einfacher als Wordpress-Themes w&#228;ren sie ja&#8230;)<br />
via <a href="http://qix.it">Ludo -&nbsp;Qix.it</a></p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/einheitlicheres-markup-fuer-weblog-designs.xhtml/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gl&#228;nzende Bilder mit CSS</title>
		<link>http://contactsheet.de/glaenzende-bilder-mit-css.xhtml</link>
		<comments>http://contactsheet.de/glaenzende-bilder-mit-css.xhtml#comments</comments>
		<pubDate>Mon, 31 Jul 2006 16:13:24 +0000</pubDate>
		<dc:creator>Erik Poehler</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webwork]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[stylesheet]]></category>
		<category><![CDATA[thumbnail]]></category>
		<category><![CDATA[vorschaubild]]></category>

		<guid isPermaLink="false">http://contactsheet.de/glaenzende-bilder-mit-css.xhtml</guid>
		<description><![CDATA[Glanz und Gloria mit&#160;Javascript
Im Weblog von napyfab will die WM-Feierlaune nicht vor&#252;ber gehen. Nagut, als Italiener hat er ja auch allen Grund dazu &#8230; (wann hat schonmal ein Zweitliga-Team den Titel geholt? :D) &#8230; neben dem bereits erw&#228;hnten Livesuche-Tutorial bin ich in dem Blog, neben allen Fanwimpeln und WM-Fotos, aber auch noch auf ein Skript [...]]]></description>
			<content:encoded><![CDATA[<h3>Glanz und Gloria mit&nbsp;Javascript</h3>
<p><img class="floatright" src="/bilder/stadion-reflections.jpg" alt="stadion-klon" />Im Weblog von <a href="http://blog.napyfab.com/" title="italienisch-sprachiger Weblog">napyfab</a> will die WM-Feierlaune nicht vor&#252;ber gehen. Nagut, als Italiener hat er ja auch allen Grund dazu &#8230; (wann hat schonmal ein Zweitliga-Team den Titel geholt? :D) &#8230; neben dem bereits erw&#228;hnten Livesuche-Tutorial bin ich in dem Blog, neben allen Fanwimpeln und WM-Fotos, aber auch noch auf ein Skript aufmerksam geworden: <a href="http://blog.napyfab.com/65/reflectionjs/" title="Bildespiegelung mit Javascript">Reflections.js</a> versieht Bilder mit einem durchaus hochgl&#228;nzendem Spiegelungseffekt. Sehr edel das. (auch eine <a href="http://cow.neondragon.net/stuff/reflection/" title="Demoseite zur Reflections.js">Beispiel-Seite</a> und eine <a href="http://cow.neondragon.net/stuff/reflection/reflectomatic.html" title="Live-Demo zur Reflections.js">Live-Demo</a> gibts es).<br />
Einziger Wermutstropfen ist, dass im Opera 8.x weder das Originalbild noch die Spiegelung zu sehen ist. Im Opera 9 solls aber funktionieren. Dass der Effekt aber auch in &#228;lteren Versionen sauber herunterstuft w&#228;re f&#252;r mich allerdings schon ein&nbsp;Muss.</p>
<h3>Muss es immer gleich Javascript&nbsp;sein?</h3>
<p>Nicht bei jedem Bild sieht sowas gut aus, und ist schnell mal &#8220;too much&#8221; oder &#8220;overdozed&#8221;&#8230;<br />
Aber auch ohne Javascript l&#228;sst sich Bildern und Vorschaubildern ein wenig Effektleben und Glanz verpassen: mit&nbsp;<acronym title="Cascading Stylesheets - Stilvorlagen">CSS</acronym>.</p>
<h3>Ein wenig opacity&nbsp;gef&#228;llig?</h3>
<p>Bevor es an den Glanz geht m&#252;ssen wir uns mit &#8220;opacity&#8221; besch&#228;ftigen: Was l&#228;sst sich mit opacity anstellen? <span id="more-47"></span>Opazit&#228;t, die Eigenschaft durchscheinend zu sein, ist das Gegenteil von Transparenz. Wir erh&#246;hen also die Transparenz indem man die Opazit&#228;t herabsetzt: <code class="html">img {opacity:0.75;}</code> <img class="floatright" src="/bilder/opacity.jpg" alt="css3 opacity" />(das Bild erscheint opak, es wird somit transparent).<br />
Das ist zwar CSS3 (d.h. jeder CSS-Validator schl&#228;gt bei der Verwendung dieser Eigenschaft Alarm), das sollte einen aber nicht davon abhalten es zu verwenden. Leider wars das jetzt auch schon mit der einfachen CSS-Theorie. Wie so oft sieht es in der Praxis, Dank der vielen verschiedenen S&#252;ppchen, die die Browser-Hersteller kochen, etwas diffizieler&nbsp;aus.</p>
<h3>Beispielseite&nbsp;1:</h3>
<h3><a href="/bilder/opacity/" title="Beispielseite mit opacity-Hovereffekt"><img src="/bilder/opacity/ex1.gif" alt="" /> Hovereffekt mit&nbsp;opacity</a></h3>
<p>Nach meinem Wissen, gibt es aber in allen Browsern (Opera nur mit Umwegen - dazu sp&#228;ter mehr) bis auf das Auslaufmodell &#8220;Internet Explorer/Mac&#8221;, einen Weg Transparenzen f&#252;r Bilder&nbsp;umzusetzen.</p>
<p>Auf der Beispielseite kann man sich selbst ein Bild machen: Thumbnail-Galerie mit und ohne&nbsp;opacity-Hovereffekten.</p>
<p><strong>Probleme mit den meisten Browsern lassen sich beheben:</strong> Damit es in allen Browsern klappt muss man leider zu propriet&#228;ren Mitteln&nbsp;greifen:</p>
<ol>
<li class="listing"><strong>Gecko-Browser (Firefox/Mozilla/Flock/Netscape/K-Meleon/etc.):</strong><br />
konnten bis Ende letzten Jahres nichts mit opacity anfangen. Das propriet&#228;re <strong>-moz-opacity</strong> erf&#252;llte bis dato aber den gleichen Zweck. Inzwischen (bitte nicht nach der genauen Gecko-Version fragen) sind Firefox &#038; Co. aber auf opacity gut zu sprechen, trotzdem sollte man auf <strong>-moz-opacity</strong> noch nicht verzichten - f&#252;r &#228;ltere Versionen dieser&nbsp;Browser. </li>
<li><strong>Internet Explorer 6/Win:</strong><br />
opacity kennt er nicht, nutzt aber eine hauseigene Alpha-Blending Variante:&nbsp;<strong>filter:alpha(opacity=50);</strong></li>
<li><strong>Opera:</strong><br />
F&#252;r den Opera Browser muss man sich etwas anderes einfallen lassen: hier braucht man ein angepa&#223;tes bzw. erweitertes Markup, man muss also seinen html-Code anpassen. Dazu mehr in einem sp&#228;teren&nbsp;Artikel.</li>
<li><strong>Safari:</strong><br />
 hat keine Probleme mit opacity, die Version 1.1 soll aber auf <strong>-khtml-opacity</strong>&nbsp;bestehen.</li>
<li><strong>Internet Explorer/Mac:</strong> stellt das nach meinem Wissen nicht dar. Hier wird aber ebenfalls der Workaround f&#252;r Opera greifen. Beim IE/Mac zu beachten: Alpha-Transparenzen werden nur dann richtig dargestellt wenn background-repeat auf none gesetzt&nbsp;ist.</li>
</ol>
<p>Am Ende k&#228;me also eine CSS-Regel heraus, die in etwa so aussieht:<br />
<code class="css">img.opaque {<br />
opacity:0.75;<br />
filter:alpha(opacity=75);<br />
moz-opacity:0.75;<br />
-khtml-opacity:.75;<br />&nbsp;}</code></p>
<p>Weil jede der einzelnen Regeln den selben Zweck - nur halt in unterschiedlichen Browsern - erf&#252;llen soll, kann man das auch so einbinden, dass selbst der CSS-Validator zufrieden&nbsp;ist.</p>
<p>CSS:<br />
<code class="css">&lt;style type="text/css" media="screen"><br />
a img.opaque {opacity: .75;}<br />
a:hover img.opaque {opacity: .99;}<br />
&lt;/style><br />
&lt;!--[if lt IE 7]><br />
&lt;style type="text/css" media="screen"><br />
a img.opaque {filter:alpha(opacity=75);}<br />
a:hover img.opaque {filter:alpha(opacity=100);}<br />
&lt;/style>&lt;![endif]--><br />
</code><br />
Javascript:<br />
<code class="js">if ((navigator.appName.indexOf('Netscape')+1)) {<br />
document.write('&lt;style type="text/css" media="screen"><br />
   a img.opaque { -moz-opacity: .5;}<br />
   a:hover img.opaque {-moz-opacity: .999;}<br />
&lt;/style>');<br />
}</code><br />
Zur Erkl&#228;rung: In der ersten &lt;style>-Angabe legen wir fest, was alle Browser k&#246;nnen sollten, bzw. es fr&#252;her oder sp&#228;ter wohl auch interpretieren werden: Standard-konformes CSS. Darauf folgt ein Conditional Comment, welches lediglich der Internet Explorer interpretiert (das ist zwar gegen den eigentlichen Sinn eines html-Kommentars - schlie&#223;lich ist ein Kommentar f&#252;r Notizen da und nicht um auszuf&#252;hrenden Code zu beherbergen - aber wer sich mal etwas mit Webdesign und insbesondere dem IE besch&#228;ftigt hat, weiss, dass es nur selten mit Logik zugeht). Die erste Zeile des Kommentars besagt, dass nur Versionen des IE kleiner Version 7 den Kommentar verarbeiten sollen. Dann kommt der erw&#228;hnte Alpha-Blending-Filter und wir schlie&#223;en das Kommentar schnell wieder, ohne weiter dar&#252;ber nachzudenken&#8230; Anstelle der &lt;style>-Elemente kann man nat&#252;rlich auch auf externe CSS-Dateien ver&lt;link>en.<br />
Das Javascript macht nichts anderes, als f&#252;r Gecko-Browser ein weiteres &lt;style>-Element in das Dokument zu schreiben, <strong>ohne</strong> aber unser Stylesheet beim Validator-Test durchrasseln zu lassen. Reine Kosmetik f&#252;r CSS-Fetischisten also&#8230;&nbsp;;)</p>
<h3>HeY! Wo bleibt der&nbsp;Glanz?</h3>
<p>Von der Opacity zum Glanz ist es jetzt nur noch ein kleiner Schritt. Bei den transparent gemachten Bildern scheint die Hintergrundfarbe durch. Auch wenn dieser Hovereffekt schonmal ganz nett aussieht, hab ich mir &#252;berlegt, wie man dem blassen Aussehen und dem S&#228;ttigungsverlust entgegenwirken kann. Herausgekommen ist ein Hintergrundbild welches man dem Link zuweist. Je nach aktueller Transparenz &#252;berlagert das eigentliche Bild dieses Hintergrundbild unterschiedlich stark - mit dem Effekt, dass ein leichtes gl&#228;nzen durchschimmert.<br />
<img src="/bilder/thumb-bg.gif" alt="Hintergrundbild f&#252;r transparente Bilder" /> <img src="/bilder/opacity/slatybg1.gif" alt="Hintergrundbild f&#252;r transparente Bilder" /> <img src="/bilder/opacity/imgbg.gif" alt="Hintergrundbild f&#252;r transparente Bilder" />. Am besten eignet sich der Effekt wohl f&#252;r Thumbnail-Ansichten in Bildergalerien, wo man sich nat&#252;rlich entsprechend der Thumbnailgr&#246;&#223;e oder dem gew&#252;nschten Effekt ein eigenes Hintergrundbild f&#252;r die transparenten Thumbnails getsalten wird.<br />
Mit der Zeile <code class="css">a {background:url(thumb-bg.jpg) no-repeat 50% 50%;}</code> weist man das Bild dem Link zu &#8230;&nbsp;fertig!</p>
<h3>Beispielseite&nbsp;2:</h3>
<h3><a href="/bilder/opacity/fertig.html" title="Hovereffekt mit opacity und Hintergrundbild"><img src="/bilder/opacity/ex2.gif" alt="" /> Hovereffekt mit opacity und&nbsp;Hintergrundbild</a></h3>
<p>getestet mit folgenden&nbsp;Browsern:</p>
<ul>
<li><strong><del>Opera</del></strong> nicht ohne Markup-Trickserei zu realisieren (mehr dazu sp&#228;ter in einem eigenen&nbsp;Artikel)</li>
<li><strong>Internet Explorer/Mac</strong> mir kein Weg&nbsp;bekannt</li>
<li><strong>Internet Explorer 6</strong> mit Active X Transition-Filtern&nbsp;machbar</li>
<li><strong>Netscape Navigator</strong> (den &#252;brigens kein Mensch braucht) ohne&nbsp;Probleme</li>
<li><strong>Firefox</strong> ohne&nbsp;Probleme</li>
<li><strong>Flock</strong> ebenfalls ohne&nbsp;Probleme</li>
<li><strong>K-Meleon</strong> ebenfalls ohne&nbsp;Probleme</li>
<li><strong>Safari</strong> ohne&nbsp;Probleme</li>
</ul>
<h3>beide Techniken&nbsp;zusammen</h3>
<p>Um dem ganzen jetzt noch die funkelnde Glossy-overdose-Krone aufzusetzen: kombinieren wir doch mal beide Techniken&nbsp;miteinander&#8230;</p>
<h3>Ausblick, Alternativen, Ideen und weiterf&#252;hrender Lesestoff zum&nbsp;Thema</h3>
<p>Mit ein wenig CSS-rumgepfriemel und einem Hintergrundbild lassen sich also Bilder oder Thumbnail-Seiten in den meisten Browsern mit einem Glanzeffekt versehen.<br />
Leider ist die opacity-Eigenschaft nur mit viel Detailarbeit und propriet&#228;rem Ged&#246;ns &#8220;Cross-Browser-&#8221; und &#8220;Plattform-&#252;bergreifend&#8221; zu nutzen.<br />
Nachteile: Der S&#228;ttigungsverlust, die leichte Verf&#228;rbung der Bilder ist mit zunehmender Transparenz deutlich zu erkennen und nicht immer sch&#246;n anzusehen.<br />
Vorteile: Wie auch bei der Javascript-Geschichte mit dem Reflections.js, bel&#228;sst man die Bilder in unver&#228;ndertem Originalzustand und bleibt somit flexibel. Wenn man diese Effekte nun kombiniert hat man eine Unmenge an Gestaltungsm&#246;glichkeiten. Man denke nur an Prototype oder moo.fx&nbsp;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://contactsheet.de/glaenzende-bilder-mit-css.xhtml/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
