<?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>Norman&#039;s Blog &#187; Tutorial</title>
	<atom:link href="http://www.normansblog.de/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.normansblog.de</link>
	<description>News über CSS, jQuery, Firefox und andere Browser sowie aktuelle Kinofilme.</description>
	<lastBuildDate>Tue, 17 Jan 2012 21:20:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>CSS3 im Detail: Transitions</title>
		<link>http://www.normansblog.de/css3-im-detail-transitions/</link>
		<comments>http://www.normansblog.de/css3-im-detail-transitions/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 01:02:26 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=3683</guid>
		<description><![CDATA[Aaaah *rülps* Weihnachten.. Ich weiß ja nicht, wie ihr es mit Weihnachten haltet, aber ich mag es. Die Familie ist da, jeder kriegt Geschenke und es gibt wahnsinnig viel lecker Essen UND DAS DREI TAGE LANG! (Bis auf die Geschenke versteht sich.. obwohl.. wäre auch mal cool eigentlich ) Kommen wir zum eigentlichen Thema des [...]]]></description>
			<content:encoded><![CDATA[<p>Aaaah *rülps* Weihnachten..</p>
<p><a href="http://www.normansblog.de/css3-im-detail-transitions/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Ich weiß ja nicht, wie ihr es mit Weihnachten haltet, aber ich mag es. Die Familie ist da, jeder kriegt Geschenke und es gibt wahnsinnig viel lecker Essen UND DAS DREI TAGE LANG! (Bis auf die Geschenke versteht sich.. obwohl.. wäre auch mal cool eigentlich <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) Kommen wir zum eigentlichen Thema des Tages: <strong>CSS Transitions</strong>!</p>
<p><span id="more-3683"></span></p>
<div class="demolink"><a href="http://www.normansblog.de/demos/transition/">Transition Demo</a></div>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits vollständig:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a style="opacity:0.3;" href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a style="opacity:0.3;" href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a><br/><small>(Opera unterstützt noch nicht alle Properties, IE erst ab Version 10)</small></p>
</blockquote>
<h3>Animationen bei Mouse-Hover</h3>
<p>Prinzipiell dient Transition dazu eine Änderung am Styling eines Elements zu verlängern. Natürlich kennen wir alle schon die Peusoklasse <code>:hover</code> und auch, dass wir damit Eigenschaften des Normalzustandes überschreiben können. Transition greift genau an diesem Punkt an. Wir können bestimmen, wie lang diese Änderung dauert, welche Eigenschaften davon betroffen sind, ob es eine Pause gibt, bevor die Änderung beginnt und das Muster, in der sie abläuft (dazu wird eine <a href="http://de.wikipedia.org/wiki/B%C3%A9zierkurve">Bézierkurve</a> benutzt). Es entsteht eine kurze <strong>Animation</strong>.</p>
<h3>Syntax</h3>
<p>Die Kurzform lautet <code>transition</code>, danach folgen bis zu vier Werte, die gleichzeitig auch als einzelne Befehle benutzt werden können, ähnlich wie das bei <code>padding</code> oder <code>background</code> auch der Fall ist.</p>
<ol>
<li><em>transition-property</em> &#8211; gibt an, welche Eigenschaft animiert werden soll, Default ist <strong>all</strong></li>
<li><em>transition-duration</em> &#8211; ein dezimaler Wert in Sekunden, der für die Länge der Transition steht, Default ist <strong>0s</strong> (0 Sekunden, also keine Transition sichtbar)</li>
<li><em>transition-timing-function</em> &#8211; mehrere <a href="https://developer.mozilla.org/en/CSS/timing-function#Keywords_for_common_timing-functions">Schlüsselwörter</a> möglich, <a href="https://developer.mozilla.org/en/CSS/timing-function#Syntax">eigenen Kurven-Beschreibungen</a> möglich, Default ist <strong>ease</strong></li>
<li><em>transition-delay</em> &#8211; Länge der Pause in Sekunden bis Transition beginnt, Default ist <strong>0s</strong></li>
</ol>
<p>Da der Standard bisher nicht zu 100% fertig ist, unterstützen alle Browser Transition mit dem jeweils bekannten Prefix. An einem Beispiel wollen wir erreichen, dass sich die Textfarbe eines Links bei Mouse-Over innerhalb einer Sekunde von Blau zu Rot ändert.</p>
<h6>CSS</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>
	-moz-transition<span style="color: #00AA00;">:</span>all 1s ease 0s<span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/*Firefox*/</span>
	-webkit-transition<span style="color: #00AA00;">:</span>all 1s ease 0s<span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/*Safari + Chrome*/</span>
	-o-transition<span style="color: #00AA00;">:</span>all 1s ease 0s<span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/*Opera*/</span>
	-ms-transition<span style="color: #00AA00;">:</span>all 1s ease 0s<span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/*Internet Explorer*/</span>
	transition<span style="color: #00AA00;">:</span>all 1s ease 0s<span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/*W3C Standard*/</span>
<span style="color: #00AA00;">&#125;</span>
a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Man könnte auch nur <code>transition:1s</code> schreiben und den Rest den Defaultwerten überlassen aber ein Beispiel sollte ausführlicher sein. Der Effekt bliebe übrigens der gleiche, wenn wir ausschließlich <code>transition-duration</code> (samt allen Prefixes) verwenden würden, weil im Beispiel nur die Rede von einer Sekunde ist.</p>
<p>Was vielleicht noch erwähnenswert ist..</p>
<ul>
<li>die Transition-Eigenschaften schreibt man immer in den Selector ohne Pseudoklasse</li>
<li>und der Wert für <em>transition-duration</em> sollte immer zwischen 0s und 1s liegen</li>
</ul>
<p>Alles, was länger dauert, bringt dem User nicht das Geringste und die Webseite wirkt dadurch nur unglaublich träge.</p>
<h6>Ergebnis</h6>
<style>
p.demo a {
	color:blue !important;
	font:bold 20px/24px arial;
	-moz-transition:all 1s ease 0s; /*Firefox*/
	-webkit-transition:all 1s ease 0s; /*Safari + Chrome*/
	-o-transition:all 1s ease 0s; /*Opera*/
	-ms-transition:all 1s ease 0s; /*Internet Explorer*/
	transition:all 1s ease 0s; /*W3C Standard*/
}
p.demo a:hover {
	color:red !important;
	text-decoration:none;
}
p.demo {
	background:#f1f1f1;
	border:1px solid #ddd;
	padding:20px;
}
</style>
<p class="demo acenter"><a href="http://www.example.com">Bewege die Maus über diesen Link</a></p>
<p>Wie wir leicht sehen, läuft der Wechsel von Blau nach Rot in einer Sekunde ab und nicht wie normal sofort nachdem die Maus über dem Element schwebt.</p>
<p>Dadurch, dass es <a href="http://oli.jp/2010/css-animatable-properties/">viele Properties</a> gibt, die durch Transition beeinflusst werden können, gibt es extrem viele Möglichkeiten schöne und sinnvolle Effekte zu erzielen. Auch ich benutze es an einigen Stellen.. dem Weiterlesen-Button, Bilderrahmen, den Social Media Buttons links, das Einblenden des Text-Overlays bei verwandten Artikeln usw.</p>
<h3>Fazit</h3>
<p>CSS Transitions sind eine prima Sache zum Spielen und ausprobieren. Einige nervige Javascript-Lösungen lassen sich komplett damit ersetzen und User haben das Gefühl es mit einer edlen, unaufdringlichen Website zu tun zu haben.</p>
<div id="attachment_3856" class="wp-caption aligncenter" style="width: 510px"><a href="www.normansblog.de/demos/transition/"><img src="http://www.normansblog.de/wp-content/uploads/2011/12/css_transition.jpg" alt="CSS Transition Demo" title="CSS Transition Demo" width="500" height="210" class="size-full wp-image-3856" /></a><p class="wp-caption-text">CSS Transition Demo</p></div>
<p>Ich habe auch noch eine weitere Demo geschrieben, die zeigt, was man alles so animieren kann. Trotzdem ist auch sie nur die Spitze des Eisberges, ich bin sicher, dass ihr euch noch viel tollere Beispiele ausdenken werdet. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="demolink"><a href="http://www.normansblog.de/demos/transition/">Transition Demo</a></div>
<p>Viel Spaß also beim Experimentieren und da es unwahrscheinlich ist, dass ich dieses Jahr noch einen Artikel schreibe, wünsche ich euch schonmal einen guten Start ins neue Jahr (das wäre dann schon 2012)! <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-transitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE6 &amp; IE7 Button Bug</title>
		<link>http://www.normansblog.de/ie6-ie7-button-bug/</link>
		<comments>http://www.normansblog.de/ie6-ie7-button-bug/#comments</comments>
		<pubDate>Tue, 17 May 2011 19:42:34 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[Nerviges]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=3464</guid>
		<description><![CDATA[Manchmal ist die Lösung so banal.. Dass der IE6 manchmal ein übler Troll sein kann und sein Nachfolger IE7 ihm in dieser Hinsicht in nichts nachsteht, brauch ich euch ja wohl kaum erzählen (ich habs jetzt natürlich trotzdem gemacht, einfach um ein cooles Intro zu haben ). Jedenfalls bin ich neulich erst auf einen richtig [...]]]></description>
			<content:encoded><![CDATA[<p>Manchmal ist die Lösung so banal..</p>
<div id="attachment_3465" class="wp-caption alignright" style="width: 160px"><a href="http://www.normansblog.de/ie6-ie7-button-bug/"><img src="http://www.normansblog.de/wp-content/uploads/2011/05/IE-6-troll-internet-explorer-browser-trollface-150x143.png" alt="IE6 Troll" title="IE6 Troll" width="150" height="143" class="size-thumbnail wp-image-3465" /></a><p class="wp-caption-text">Problem?</p></div>
<p>Dass der <a href="http://www.normansblog.de/position-absolute-png-filter/">IE6 manchmal ein übler Troll</a> sein kann und sein Nachfolger IE7 ihm in dieser Hinsicht in nichts nachsteht, brauch ich euch ja wohl kaum erzählen (ich habs jetzt natürlich trotzdem gemacht, einfach um ein cooles Intro zu haben <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Jedenfalls bin ich neulich erst auf einen richtig schönen Fix für ein bekanntes Problem bezüglich der Darstellung von Buttons im IE gestoßen.</p>
<p>Kennt ihr das: Ihr habt einen Button oder ein Submit-Input und gebt dem etwas Padding und schon zerschießt es euch im IE das halbe Formular, weil dieser Browser denkt, er müsse den Dicken markieren, indem er den Padding-Wert verdoppelt?</p>
<p><span id="more-3464"></span></p>
<p>Na dann seit ihr hier goldrichtig!</p>
<h3>Das Problem</h3>
<p>Wir haben also einen <code>button</code> oder ein <code>input</code> mit dem <code>type="submit"</code> (der Bug betrifft beides gleichermaßen) auf unserer Seite, was der tut ist uns an dieser Stelle reichlich egal.</p>
<h6>HTML</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">button</span>&gt;</span>Button<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">button</span>&gt;</span></pre></td></tr></table></div>

<p>Normalerweise rate ich immer dazu die Buttons so zu lassen, wie sie sind und so wenig wie möglich am Styling zu ändern. Natürlich kommt es jedoch vor, dass sie dadurch nicht richtig ins &#8220;Corporate Design&#8221; einer Firma &#8220;fitten&#8221;. Und da Kunde==König immer wahr ist, muss man hier und da etwas nachhelfen, dass die Buttons auch zum Rest passen. Sehr häufig muss dazu beispielsweise links und rechts das Padding erhöht werden, damit das alles nicht so zusammengeklatscht aussieht.</p>
<h6>CSS</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">button <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">3px</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Alles gut denkt man, aber beim X-Browser-Test macht man schnell große Augen: Im IE6 und IE7 sind es nicht nur 10 Pixel links und rechts sondern mindestens doppelt so viele. Hier ein Vergleich:</p>
<p class="acenter"><img src="http://www.normansblog.de/wp-content/uploads/2011/05/ie_button_bug.jpg" alt="" title="Button-Bug in IE6 und IE7" width="408" height="99" class="aligncenter size-full wp-image-3470" /><small>Die türkisen Linien sind nachträglich eingezeichnet worden..</small></p>
<h3>Die Lösung</h3>
<p>In solchen Momenten möchte man am liebsten in die Tastatur beißen oder die Maus durch die Gegend werfen (@Wireless-Maus-User: tut es nicht!). Aber das ist gar nicht nötig, denn die Lösung ist ganz einfach, nahezu trivial. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Alles, was wir tun müssen, ist eine Zeile CSS mehr zu schreiben:</p>
<h6>CSS</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">button <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span><span style="color: #993333;">visible</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">3px</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Durch <code>overflow:visible</code> hört der IE auf, mehr Padding zu vergeben als eigentlich gewollt. Das Schöne daran ist, dass er 100% valide ist und keinerlei Nachteile hat. Der Tag ist damit gerettet und alle können quietschvergnügt nach Hause gehen!</p>
<p class="acenter"> <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Frontend-Developer <strong>1:0</strong> Internet Explorer <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/ie6-ie7-button-bug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Transparenter Link über Image</title>
		<link>http://www.normansblog.de/transparenter-link-uber-image/</link>
		<comments>http://www.normansblog.de/transparenter-link-uber-image/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 20:44:23 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Nerviges]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2896</guid>
		<description><![CDATA[Komischer Titel, ich weiß, aber darum gehts: Heute habe ich mal wieder über etwas gestaunt, das der Internet Explorer nicht kann. Folgendes Szenario: Ihr habt ein Bild auf dem unter anderem ein Schriftzug steht, z. B. &#8220;Jetzt hier Registrieren!&#8221;. Weil die Schrift mit tollen Effekten und dergleichen ausgestattet ist, bindet ihr sie direkt ins Bild [...]]]></description>
			<content:encoded><![CDATA[<p>Komischer Titel, ich weiß, aber darum gehts:</p>
<div id="attachment_2897" class="wp-caption alignright" style="width: 160px"><a href="http://www.normansblog.de/transparenter-link-uber-image/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/transparent_link_on_image-150x111.jpg" alt="Transparenter Link über einem Bild" title="Transparenter Link über einem Bild" width="150" height="111" class="size-thumbnail wp-image-2897" /></a><p class="wp-caption-text">IE rafft es nicht!</p></div>
<p>Heute habe ich mal wieder über etwas gestaunt, das der Internet Explorer <em>nicht</em> kann. Folgendes Szenario: Ihr habt ein Bild auf dem unter anderem ein Schriftzug steht, z. B. &#8220;Jetzt hier Registrieren!&#8221;. Weil die Schrift mit tollen Effekten und dergleichen ausgestattet ist, bindet ihr sie direkt ins Bild ein. Im Frontend wird das Bild über ein <code>img</code>-Tag ausgegeben und soll jetzt verlinkt werden. &#8220;Ok..&#8221;, dachte ich mir, &#8220;..leg ich halt einen transparenten Link darüber!&#8221; &#8211; Denkste!</p>
<p><span id="more-2896"></span></p>
<p>Hier erst einmal ein Beispiel, damit ihr auch versteht, was ich meine. Wie nehmen ein Bild und einen Link und packen einen Wrapper darum. Der Wrapper bekommt <code>position:relative</code>, damit wir den Link per <code>position:absolute</code> über das Bild schieben können. Der Link soll natürlich transparent sein, wir wollen ja nicht irgendwie das Bild &#8220;übermalen&#8221; sondern nur einen anklickbaren Bereich schaffen, also wird der Text versteckt.</p>
<h3>Problembeispiel (alle IE-Versionen)</h3>
<h6>HTML</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wrapper&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.getfirebug.com/img/firebug-logo.png&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Bild&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.getfirebug.com&quot;</span>&gt;</span>Link<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<h6>CSS</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.wrapper</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">293px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">70px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-indent</span><span style="color: #00AA00;">:</span><span style="color: #933;">-9999px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">185px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h6>Ergebnis</h6>
<div style="position:relative;width:293px;border:1px dashed blue;margin:10px auto;">
<img src="http://www.getfirebug.com/img/firebug-logo.png" alt="Bild"/><br />
<a href="http://www.getfirebug.com" style="border:1px dashed red;height:70px;position:absolute;right:0;text-indent:-9999px;width:185px;top:0;">Link</a>
</div>
<p>Ich habe die wichtigen Bereiche nochmal hervorgehoben, der blaue Rahmen umrandet den Wrapper, der rote den Link.</p>
<p>Natürlich ist diese Denkweise nicht verkehrt, sie hat nur einen Haken: In allen von mir getesteten Versionen des Internet Explorers (IE6-<strong>9</strong>) hat das <em>nicht</em> funktioniert! Im IE kann man den Link einfach nicht anklicken, alle anderen Browser haben damit absolut kein Problem.</p>
<p>Ich dachte erst es liegt daran, dass das Bild den Link im IE irgendwie überdeckt, weil ich kein <code>z-index</code> benutze. Dann habe ich versucht den Text über <code>padding-top</code> und <code>overflow-hidden</code> zu verstecken und dachte der IE eventuell damit besser zurecht. Nichts hat geholfen.. wenn ich den Text nicht versteckte, konnte man nur den Text anklicken, nicht aber den Rest der klickbaren Fläche. Erst als ich das Bild aus dem Quellcode entfernt hatte, konnte man ganz plötzliche die komplette transparente Fläche anklicken.</p>
<p>Natürlich war ich schon wieder kurz vorm Platzen.</p>
<h3>Lösung</h3>
<p>Ein <a href="http://www.normansblog.de/position-absolute-png-filter/">ähnliches Problem mit nicht anklickbaren Links</a> hatte ich zwar schon mal im IE6 aber ich hätte nie gedacht, dass IE8 und 9 hier immer noch solche Probleme haben. Aber was soll&#8217;s, eine Lösung musste her und es gibt zwei Wege, wie man das Problem umgehen kann..</p>
<ol>
<li>das Bild nicht als <code>img</code>-Tag einbinden, sondern dem Wrapper/Link als <code>background-image</code> zuweisen</li>
<li>dem Link ein transparentes Hintergrundbild verpassen</li>
</ol>
<p>In meinem Fall war letztere Variante günstiger, ich würde aber prinzipiell eher zu Variante eins raten, da sie sauberer ist. Und ja, sobald der Link eine Hintergrundfarbe oder ein Hintergrundbild bekommt, kann man ihn auch im IE anklicken, verrückte Welt oder?</p>
<h3>Beispiel mit Lösungsvariante 1</h3>
<h6>HTML</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wrapper&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.getfirebug.com&quot;</span>&gt;</span>Link<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<h6>CSS</h6>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.wrapper</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">transparent</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">http://www.getfirebug.com/img/firebug-logo.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">repeat</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">89px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">293px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">70px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-indent</span><span style="color: #00AA00;">:</span><span style="color: #933;">-9999px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">185px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h6>Ergebnis</h6>
<div style="background:transparent url(http://www.getfirebug.com/img/firebug-logo.png) repeat 0 0;height:89px;position:relative;width:293px;margin:10px auto;">
<a href="http://www.getfirebug.com" style="height:70px;position:absolute;right:0;text-indent:-9999px;width:185px;top:0;">Link</a>
</div>
<p>So klappts auch im IE! <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>PS: Firebug 1.6 wurde heute veröffentlicht, <a href="https://addons.mozilla.org/en-US/firefox/addon/1843/">schnell runterladen</a> oder updaten und die Beispiele damit untersuchen! <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/transparenter-link-uber-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Box-Shadow</title>
		<link>http://www.normansblog.de/css3-im-detail-box-shadow/</link>
		<comments>http://www.normansblog.de/css3-im-detail-box-shadow/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 13:07:46 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2487</guid>
		<description><![CDATA[CSS3 im Detail: Box-Shadow - was für Text gilt, gilt natürlich auch für Elemente, die sich leicht mit einem Schatten von anderen Dingen abheben lassen.]]></description>
			<content:encoded><![CDATA[<p>Der neunte und damit letzte Teil der <em>CSS3 im Detail</em> &#8211; Reihe: Box-Shadow.</p>
<p><a href="http://www.normansblog.de/css3-im-detail-box-shadow/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Bax-Shadow wird dazu verwendet einem Element einen oder mehrere Schlagschatten zu verleihen. Allerdings verhält sich Box-Shadow etwas anders als das uns schon bekannte <a href="http://www.normansblog.de/css3-im-detail-text-shadow/">Text-Shadow</a>. In diesem Teil erfahrt ihr, wie man Box-Shadow richtig benutzt und was für ein Potential diese Property hat.</p>
<p><span id="more-2487"></span></p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a></p>
</blockquote>
<h3>Syntax</h3>
<p><a href="http://dev.w3.org/csswg/css3-background/#the-box-shadow">Box-Shadow</a> ist ähnlich aufgebaut wie Text-Shadow, unterscheidet sich aber in einigen wesentlichen Dingen. Allen voran können wir noch nicht auf browserspezifische Präfixe verzichten, d. h. dass Webkit-Browser und aktuelle Firefox-Versionen Box-Shadow noch mit ihren jeweiligen Kürzeln implementiert haben.</p>
<p>Der Code für einen normalen, cross-browser-kompatiblen Schlagschatten lautet daher wie folgt:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.boxshadow</span> <span style="color: #00AA00;">&#123;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox - alte Syntax */</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome - alte Syntax */</span>
	box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* alle neuen Browser, W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Wie bei <code>text-shadow</code> auch, stehen auch hier die Werte für Verschiebung entlang der <strong>X-Achse</strong>, Verschiebung entlang der <strong>Y-Achse</strong>, <strong>Schattengröße</strong> und <strong>Schattenfarbe</strong>. <em>(Da alle Browser, die Box-Shadow unterstützen auch den <a href="http://www.normansblog.de/css3-im-detail-rgba/">RGBa-Farbraum</a> darstellen können, bietet es sich an, diesen hier gleich mal zu verwenden.)</em></p>
<p>Obiger Code erzeugt dieses Bild:</p>
<div style="-moz-box-shadow:5px 5px 5px rgba(0,0,0,0.5);-webkit-box-shadow:5px 5px 5px rgba(0,0,0,0.5);box-shadow:5px 5px 5px rgba(0,0,0,0.5);padding:20px;margin:20px;font:40px/40px arial,sans-serif;text-align:center;background:#ccc;">Box mit Schlagschatten</div>
<p>Ebenso können wir bei <code>box-shadow</code> mehrere Schatten durch Komma getrennt angeben:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.moreboxshadows</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/*Lila, Gruen, Gelb*/</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">15px</span> <span style="color: #933;">15px</span> <span style="color: #933;">10px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span><span style="color: #933;">10px</span> <span style="color: #933;">-10px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span><span style="color: #933;">-10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">15px</span> <span style="color: #933;">15px</span> <span style="color: #933;">10px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span><span style="color: #933;">10px</span> <span style="color: #933;">-10px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span><span style="color: #933;">-10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">15px</span> <span style="color: #933;">15px</span> <span style="color: #933;">10px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span><span style="color: #933;">10px</span> <span style="color: #933;">-10px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span><span style="color: #933;">-10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-box-shadow:15px 15px 10px rgba(255,0,255,0.5),10px -10px 5px rgba(0,255,0,0.5),-10px 10px 5px rgba(255,255,0,0.5);-webkit-box-shadow:15px 15px 10px rgba(255,0,255,0.5),10px -10px 5px rgba(0,255,0,0.5),-10px 10px 5px rgba(255,255,0,0.5);box-shadow:15px 15px 10px rgba(255,0,255,0.5),10px -10px 5px rgba(0,255,0,0.5),-10px 10px 5px rgba(255,255,0,0.5);padding:20px;margin:30px;font:40px/40px arial,sans-serif;text-align:center;">Mehrere bunte Schlagschatten</div>
<p>Man beachte, dass der Schatten, der an erster Stelle steht, auch &#8220;oben auf&#8221; liegt. Das heißt, er ist dem Betrachter am nächsten. In diesem Fall ist der gelbe Schatten ganz unten, darüber wird der grüne und zum Schluss der lila Schatten gezeichnet. Durch die RGBa-Farbwerte kommt es außerdem zur Mischung der Farben.</p>
<h3>Zwei weitere (optionale) Parameter</h3>
<p>Box-Shadow hat aber noch zwei weitere Parameter, der erste ist <strong>inset</strong>. Ist <code>inset</code> gesetzt, verläuft der Schatten nach innen statt nach außen. Ein Beispiel:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.innerboxshadow</span> <span style="color: #00AA00;">&#123;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span><span style="color: #993333;">inset</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span><span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span><span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-box-shadow:inset 0 0 10px #000;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000;border:2px solid #000;padding:20px;margin:20px;font:40px/40px arial,sans-serif;text-align:center;">inset-Shadow</div>
<p>Der andere Parameter ist ein vierter Pixel-Wert, der den Grad der <strong>Überfüllung</strong> des Schattens angibt &#8211; auch <em>negative Werte</em> sind erlaubt! Damit kann man den Schatten kräftiger/schwächer erscheinen lassen. Verdeutlicht nochmal am allerersten Beispiel:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.strongboxshadow</span> <span style="color: #00AA00;">&#123;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-box-shadow:5px 5px 5px 10px rgba(0,0,0,0.5);-webkit-box-shadow:5px 5px 5px 10px rgba(0,0,0,0.5);box-shadow:5px 5px 5px 10px rgba(0,0,0,0.5);padding:20px;margin:20px;font:40px/40px arial,sans-serif;text-align:center;background:#ccc;">Box mit Schlagschatten</div>
<p>Durch alle sechs Parameter haben wir im Prinzip die gleichen Möglichkeiten zum Erstellen eines Schattens, die wir auch aus Photoshop kennen.</p>
<div id="attachment_2703" class="wp-caption aligncenter" style="width: 366px"><a href="http://www.normansblog.de/wp-content/uploads/2010/09/photoshop_schlagschatten.jpg"><img src="http://www.normansblog.de/wp-content/uploads/2010/09/photoshop_schlagschatten.jpg" alt="Schatten in Photoshop" title="photoshop_schlagschatten" width="356" height="191" class="size-full wp-image-2703" /></a><p class="wp-caption-text">Einstellungen Schlagschatten in Photoshop</p></div>
<p>Box-Shadow funktioniert übrigens ganz wunderbar im Zusammenspiel mit <a href="http://www.normansblog.de/css3-im-detail-border-radius/">Border-Radius</a> und es lassen sich zusammen mit weiteren CSS3 Properties allerhand schöne Dinge anstellen. Ein gutes Beispiel sind Buttons:</p>
<div style="background:-moz-linear-gradient(top ,#7CD357,#5CA33E);background:-ms-linear-gradient(top ,#7CD357,#5CA33E);background:-o-linear-gradient(top ,#7CD357,#5CA33E);background:-webkit-gradient(linear,left top,left bottom,from(#7CD357),to(#5CA33E));background-color:#5CA33E;border:1px solid #5B0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:0 1px 2px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.4);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.4);box-shadow:0 1px 2px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.4);color:#fff;text-align:center;font:bold 16px/16px arial;text-shadow:0 1px 0 rgba(0,0,0,0.5);padding:10px 0;margin:20px 150px;">CSS3 Button</div>
<h3>Fazit</h3>
<p>Soweit zu den eher spektakulären visuellen Neuerungen, die mit CSS3 und den neuen Browserversionen Einzug halten werden. Einiges davon ist heute schon ohne große Bedenken einsetzbar und wird in Zukunft gehäuft anzutreffen sein. Box-Shadow ist da keine Ausnahme und meiner Meinung nach ein sehr Nützliches Tool, um schnell und unproblematisch diverse Schatteneffekte zu erzeugen. Das alles spart uns Zeit und wiedereinmal Bandbreite, denn wo sonst aufwändige Grafiken für Schatten erstellt werden mussten, kommt jetzt nur noch ein Dreizeiler zum Einsatz. Schöne neue Welt. Mit diesem Teil endet die <em>CSS3 im Detail</em>-Reihe, ich hoffe ihr konntet einiges mitnehmen und nutzt das Gelernte. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-box-shadow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Text-Shadow</title>
		<link>http://www.normansblog.de/css3-im-detail-text-shadow/</link>
		<comments>http://www.normansblog.de/css3-im-detail-text-shadow/#comments</comments>
		<pubDate>Sat, 01 May 2010 15:56:36 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2404</guid>
		<description><![CDATA[CSS3 im Detail: Text-Shadow - mit CSS3 kann jede Art von Text mit wunderschönen Schatteneffekten hervorgehoben werden, auch mehrere gleichzeitig sind möglich.]]></description>
			<content:encoded><![CDATA[<p>Teil 8 der <em>CSS3 im Detail</em> &#8211; Reihe, diesmal geht&#8217;s um Text-Shadow.</p>
<p><a href="http://www.normansblog.de/css3-im-detail-text-shadow/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Wie der Name schon vermuten lässt, wird es möglich sein, bzw. ist es schon möglich, beliebigen Text einen Schatten zu verleihen. Das hat natürlich hauptsächlich ästhetische Vorzüge, kann aber unter Umständen sogar die Lesbarkeit verbessern oder zumindest dem Benutzer helfen, bestimmte Texte eher wahrzunehmen. Text-Shadow ist keinesfalls mehr eine Technik von morgen, im Gegenteil, schon heute trifft man (meist unbewusst) schattierten Text auf vielen Webseiten an.</p>
<p><span id="more-2404"></span></p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a style="opacity:0.3;" href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a><br/><small>(IE ab Version 10)</small></p>
</blockquote>
<h3>Syntax</h3>
<p><a href="http://www.w3.org/TR/css3-text/#text-shadow">Text-Shadow</a> ist ganz simpel und kommt sogar schon ohne browserspezifische Präfixe aus. D.h. alle oben genannten Browser unterstützen <code>text-shadow</code> in seiner finalen Form.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.textshadow</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">3px</span> <span style="color: #cc00cc;">#666</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Wie wir sehen können, hat <code>text-shadow</code> vier Parameter:</p>
<ol>
<li><strong>X-Abstand:</strong> Dieser Längenwert gibt an, wie weit der Schatten entlang der X-Achse verschoben wird (nach links/rechts versetzt). Negative Werte sind erlaubt.</li>
<li><strong>Y-Abstand:</strong> Dieser Längenwert gibt an, wie weit der Schatten entlang der Y-Achse verschoben wird (nach unten/oben versetzt). Negative Werte sind erlaubt.</li>
<li><strong>Größe:</strong> Ein weiterer Längenwert, der angibt, wie weit sich der Schatten ausbreiten soll. Ein Wert von 0 erzeugt einen sehr harten Schatten, je höher der Wert, desto unschärfer wird er.</li>
<li><strong>Farbe:</strong> Hier kann man jeden in CSS erlaubten Farbwert einsetzen (auch <a href="http://www.normansblog.de/css3-im-detail-rgba/">RGBa</a>!).</li>
</ol>
<p>Obiger Code erzeugt dieses Bild:</p>
<div style="text-shadow:10px 10px 3px #666;padding:20px;margin:20px;font:40px/40px arial,sans-serif;text-align:center;">Text mit Schatten</div>
<p>Man kann das Ganze aber auch noch weiter treiben und <em>mehrere Schatten</em> erzeugen. Dazu werden hinter dem ersten Schatten einfach noch weitere deklariert und mit Komma voneinander getrennt.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.moreshadows</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc00cc;">#aaa</span><span style="color: #00AA00;">,</span><span style="color: #933;">-10px</span> <span style="color: #933;">-10px</span> <span style="color: #933;">3px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#00f</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="text-shadow:10px 10px 0 #aaa,-10px -10px 3px #f00,0 0 10px #00f;padding:20px;margin:20px;font:40px/40px arial,sans-serif;text-align:center;">Verrückter Text</div>
<p>Ihr seht, damit kann man auch ne ganze Menge dummes Zeug fabrizieren aber dazu ist Text-Shadow nicht gedacht. Hier mal ein paar schöne Beispiele, wie man Text-Shadow richtig einsetzen kann.</p>
<h3>a) Gravur-Effekt 1</h3>
<div style="text-shadow:0 1px 0 #fff;padding:20px;margin:20px;background-color:#ddd;">
<p>Dezent hervorgehobener Text.</p>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
</div>
<h3>b) Gravur-Effekt 2</h3>
<div style="background-color:#ccc;color:#ddd;font:bold 40px/40px arial;margin:20px;padding:10px;text-shadow:-1px -1px 0 #888,1px 1px 0 #fff">Überschrift</div>
<h3>c) Schlagschatten</h3>
<div style="background-color:#E11926;color:#F3D052;font:50px/50px 'Rockwell Extra Bold',impact;letter-spacing:-2px;margin:20px;padding:20px;text-shadow:0 2px 2px black;text-align:center;text-transform:uppercase;">Pulp Fiction</div>
<h3>Fazit</h3>
<p>Schaut euch eure Lieblingsseiten im Internet mal genauer an. Ich wette, da gibt es einige, die bereits Text-Shadow verwenden. Auch ich nutze es auf diesem Blog. Der Text in der Sidebar hat einen diffusen Schatten, damit er leichter auf dem dunklen Hintergrund zu lesen ist, die Artikelüberschriften haben einen schwachen Schlagschatten und die <em>Ähnliche Artikel</em>-Box benutzt den Gravur-Effekt 1. Text Shadow ist für mich ein nützliches Werkzeug geworden um Text besser und schöner hervorzuheben. Weitere Pluspunkte sammelt Text-Shadow mit der breiten Unterstützung an der Browser-Front und der schlanken Syntax. Viel Spaß! <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-text-shadow/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Columns</title>
		<link>http://www.normansblog.de/css3-im-detail-columns/</link>
		<comments>http://www.normansblog.de/css3-im-detail-columns/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 00:19:12 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2373</guid>
		<description><![CDATA[CSS3 im Detail: Columns - mit minimalem Aufwand kann langer Text in mehrere kleine Textspalten aufgeteilt werden, den Leser freuts.]]></description>
			<content:encoded><![CDATA[<p>Teil 7 der <em>CSS3 im Detail</em> &#8211; Reihe beschäftigt sich mit Columns.</p>
<p><a href="http://www.normansblog.de/css3-im-detail-columns/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Columns oder zu deutsch <em>Spalten</em> gibt es schon eine Ewigkeit. Uns allen sind sie aus den klassischen Printerzeugnissen wie Zeitungen und Magazinen <a href="http://de.wikipedia.org/wiki/Spaltensatz">bekannt</a>. Prinzipiell machen sie nichts anderes als Text in schmalere Spalten aufzuteilen.</p>
<blockquote><p>Der Vorteil des mehrspaltigen Satzes als Textgestaltung liegt darin, dass insbesondere bei großformatigem Papier die Zeilenlänge kurz gehalten wird [...]</p>
</blockquote>
<p><span id="more-2373"></span></p>
<p>&#8230; und damit die Lesbarkeit des Textes erhöht wird. Durch CSS3 haben Webdesigner nun die Möglichkeit, diese Art des Satzes auch in Webseiten anzuwenden.</p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a style="opacity:0.3;" href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a><br/><small>(Opera ab Version 11.10, IE ab Version 10)</small></p>
</blockquote>
<h3>Syntax</h3>
<p>Columns haben mehrere Eigenschaften, die wir uns im Einzelnen anschauen werden. Gecko- und Webkitbrowser haben die Technik wieder mit ihren Präfixen implementiert.</p>
<h3>column-count</h3>
<p><code>column-count</code> gibt die Anzahl der Spalten an, in die der Text aufgeteilt werden soll.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.columns</span> <span style="color: #00AA00;">&#123;</span>
	-moz-column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	-webkit-column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
	column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera, IE, W3C Standard */</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Folgender Fließtext wird durch obigen Code in zwei Spalten aufgeteilt. Die Breite einer Spalte wird immer aus der Breite des Elternelements durch die Anzahl der Spalten berechnet.</p>
<div style="-moz-column-count:2;-webkit-column-count:2;column-count:2;border:4px solid #adf;padding:10px;margin-bottom:10px;">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<h3>column-width</h3>
<p>Anstatt eine feste Anzahl Spalten anzugeben, kann man auch eine ungefähre Breite einer Spalte deklarieren. Dabei wird die Spaltenanzahl automatisch errechnet. Ihr versteht sicherlich, dass es wenig Sinn macht <code>column-count</code> und <code>column-width</code> gleichzeitig zu verwenden..</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.columns</span> <span style="color: #00AA00;">&#123;</span>
	-moz-column-<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	-webkit-column-<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
	column-<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera, IE, W3C Standard */</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-column-width:100px;-webkit-column-width:100px;column-width:100px;border:4px solid #adf;padding:10px;margin-bottom:10px;">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<h3>column-gap</h3>
<p>Das ist natürlich noch nicht alles, mit <code>column-gap</code> könnt ihr den Abstand zwischen den Spalten festlegen..</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.columns</span> <span style="color: #00AA00;">&#123;</span>
	-moz-column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	-moz-column-gap<span style="color: #00AA00;">:</span><span style="color: #933;">7em</span><span style="color: #00AA00;">;</span>
	-webkit-column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
	-webkit-column-gap<span style="color: #00AA00;">:</span><span style="color: #933;">7em</span><span style="color: #00AA00;">;</span>
	column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera, IE, W3C Standard */</span>
	column-gap<span style="color: #00AA00;">:</span><span style="color: #933;">7em</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-column-count:2;-moz-column-gap:7em;-webkit-column-count:2;-webkit-column-gap:7em;column-count:2;column-gap:7em;border:4px solid #adf;padding:10px;margin-bottom:10px;">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<h3>column-rule</h3>
<p>.. und mit <code>column-rule</code> zieht ihr zwischen den Spalten eine Linie. Der Befehl hat genau wie <code>border</code> folgende drei Parameter:</p>
<ol>
<li><em>column-rule-width</em>, die Breite der Linie</li>
<li><em>column-rule-style</em>, der Stil der Linie (solid, dashed, dotted, etc.)</li>
<li><em>column-rule-color</em>, die Farbe der Linie</li>
</ol>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.columns</span> <span style="color: #00AA00;">&#123;</span>
	-moz-column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	-moz-column-rule<span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">dashed</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	-webkit-column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
	-webkit-column-rule<span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">dashed</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	column-count<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera, IE, W3C Standard */</span>
	column-rule<span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">dashed</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">4px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-column-count:2;-moz-column-rule:4px dashed #adf;-webkit-column-count:2;-webkit-column-rule:4px dashed #adf;column-count:2;column-rule:4px dashed #adf;border:4px solid #adf;padding:10px;margin-bottom:10px;">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<h3>Verfeinerung</h3>
<p>Nochmals verstärkt wird der Effekt, wenn man zusätzlich <code>text-align:justify</code> anwendet.</p>
<div style="-moz-column-count:2;-moz-column-gap:3em;-webkit-column-count:2;-webkit-column-gap:3em;column-count:2;column-gap:3em;padding:10px;margin-bottom:10px;text-align:justify;border:4px solid #adf;">
<h4>Justifiy Me!</h4>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>
</div>
<h3>Fazit</h3>
<p>So, damit wisst ihr nun alles über Columns und wie man sie verwendet. Besonders schön an ihnen finde ich die Tatsache, dass Browser, die die Technik noch nicht beherrschen, einfach auf die &#8220;normale&#8221; Darstellungsweise zurückfallen (Paragraphen untereinander statt nebeneinander). Ein sinnvolles Einsatzgebiet sind natürlich News-Portale, die sehr breit sind. Auf solchen Seiten lohnt es sich  lange Artikel in kürzere Spalten zu teilen um die Lesbarkeit zu verbessern. Ich wünsche wie immer viel Spaß! <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-columns/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Border-Image</title>
		<link>http://www.normansblog.de/css3-im-detail-border-image/</link>
		<comments>http://www.normansblog.de/css3-im-detail-border-image/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 22:33:41 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2305</guid>
		<description><![CDATA[CSS3 im Detail: Border-Image - skalierbare Rahmengrafiken können jetzt leicht angefertigt und eingebaut werden, das spart http-Requests und Nerven.]]></description>
			<content:encoded><![CDATA[<p>Ich glaub das wird kein toller Artikel aber fangen wir einfach an.. Teil 6 der <em>CSS3 im Detail</em> &#8211; Reihe: Border-Image.</p>
<p><a href="http://www.normansblog.de/css3-im-detail-border-image/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Bei dieser Technik geht es prinzipiell darum eine Grafik als <code>border</code> für jedes beliebige Element zu benutzen. Was das soll? Nun ja, manche Leute mögen es bunt und lassen sich ausgefallene Rahmen einfallen. Damit man nicht mehrere Hintergrundbilder deswegen zurecht schneiden muss, hält nun mit CSS3 <code>border-image</code> Einzug.</p>
<p><span id="more-2305"></span></p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a></p>
</blockquote>
<h3>Vorbereitung</h3>
<p>Die Basis bildet natürlich eine Grafik. Diese muss so aufgebaut sein, dass sie aus neun Bereichen besteht: vier Ecken, vier Kanten und der Mitte, hier dargestellt durch Pikachus. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png"><img src="http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png" alt="" title="pikachu" width="123" height="147" class="aligncenter size-full wp-image-2310" /></a></p>
<h3>Syntax</h3>
<p>Kommen wir also zur Sache, wie schon aus vorhergehenden Teilen bekannt, haben die Browser unterschiedliche Präfixe, so auch bei <code>border-image</code>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.borderimage</span> <span style="color: #00AA00;">&#123;</span>
	-moz-border-image<span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">pikachu.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">49</span> <span style="color: #cc66cc;">41</span> <span style="color: #993333;">repeat</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	-webkit-border-image<span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">pikachu.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">49</span> <span style="color: #cc66cc;">41</span> <span style="color: #993333;">repeat</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
	-o-border-image<span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">pikachu.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">49</span> <span style="color: #cc66cc;">41</span> <span style="color: #993333;">repeat</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera */</span>
	border-image<span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">pikachu.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">49</span> <span style="color: #cc66cc;">41</span> <span style="color: #993333;">repeat</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Damit sollten wir ungefähr so eine Box bekommen:</p>
<div style="-moz-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 repeat;-webkit-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 repeat;-o-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 repeat;border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 repeat;border-width:49px 41px;line-height:100px;width:255px;margin:20px auto;text-align:center;">Div mit Pikachu-Border <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<p>Kurze Erklärung, welcher Teil hier was bewirkt.. mit der URL gibt man natürlich den Pfad zum Bild an. Danach folgen die beiden Werte für die Rahmenbreite. Hier können 1-4 Werte stehen, ein Wert für jede Seite. In diesem Fall ist ein Pikachu 41 Pixel breit und 49 Pixel hoch. Als letztes folgt noch ein Schlüsselwort, von denen es genau drei Stück zur Auswahl gibt:</p>
<ol>
<li><em>repeat</em> &#8211; das Bild wird einfach wiederholt</li>
<li><em>stretch</em> &#8211; die Kantenstücke werden auf die volle Breite bzw. Höhe gestreckt</li>
<li><em>round</em> &#8211; die Kantenstücke werden etwas verzogen damit kein Pikachu abgeschnitten werden muss</li>
</ol>
<p>Obiges Beispiel benutzt <strong>repeat</strong>, hier nun eins mit <strong>round</strong>&#8230;</p>
<div style="-moz-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 round;-webkit-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 round;-o-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 round;border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 round;border-width:49px 41px;line-height:100px;width:255px;margin:20px auto;text-align:center;">Div mit rounded Pikachu-Border</div>
<p>(Webkit-Browser scheinen mit <em>round</em> im Moment wohl ein Problem zu haben.)</p>
<p>&#8230; und eins mit <strong>stretch</strong>&#8230;</p>
<div style="-moz-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 stretch;-webkit-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 stretch;-o-border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 stretch;border-image:url(http://www.normansblog.de/wp-content/uploads/2010/04/pikachu.png) 49 41 stretch;border-width:49px 41px;line-height:100px;width:255px;margin:20px auto;text-align:center;">Div mit stretched Pikachu-Border</div>
<h3>Fazit</h3>
<p>Jo, so geht das. Ich geb zu, das Pikachu-Beispiel ist vielleicht nicht gerade realistisch, zeigt aber was für einen Unfug man mit der neuen Technik treiben kann. Border-Image ist keine große Revolution, vereinfacht aber doch einige Dinge und vermindert auf jeden Fall die Anzahl an Grafiken, die man für aufwendige Rahmen bräuchte. Ich wünsch euch viel Spaß beim Ausprobieren. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-border-image/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Border-Radius</title>
		<link>http://www.normansblog.de/css3-im-detail-border-radius/</link>
		<comments>http://www.normansblog.de/css3-im-detail-border-radius/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 14:20:12 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2140</guid>
		<description><![CDATA[CSS3 im Detail: Border Radius - Runde Ecken können jetzt per CSS3 jedem beliebigem Element verpasst werden, ohne Grafiken, ohne Extra-Markup.]]></description>
			<content:encoded><![CDATA[<p>Runde fünf von <em>CSS3 im Detail</em> &#8211; Border-Radius.</p>
<p><a href="http://www.normansblog.de/css3-im-detail-border-radius/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Entschuldigt die enorme Verzögerung aber ich hatte bisschen Prüfungsstress und viel Arbeit, sodass mir dann die Motivation gefehlt hat noch diese Artikel zu schreiben. Sei&#8217;s drum, heute gehts um eine nützliche Technik, mit der man runde Ecken erstellen kann. Früher musste man immer mindestens zwei Grafiken erstellen, um einer Box runde Ecken zu verpassen &#8211; das wird sich jetzt ändern. <a href="http://www.w3.org/TR/css3-background/#the-border-radius">Border-Radius</a> wird euch gefallen, es erspart einem sehr viel Arbeit und wird von den meisten Browsern schon ganz gut unterstützt.</p>
<p><span id="more-2140"></span></p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a></p>
</blockquote>
<h3>Einsatzgebiete</h3>
<p>Sogenannte &#8220;runde Ecken&#8221; spielen in heutiger Zeit eine immer größere Rolle, alle modernen UIs benutzen sie an nahezu allen Elementen. Manchmal recht großzügig, dann wieder nur mit der Lupe zu erkennen, ein gutes Beispiel sind aktuelle Windows Versionen (Vista oder 7), die extrem viel Aufwand in diese Richtung betreiben. Folgender Screen soll das einmal illustrieren..</p>
<div id="attachment_2156" class="wp-caption aligncenter" style="width: 491px"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/win7_window.jpg" alt="Fenster in Windows 7" title="win7_window" width="481" height="243" class="size-full wp-image-2156" /><p class="wp-caption-text">Ein Fenster in Windows 7 hat viele runde Ecken: der Fensterrahmen, die Buttons oben rechts, der Rahmen um die markierte Festplatte, etc.</p></div>
<p>Warum? Weil runde Ecken angenehmer anzusehen sind und das ganze Design etwas auflockern. Fenster mit richtigen Ecken, wie bei Windows 2000 und davor, wirken heutzutage altbacken und hässlich.</p>
<h3>Syntax</h3>
<p>Border-Radius wird von den Browsern durch unterschiedliche Präfixe unterstützt.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.rounded</span> <span style="color: #00AA00;">&#123;</span>
-moz-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox - alte Syntax */</span>
-webkit-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome - alte Syntax */</span>
border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">10px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* alle neuen Browser, W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Diese Anweisungen bewirken, dass die Ecken eines <code>divs</code> mit der Klasse <em>rounded</em> abgerundet werden. Folgendes Beispiel, hat zur Verdeutlichung der Rundungen zusätzlich eine Schwarze Border bekommen.</p>
<div style="-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;margin:20px;border:2px solid #222;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center #adf;"></div>
<p><code>border-radius</code> kann aber nicht nur mit einem Wert gesteuert werden. Maximal sind 4 Werte möglich, wobei jeder davon ein Ecke kontrolliert, im Uhrzeigersinn beginnend mit der links oben. Folgender Code bewirkt z.B., dass nur die beiden Ecken oben abgerundet werden, die unten bleiben eckig.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.rounded_up</span> <span style="color: #00AA00;">&#123;</span>
-moz-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox - alte Syntax */</span>
-webkit-border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome - alte Syntax */</span>
border-radius<span style="color: #00AA00;">:</span><span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* alle neuen Browser, W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="-moz-border-radius:10px 10px 0 0;-webkit-border-radius:10px 10px 0 0;border-radius:10px 10px 0 0;margin:20px;border:2px solid #222;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center #adf;"></div>
<p>Natürlich kann man auch &#8220;unterschiedlich runde Ecken&#8221; machen, indem man einfach verschiedene Werte benutzt, hier gilt: <em>Probieren geht über Studieren</em>.</p>
<blockquote class="warning"><p><a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignright size-full wp-image-1949" /></a>Safari spackt hier noch etwas rum. Es kommt mit 4 Werten nicht klar und ignoriert deswegen den Befehl. Da es aber die selbe Engine wie Chrome nutzt, wird sich hier demnächst bestimmt eine Besserung einstellen. Bis es soweit ist, kann man sich diesen Artikel auf <a href="http://www.css3.info/preview/rounded-border/">CSS3.info</a> mal durchlesen.</p>
<p><strong>Update:</strong> Mit Safari 5 sollte alles funktionieren.</p>
</blockquote>
<h3>Fazit</h3>
<p>Ein wahnsinnig mächtiger Befehl, Border-Radius lässt uns schnell und komfortabel Rundungen an allen Elementen erstellen. Das lästige Zuschneiden von Grafiken und der damit verbundene Aufwand über CSS-Formatierungen (Stichwort: <a href="http://www.jankoatwarpspeed.com/post/2008/04/30/make-fancy-buttons-using-css-sliding-doors-technique.aspx">Sliding Doors</a>) entfällt vollständig. Das spart mal wieder jede Menge Traffic und Zeit beim Aufbau einer Seite. Viel Spaß damit! <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-border-radius/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Background Gradients</title>
		<link>http://www.normansblog.de/css3-im-detail-background-gradients/</link>
		<comments>http://www.normansblog.de/css3-im-detail-background-gradients/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 01:33:46 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2080</guid>
		<description><![CDATA[CSS3 im Detail: Background Gradients - damit kann man jede Art von Verläufen darstellen, frei skalierbar und ganz ohne Grafiken.]]></description>
			<content:encoded><![CDATA[<p>Etwas verspätet nun auch der vierte Teil von <em>CSS3 im Detail</em>!</p>
<p><a href="http://www.normansblog.de/css3-im-detail-background-gradients/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Dieses mal erwarten euch lineare und radiale Farbverläufe (engl. gradients) in CSS, mit deren Hilfe wir einige ganz hübsche Effekte erzielen können. Benutzt werden sie überall dort, wo wir eine <code>url()</code> angeben können. In den folgenden Beispielen werden wir sie aber im Zusammenhang mit <code>background</code> verwenden, indem wir statt einem Hintergrundbild den gewünschten Verlauf angeben.</p>
<p><span id="more-2080"></span></p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a style="opacity:0.3;" href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a><br/><small>(IE ab Version 10)</small></p>
</blockquote>
<h3>Syntax</h3>
<p>Prinzipiell muss man zwischen zwei Arten von Farbverläufen unterscheiden:</p>
<ol>
<li>Lineare Verläufe, geradliniger Farbverlauf von zwei oder mehr Farben</li>
<li>Radiale Verläufe, kreisförmiger Farbverlauf zwischen zwei Farben</li>
</ol>
<h3>Linearer Verlauf</h3>
<p>Zuerst einmal ein einfacher, linearer Verlauf:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.lin_grad</span> <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-moz-linear-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-webkit-</span>gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> from<span style="color: #00AA00;">&#40;</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> to<span style="color: #00AA00;">&#40;</span><span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-webkit-linear-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome - neue Syntax! */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-o-linear-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-ms-linear-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* IE */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:linear-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p><strong>Anmerkung:</strong> Das Firefox Logo im Vordergrund wird als zusätzlicher Background eingebunden, <a href="http://www.normansblog.de/css3-im-detail-multiple-backgrounds/">siehe Teil 2</a>.</p>
<div style="margin:20px;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-moz-linear-gradient(top, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-webkit-gradient(linear, left top, left bottom, from(#fff), to(#adf));background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-webkit-linear-gradient(top, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-o-linear-gradient(top, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-ms-linear-gradient(top, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,linear-gradient(top, #fff, #adf);"></div>
<p>Prinzipiell haben die Verlauf-Funktionen 4 Argumente um einen Farbverlauf näher zu beschreiben. Die Argumente sind einmal <code>linear</code> oder <code>gradient</code>, welche angeben um welchen Typ von Verlauf es sich handelt. Firefox bietet 2 separate Funktionen dafür an, Safari/Chrome nutzen eine Funktion für beide Typen. Es folgen dann der Start- bzw. Endpunkt und somit die Richtung des Verlaufs. Zu guter Letzt werden noch die Farbcodes für Start- und Endfarbe benötigt.</p>
<p>Bei den Webkit-Browsern erscheint mir dir Syntax insgesamt etwas komplizierter. Also es kann sein, dass es auch kürzer geht aber ich bin ehrlich gesagt froh, dass ich überhaupt einen funktionierenden Verlauf mit Safari hinbekommen habe. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Update:</strong> Mittlerweile hat Webkit die Syntax an die von Gecko angepasst, auch Opera unterstützt ab Version 11.10 lineare Verläufe mit einem eigenen Prefix.</p>
<p><strong>Update 2:</strong> Die <abbr title="13.04.2011">heute</abbr> herausgegebene Platform Preview des Internet Explorer 10 unterstützt beide Arten von Verläufen.</p>
<p><strong>Update 3:</strong> Opera <del datetime="2011-12-06T20:05:59+00:00">12</del> <ins datetime="2011-12-06T20:05:59+00:00">11.6</ins> unterstützt radiale Verläufe per Prefix.</p>
<h3>Radialer Verlauf</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.rad_grad</span> <span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-moz-radial-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-webkit-</span>gradient<span style="color: #00AA00;">&#40;</span>radial<span style="color: #00AA00;">,</span> <span style="color: #993333;">center</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">center</span> <span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">400</span><span style="color: #00AA00;">,</span> from<span style="color: #00AA00;">&#40;</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> to<span style="color: #00AA00;">&#40;</span><span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-webkit-radial-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome - neue Syntax! */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-o-radial-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera, funktioniert noch nicht, aber sicherlich bald */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-ms-radial-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* IE */</span>
<span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:radial-</span>gradient<span style="color: #00AA00;">&#40;</span><span style="color: #993333;">center</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#adf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<div style="margin:20px;height:400px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-moz-radial-gradient(center, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-webkit-gradient(radial, center center, 80, center center, 400, from(#fff), to(#adf));background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-webkit-radial-gradient(center, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-o-radial-gradient(center, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,-ms-radial-gradient(center, #fff, #adf);background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center,radial-gradient(center, #fff, #adf);"></div>
<p>Um einen radialen Verlauf zu bekommen, gehen wir genauso vor wie oben. Im Firefox ist es ganz einfach: Startpunkt, Startfarbe, Endfarbe. Webkit bereitet mir etwas Kopfzerbrechen.. soweit ich das verstanden habe, muss man hier zwei Kreise angeben mit jeweils einem Startpunkt und den Radius des Kreises, sowie Start- und Endfarbe.</p>
<p>Ich will das jetzt mal nicht weiter vertiefen und euch verwirren. Am besten ihr lest euch mal die Spezifikationen durch..</p>
<p><a href="http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/">-moz-linear-gradient und -moz-radial-gradient</a> für Firefox und <a href="http://webkit.org/blog/175/introducing-css-gradients/">-webkit-gradient</a> für Safari und Chrome (beides auf Englisch).</p>
<h3>Fazit</h3>
<p>Background Gradients könnten in Zukunft recht interessant werden. Lineare Verläufe werden heutzutage bereits auf fast allen Webseiten eingesetzt (Hintergründe, Buttons). Radiale Verläufe machen sich sicherlich gut, um bestimmte Sachen zu highlighten. Der größte Vorteil ist, dass somit keine Grafiken mehr gebraucht werden, die sinnlos Zeit und Bandbreite vergeuden. Die Syntax ist zwar nicht die einfachste aber mit etwas Geduld und Übung lernt man sie schon kennen. Ich hoffe, dass Webkit hier trotzdem nochmal nachbessert und die Funktion irgendwie vereinfacht. Mit Firefox hingegen kommt man recht schnell ans Ziel.</p>
<p>Lange Rede, kurzer Sinn: Probiert euch am besten selbst mal an den Verläufen, kombiniert eventuell das Ganze dann noch mit mehreren Backgrounds und/oder Background-Size und ihr werdet auf einige lustige Ergebnisse stoßen. Viel Spaß damit. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-background-gradients/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>CSS3 im Detail: Background-Size</title>
		<link>http://www.normansblog.de/css3-im-detail-background-size/</link>
		<comments>http://www.normansblog.de/css3-im-detail-background-size/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 00:00:47 +0000</pubDate>
		<dc:creator>Norman</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.normansblog.de/?p=2023</guid>
		<description><![CDATA[CSS3 im Detail: Background-Size - mit CSS3 Hintergrundgrafiken vergrößern, verkleinern, strecken, zerren oder einfach nur füllend auf den Bildschirm bringen.]]></description>
			<content:encoded><![CDATA[<p>Die <em>CSS3 im Detail</em>-Reihe geht in die dritte Runde!</p>
<p><a href="http://www.normansblog.de/css3-im-detail-background-size/"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/css3.jpg" alt="" title="css3" width="180" height="120" class="alignright size-full wp-image-1902" /></a>Im dritten Teil werden wir eine weitere Möglichkeit unter die Lupe nehmen, die es uns erlaubt <code>background</code> noch weiter zu manipulieren. Dabei soll es uns um das Ändern der Größe des Hintergrundes gehen. Kurz gesagt, wir reden über <code>background-size</code>.</p>
<p><span id="more-2023"></span></p>
<blockquote class="idea"><h3>Browserunterstützung</h3>
<p>Folgende Browser unterstützen diese Technik bereits:</p>
<p class="center"><a href="http://www.firefox.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_firefox_small.png" alt="Firefox" title="Firefox" width="50" height="50" class="alignnone size-full wp-image-1946" /></a> <a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignnone size-full wp-image-1949" /></a> <a href="http://www.opera.com"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_opera_small.png" alt="Opera" title="Opera" width="50" height="50" class="alignnone size-full wp-image-1948" /></a> <a href="http://www.google.com/chrome"><img src="http://www.normansblog.de/wp-content/uploads/2011/04/logo_chrome_new_small.png" alt="Chrome" title="Chrome" width="50" height="50" class="alignnone size-full wp-image-1945" /></a> <a href="http://ie.microsoft.com/"><img src="http://www.normansblog.de/wp-content/uploads/2010/11/logo_ie_new_small.png" alt="Internet Explorer" title="Internet Explorer" width="50" height="50" class="alignnone size-full" /></a></p>
</blockquote>
<h3>Syntax</h3>
<p>Background-Size wird zwar von vielen Browsern unterstützt, allerdings hat jedes Programm noch seine eigene Implementierung mit eigener Syntax. Alle folgenden Anweisungen sind nötig, um <code>background-size</code> auf allen Browsern, sofern diese die Technik auch unterstützen, zum Laufen zu bringen.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.bg_size</span> <span style="color: #00AA00;">&#123;</span>
	-moz-background-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span><span style="color: #933;">50%</span> <span style="color: #933;">25%</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Firefox */</span>
	-webkit-background-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span><span style="color: #933;">50%</span> <span style="color: #933;">25%</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Safari, Chrome */</span>
	background-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span><span style="color: #933;">50%</span> <span style="color: #933;">25%</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Opera, IE, W3C Standard */</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Die beiden Werte sind entweder Prozentangaben (prozentuale Breite und Höhe des Elements mit dem Hintergrund) oder Längenangaben in px, em oder sonstwas, dann gibt man direkt die Breite und Höhe des Hintergrundbildes an.</p>
<h4>background-size:50% 25%</h4>
<div style="margin:20px;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center #adf;-moz-background-size:50% 25%;-webkit-background-size:50% 25%;background-size:50% 25%;"></div>
<h4>background-size:100px 10em</h4>
<div style="margin:20px;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center #adf;-moz-background-size:100px 10em;-webkit-background-size:100px 10em;background-size:100px 10em;"></div>
<p>Neben diesen Möglichkeiten können wir aber auch noch zwischen den Schlüsselwerten <code>contain</code> und <code>cover</code> wählen. Contain skaliert das Bild so groß wie möglich aber noch so klein, dass es vollständig in das Element passt. Cover hingegen skaliert das Bild so klein es geht aber füllt das Element vollständig aus.</p>
<blockquote class="warning"><p><a href="http://www.apple.com/safari"><img src="http://www.normansblog.de/wp-content/uploads/2010/02/logo_safari_small.png" alt="Safari" title="Safari" width="50" height="50" class="alignright size-full wp-image-1949" /></a>Die nachfolgenden Anweisungen funktionieren nicht in Safari. Dieser nutzt noch eine alte Implementierung, die kein cover oder contain beinhaltet.</p>
<p><strong>Update:</strong> Seit Version 5 (08.06.2010) besteht das Problem in Safari nicht mehr.</p>
</blockquote>
<h4>background-size:contain</h4>
<div style="margin:20px;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center #adf;-moz-background-size:contain;-webkit-background-size:contain;background-size:contain;"></div>
<h4>background-size:cover</h4>
<div style="margin:20px;height:200px;background:url(http://www.normansblog.de/wp-content/uploads/2009/11/firefox-512-150x150.png) no-repeat center center #adf;-moz-background-size:cover;-webkit-background-size:cover;background-size:cover;"></div>
<h3>Fazit</h3>
<p>An sich ist das eine schöne Sache aber die Implementierung ist noch nicht in allen modernen Browsern gleich.. von daher seh ich noch keinen wahnsinnig großen Vorteil. Es macht sicherlich Sinn, wenn man Vektorgrafiken als Hintergrundbilder benutzt, dann kann man diese wunderbar verlustlos skalieren. Für <code>cover</code> oder <code>contain</code> gibt es sicherlich mehr Anwendungsfälle, z.B. <a href="http://ringvemedia.com/">gibt es Seiten</a>, die derzeit recht aufwändig versuchen ihr Hintergrundbild immer auf 100% Fensterbreite zu ziehen. Mit <code>background-size:cover</code> ist das jetzt kein Problem mehr.</p>
<p>Einmal müssen wir noch über Backgrounds reden, das nächste Mal geht&#8217;s nämlich um Background-Gradients, danach geht es dann mit Bordern weiter. <img src='http://www.normansblog.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.normansblog.de/css3-im-detail-background-size/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

