<?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>KS Webdesign - Der Blog &#187; XHTML/CSS</title>
	<atom:link href="http://webdesign-passau.com/wordpress/kategorie/xhtmlcss/feed/" rel="self" type="application/rss+xml" />
	<link>http://webdesign-passau.com/wordpress</link>
	<description></description>
	<lastBuildDate>Wed, 18 Jan 2012 13:08:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Collapsing Margins</title>
		<link>http://webdesign-passau.com/wordpress/collapsing-margins/</link>
		<comments>http://webdesign-passau.com/wordpress/collapsing-margins/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 11:20:34 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[collapsing margins]]></category>
		<category><![CDATA[zusammenfallende Ränder]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=562</guid>
		<description><![CDATA[&#8230;.sind ein wichtiges CSS-Prinzip! Collapsing Margins oder Zusammenfallende Ränder treten bei Elementen mit vertikal angrenzenden Margins auf. Der größere Abstand bleibt stehen, der Kleinere verschwindet. Das ist oft ganz sinnvoll, damit sich z.B. bei mehreren Textabsätzen untereinander die Margins nicht &#8230; <a href="http://webdesign-passau.com/wordpress/collapsing-margins/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="abstandunten0">&#8230;.sind ein wichtiges CSS-Prinzip!</p>
<p><em>Collapsing Margins</em> oder <em>Zusammenfallende Ränder</em> treten bei Elementen mit vertikal angrenzenden Margins auf. Der größere Abstand bleibt stehen, der Kleinere verschwindet.</p>
<p>Das ist oft ganz sinnvoll, damit sich z.B. bei mehreren Textabsätzen untereinander die Margins nicht zu unschönen Abständen aufaddieren.</p>
<p class="abstandunten0">Soweit ganz einfach. Leider ist es etwas komplizierter, was dazu führt, das der geneigte Webdesigner manchmal mit überraschenden Auswirkungen dieses Prinzips konfrontiert wird.</p>
<p><code>Margins</code> erscheinen nicht da wo wir sie erwarten. Sie büxen aus und lassen sich ganz woanders nieder, oder sie fallen durch und sind scheinbar im Nirwana verschwunden.<span id="more-562"></span></p>
<p>Fangen wir aber mit dem einfachen Fall an und arbeiten uns dann langsam weiter vor</p>
<p class="abstandunten0">Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-anfang.htm">collapsing-margins-anfang.htm</a> zum Quelltext rauskopieren.</p>
<p>Im Browser schaut es momentan so aus:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik1.png" alt="Collapsing Margins - Start" width="480" height="135" /></p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>p.erster-satz  {</code></li>
<li class="codeeinrueckung"><code>margin-bottom:16px;</code></li>
<li><code>}</code></li>
<li><code>p.zweiter-satz</code></li>
<li class="codeeinrueckung"><code>margin-top:32px;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik2.png" alt="Collapsing Margins - Einfacher Fall" width="480" height="172" /></p>
<p>Das Ergebnis entspricht den Erwartungen. Der vertikale Abstand zwischen den Textabsätzen beträgt <code>32px</code>.</p>
<p>Das könnt ihr ganz prima mit dem nützlichen <a href="https://addons.mozilla.org/en-US/firefox/addon/measureit/" title="Externer Link">Firefox-Addon MeasureIt</a> nachmessen. <img src='http://webdesign-passau.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="abstandoben2">Die Hauptüberschrift benötigt ein bißchen Abstand nach oben.</p>
<p class="abstandunten0">Bitte die <code>margins</code> der Textabsätze entfernen und CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>h1  {</code></li>
<li class="codeeinrueckung"><code>margin-top:32px;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik3.png" alt="Collapsing Margins - Das Margin büxt aus!" width="480" height="128" /></p>
<p>So hatten wir uns das aber nicht vorgestellt! Das <code>Margin</code> büxt aus (manche sprechen auch von einem durchfallenden <code>Margin</code>) und läßt sich zwischen der Bildschirmoberkante und dem oberen Anfang von <code>#umhang</code> nieder.</p>
<p class="abstandoben2">Wir könnten <code>padding</code> statt <code>margin</code> nehmen, um das zu verhindern. Da das aber nicht immer wünschenswert oder möglich ist, versuchen wir das <code>Margin</code> mit einem Zaun (<code>border</code>!!) einzusperren.</p>
<p class="abstandunten0">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#umhang  {</code></li>
<li class="codeeinrueckung"><code>border:1px solid maroon;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik4.png" alt="Collapsing Margins - Einfangen, erster Versuch" width="480" height="155" /></p>
<p>Mmmh, der Zaun ist an der falschen Stelle. Den Hintergrund von <code>#umhang</code> wollten wir nicht sehen.</p>
<p class="abstandunten0">Bitte den Rahmen von <code>#umhang</code> entfernen und CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#kopf  {</code></li>
<li class="codeeinrueckung"><code>border:1px solid navy;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik5.png" alt="Collapsing Margins - Wir haben es wieder eingefangen!" width="480" height="178" /></p>
<p>So ist es richtig!</p>
<p class="abstandoben2">Jetzt wollen wir noch dem zweiten Textabsatz ein <code>margin</code> gönnen, damit es ringsum eine fett, grüne Umrandung bekommt.</p>
<p class="abstandunten0">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>p.zweiter-satz  {</code></li>
<li class="codeeinrueckung"><code>margin:32px;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik6.png" alt="Collapsing Margins - Textabsatz mit fetter Umrandung 1" width="480" height="180" /></p>
<p>Fast! An drei Seiten ist es okay, aber das untere <code>Margin</code> ist durchgeplumst.</p>
<p class="abstandoben2"><code>padding</code> ist nicht wünschenswert, weil wir ja die fette, grüne Umrandung des Inhaltscontainers brauchen. Deshalb setzen wir wieder einen Zaun, um das Durchplumsen des unteren <code>margins</code> zu verhindern</p>
<p class="abstandunten0">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#inhalt  {</code></li>
<li class="codeeinrueckung"><code>border:1px solid green;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/collapsing-margins-grafik7.png" alt="Collapsing Margins - Textabsatz mit fetter Umrandung-Fertig" width="480" height="228" /></p>
<p>So soll es aussehen!</p>
<p class="abstandoben2">Das war noch nicht alles. <code>Margins</code> kann z.B. auch mit sich selbst kollabieren, oder durchfallen und kollabieren&#8230;und&#8230;und.</p>
<p>Neben <code>padding</code> und <code>border</code> ist auch ein <em>Clearing</em> geeignet, um <em>Collapsing Margins</em> zu verhindern.</p>
<p>Die <code>Margins</code> von Elementen mit <code>overflow:auto/scroll/hidden</code> kollabieren <strong>nicht</strong> mit ihren Nachfahren.</p>
<p>Die <code>Margins</code> von Elementen mit <code>float:left/right;</code> oder <code>position:absolute/fixed;</code> oder <code>display:inline-block;</code> kollabieren <strong>nicht</strong> mit ihren Nachfahren und <strong>auch nicht</strong> mit ihren Nachbarn.</p>
<p class="abstandoben2">Wenn ihr es ganz genau wissen wollt empfehle ich euch entweder das Studium des entsprechenden Absatzes <a href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins" title="Externer Link">der Spezifikation</a>, oder ihr lest, was das Buch <a href="http://www.galileocomputing.de/2148?GPP=fcsst2" title="Externer Link">Fortgeschrittene CSS-Techniken</a> dazu sagt.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/collapsing-margins/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Transparenz von Containern im IE</title>
		<link>http://webdesign-passau.com/wordpress/container-transparenz-ie/</link>
		<comments>http://webdesign-passau.com/wordpress/container-transparenz-ie/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 13:25:02 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[transparenz]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=559</guid>
		<description><![CDATA[In dem Artikel geht es um die Transparenz von Containern nicht von Grafiken oder Bildern. Überraschenderweise zeigt hier der IE 8 gewisse Ausfallerscheinungen. Hier findest du die transparenz-container-anfang.htm zum Quelltext rauskopieren. Die benötigte Grafik kannst du dir hier holen: transparenz-container-grafik.htm &#8230; <a href="http://webdesign-passau.com/wordpress/container-transparenz-ie/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In dem Artikel geht es um die Transparenz von Containern <strong>nicht</strong> von Grafiken oder Bildern. Überraschenderweise zeigt hier der IE 8 gewisse Ausfallerscheinungen.<span id="more-559"></span></p>
<p class="abstandoben2 abstandunten0">Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/transparenz-container-anfang.htm">transparenz-container-anfang.htm</a> zum Quelltext rauskopieren.</p>
<p>Die benötigte Grafik kannst du dir hier holen: <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2011/01/transparenz-container-grafik.htm">transparenz-container-grafik.htm</a></p>
<p>Die <code>ul</code> hat <code>opacity:0.8;</code> bekommen und wir haben im FF eine schöne Transparenz der Navigation. Den verschiedenen Versionen des IE helfen wir mit diversen Filtern auf die Sprünge.</p>
<p class="abstandunten0 abstandoben2">Bitte den <a href="http://webdesign-passau.com/wordpress/conditional-comments-1/">Conditional Comment</a> ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code class="kommentarfarbe">/* Transparenz für den IE 6 */</code></li>
<li><code>* html ul  {</code></li>
<li class="codeeinrueckung"><code>filter:alpha(opacity=80);</code></li>
<li><code>}</code></li>
<li><code class="kommentarfarbe">/* Transparenz für den IE 7 */</code></li>
<li><code>*+html ul  {</code></li>
<li class="codeeinrueckung"><code>filter:alpha(opacity=80);</code></li>
<li><code>}</code></li>
<li><code class="kommentarfarbe">/* Transparenz für den IE 8 */</code></li>
<li><code>ul  {</code></li>
<li class="codeeinrueckung"><code>-ms-filter:&quot;progid:DXImageTransform.Microsoft.Alpha(Opacity=80)&quot;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Klappt ja soweit im IE 6 und IE 7.</p>
<p>Der IE 8 zeigt auch die Transparenz aber überraschenderweise keinerlei Hovereffekt mehr. Damit hätte ich jetzt nicht gerechnet.</p>
<p class="abstandunten0">Das zu beheben erfordert ein paar Umbauarbeiten:</p>
<p>Der <code>background</code> für die <code>ul</code> wird gestrichen und <code>a</code> zugewiesen. Den Filter für den IE 8 bekommen <code>a</code> und <code>strong</code> und nicht die <code>ul</code>.</p>
<p class="abstandunten0 abstandoben2">Bitte streichen:</p>
<div class="beitragscode">
<ul>
<li><code>ul  {</code></li>
<li class="codeeinrueckung"><code>background:#444;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>a  {</code></li>
<li class="codeeinrueckung"><code>background:#444;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandunten0 abstandoben2">Bitte im <a href="http://webdesign-passau.com/wordpress/conditional-comments-1/">Conditional Comment</a> beim IE 8-Filter <code>ul</code> gegen <code>a, strong</code> austauschen:</p>
<div class="beitragscode">
<ul>
<li><code class="kommentarfarbe">/* Transparenz für den IE 8 */</code></li>
<li><code>a, strong  {</code></li>
<li class="codeeinrueckung"><code>-ms-filter:&quot;progid:DXImageTransform.Microsoft.Alpha(Opacity=80)&quot;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>So schaut es besser aus!</p>
<p>Mein besonderer Dank gilt <a href="http://anwalt-im-netz.de/" title="Externer Link">Andreas</a> ohne dessen Kommentar der Artikel so nicht möglich geworden wäre!</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/container-transparenz-ie/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CSS 3-Eigenschaften testen</title>
		<link>http://webdesign-passau.com/wordpress/css-3-eigenschaften-testen/</link>
		<comments>http://webdesign-passau.com/wordpress/css-3-eigenschaften-testen/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 14:06:18 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[Eigenschaften]]></category>
		<category><![CDATA[testen]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=535</guid>
		<description><![CDATA[Anleitungen zum Verständnis der CSS 3-Eigenschaften gibt es schon einige. Websites wo diese Eigenschaften erklärt werden auch.Mein Versuch euch CSS 3 näher zu bringen ist etwas anders: Zunächst habe ich eine kleine Website mit dem Titel Der IE muss draußen &#8230; <a href="http://webdesign-passau.com/wordpress/css-3-eigenschaften-testen/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Anleitungen zum Verständnis der CSS 3-Eigenschaften gibt es schon einige. Websites wo diese Eigenschaften erklärt werden auch.Mein Versuch euch CSS 3 näher zu bringen ist etwas anders:<span id="more-535"></span></p>
<p>Zunächst habe ich eine kleine Website mit dem Titel  <a href="http://css3.gratiskuchenhier.de/index.htm"><em>Der IE muss draußen bleiben</em></a> erstellt und hochgeladen.</p>
<p>Berücksichtigt wurde die korrekte Darstellung im <em>Firefox</em>. Um <em>Safari</em> und <em>Opera</em> habe ich mich auch nicht gekümmert. Der Club ist also nur für FF-Mitglieder uneingeschränkt zugänglich. <img src='http://webdesign-passau.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="abstandoben">Um <em>Safari</em> zu berücksichtigen fügt ihr einfach an geeigneter Stelle <code>-webkit-</code> ein, oder tauscht das <code>-moz-</code> dagegen aus.</p>
<p>Für unsere <em>Operas</em> klemmt ihr das <code>-moz-</code> und/oder <code>-webkit-</code> einfach ab oder ergänzt eine Zeile ohne das.</p>
<p class="abstandoben2">In der CSS-Datei habe ich kurze Erklärungen zu den <em>CSS 3-Features</em> per Kommentar über den entsprechenden Codezeilen eingefügt.</p>
<p>Damit ihr unbeschwert und ohne langatmige Erklärungen rumtesten könnt, habe ich  <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2010/09/css3-testdateien.zip">hier einen gezippten Ordner mit der kompletten Website zum Download hinterlegt.</a></p>
<p>Viel Spaß damit! <img src='http://webdesign-passau.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/css-3-eigenschaften-testen/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Navi includen &#8211; ohne Deppenlink</title>
		<link>http://webdesign-passau.com/wordpress/navi-includen-ohne-deppenlink/</link>
		<comments>http://webdesign-passau.com/wordpress/navi-includen-ohne-deppenlink/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 14:33:11 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[Navigationen]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[Deppenlink]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[includen]]></category>
		<category><![CDATA[navi]]></category>
		<category><![CDATA[navigation]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=464</guid>
		<description><![CDATA[Wer kennt das nicht: Die Navigation einer bestehenden Site ändert sich und nun muss die Änderung bei wirklich jeder Seite eingetragen werden. Nervig und zeitaufwändig! Eine Menge Zeit spart man sich wenn man die navi per include einbindet. Diese Methode &#8230; <a href="http://webdesign-passau.com/wordpress/navi-includen-ohne-deppenlink/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wer kennt das nicht: Die Navigation einer bestehenden Site ändert sich und nun muss die Änderung bei wirklich jeder Seite eingetragen werden. Nervig und zeitaufwändig!</p>
<p>Eine Menge Zeit spart man sich wenn man die navi per <em>include</em> einbindet. Diese Methode ist relativ simpel und effektiv. Man führt die Änderung an einer Datei durch und fertig.</p>
<p>Man hat zwar noch den Deppenlink (Link der auf sich selber zeigt), aber was soll&#8217;s.</p>
<p>In diesem, auch für <em>PHP-Vollpfosten</em> geeigneten Tutorial beschreibe ich euch, wie ihr die navi includet und trotzdem den Deppenlink vermeidet.<span id="more-464"></span></p>
<p class="abstandunten0 abstandoben2">So sieht euer Menü normalerweise aus:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;div id=&quot;navi&quot;&gt;</code></li>
<li><code>&lt;ul&gt;</code></li>
<li><code>&lt;li&gt;&lt;strong&gt;Startseite&lt;/strong&gt;&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;&lt;a href=&quot;leistungen.htm&quot;&gt;Leistungen&lt;/a&gt;&lt;/li&gt;</code></li>
<li><code>&lt;li&gt;&lt;a href=&quot;team.htm&quot;&gt;Team&lt;/a&gt;&lt;/li&gt;</code></li>
<li><code>&lt;/ul&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ul>
</div>
<p>Wie es sich gehört ist das Menü eine ungeordnete Liste. Bei der aktuellen Seite wurde <code>a</code> gegen <code>strong</code> ausgetauscht, um den Deppenlink zu vermeiden.</p>
<p>Um die navi zu includen, benenne ich die beteiligten Dateien von <code>.htm</code> in <code>.php</code> um. Aus der <code>index.htm</code> wird also <code>index.php</code>, usw.</p>
<p class="abstandunten0 abstandoben2">Wo die ungeordnete Liste mit dem Menü stand trage ich folgendes ein:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;div id=&quot;navi&quot;&gt;</code></li>
<li><code>&lt;?php include (&quot;navi.php&quot;) ?&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ul>
</div>
<p class="abstandunten0 abstandoben2">Den Inhalt der <code>navi.php</code>, die anstelle von dem, was da vorher stand eingebunden wird werfe ich euch mal direkt vor die Füße:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;?php</code></li>
<li class="codeeinrueckung"><code>$uri = $_SERVER['REQUEST_URI'];</code></li>
<li class="codeeinrueckung"><code>$navi = array(</code></li>
<li class="codeeinrueckung"><code>'/'        =&gt; 'Startseite',</code></li>
<li class="codeeinrueckung"><code>'/leistungen'    =&gt; 'Leistungen',</code></li>
<li class="codeeinrueckung"><code>'/team' =&gt; 'Team',</code></li>
<li class="codeeinrueckung"><code>);</code></li>
<li class="codeeinrueckung"><code>echo '&lt;ul&gt;'.&quot;\n&quot;;</code></li>
<li class="codeeinrueckung"><code>foreach ($navi as $href =&gt; $text)</code></li>
<li class="codeeinrueckung"><code>{</code></li>
<li class="codeeinrueckung"><code>echo '&lt;li&gt;';</code></li>
<li class="codeeinrueckung"><code>if ($uri == $href)</code></li>
<li class="codeeinrueckung"><code>{</code></li>
<li class="codeeinrueckung"><code>echo '&lt;strong&gt;'.$text.'&lt;/strong&gt;';</code></li>
<li class="codeeinrueckung"><code>}</code></li>
<li class="codeeinrueckung"><code>else</code></li>
<li class="codeeinrueckung"><code>{</code></li>
<li class="codeeinrueckung"><code>echo '&lt;a href=&quot;'.$href.'&quot;&gt;'.$text.'&lt;/a&gt;';</code></li>
<li class="codeeinrueckung"><code>}</code></li>
<li class="codeeinrueckung"><code>echo '&lt;/li&gt;'.&quot;\n&quot;;</code></li>
<li class="codeeinrueckung"><code>}</code></li>
<li class="codeeinrueckung"><code>echo '&lt;/ul&gt;'.&quot;\n\n&quot;;</code></li>
<li><code>?&gt;</code></li>
</ul>
</div>
<p>Um zu verstehen was wo eingetragen wird, lohnt es sich einmal etwas genauer hinzuschauen.</p>
<p>Zuerst wird in einem <code>array</code> die Adresse <em>root-relativ</em> eingetragen, d.h. es wird vom Wurzelverzeichnis des Webservers ausgegangen, was ja i.d.R. immer <code><strong>/</strong></code> ist.</p>
<p>Rechts daneben steht in Hochkommata der Text des Menüpunktes.</p>
<p>Wenn die angewählte URL gleich der URL des Menüpunktes ist wird <code>a</code> gegen <code>strong</code> ausgetauscht, ansonsten über die <code>else</code> der Link <em>hingeechot</em>.</p>
<p class="abstandunten0">Das <code>array</code> kann beliebig erweitert werden, je nachdem wieviel Menüpunkte die Navigation hat.</p>
<p>Wenn ihr mehrere Menüs auf eurer Seite habt, braucht ihr z.B. eine <code>topnavi.php</code>, eine <code>seitennavi.php</code> und/oder eine <code>fuss-navi.php</code>. Der Inhalt ist bis auf die Punkte des <code>arrays</code> gleich, ihr müßt nur die <em>richtige PHP-Datei</em> an der richtigen Stelle <em>includen</em>.</p>
<p>Das ist die einfachste Art eines Menüs, welches includet wird. Da ich euch noch mehrere Varianten zur Verfügung stellen will, habe ich alles zum Download in den Ordner <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/include.zip">include.zip</a> gepackt.</p>
<p class="abstandunten0">Die enthaltene <code>navi-normal.php</code> ist die hier vorgestellte Variante.</p>
<p class="abstandunten0">Bei der <code>navi-title.php</code> gibt es zusätzlich den <em>title</em>-Tag für <code>a</code></p>
<p>Bei der <code>navi-klasse.php</code> hat <code>a</code> noch eine zusätzliche Klasse und die <code>navi-id.php</code> hält für jeden Listenpunkt eine <code>id</code> bereit.</p>
<p>Funktioniert problemlos mit statischen Seiten. Ob das mit einem CMS so ohne weiteres geht glaube ich eher nicht.</p>
<p class="abstandoben">Wenn ihr das Gleiche für eine WordPressinstallation wollt, kann ich euch den schönen <a href="http://toscho.de/2009/deppenlink-entfernen/" title="Externer Link">Artikel von Thomas</a> dazu ans Herz legen.</p>
<p class="abstandoben">Von <a href="http://xhtmlforum.de/members/7772_gumbo.html" title="Externer Link">Markus</a> stammt die Ursprungsversion des Scriptes. <a href="http://xhtmlforum.de/members/9476_heiko_rs.html" title="Externer Link">Heiko</a> hat es verfeinert und <a href="http://dnaber.de/" title="Externer Link">David</a> hat mir beim Verstehen des Scriptes geholfen.</p>
<p class="abstandunten0"><strong>Vielen Dank dafür euch dreien!</strong></p>
<p>Ihr habt mir abgesehen von diesem Script schön öfter geholfen. Auch dafür nochmal an dieser Stelle meinen besonderen Dank! Ich habe viel von euch gelernt.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/navi-includen-ohne-deppenlink/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Fixierte Positionierung</title>
		<link>http://webdesign-passau.com/wordpress/fixierte-positionierung/</link>
		<comments>http://webdesign-passau.com/wordpress/fixierte-positionierung/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 14:52:59 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[fixed]]></category>
		<category><![CDATA[fixierte]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[Positionierung]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=449</guid>
		<description><![CDATA[Zu absoluter Positionierung gibt es schon einen Artikel, zur relativen Positionierung ebenfalls. Jetzt fehlt noch die fixierte Positionierung, die im Grunde eine Unterabteilung der absoluten Positionierung ist. D.h. es gelten fast die gleichen Regeln wie für position:absolute;, außer das dort &#8230; <a href="http://webdesign-passau.com/wordpress/fixierte-positionierung/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Zu <a href="http://webdesign-passau.com/wordpress/absolute-positionierung/">absoluter Positionierung</a>  gibt es schon einen Artikel, zur <a href="http://webdesign-passau.com/wordpress/relative-positionierung/">relativen Positionierung</a> ebenfalls.</p>
<p>Jetzt fehlt noch die <em>fixierte</em> Positionierung, die im Grunde eine Unterabteilung der absoluten Positionierung ist.<span id="more-449"></span></p>
<p>D.h. es gelten fast die gleichen Regeln wie für <code>position:absolute;</code>, außer das dort <strong>immer</strong> <code>body</code> als Bezugspunkt für Positionsangaben gilt. Außerdem kennt der IE 6 <code>position:fixed;</code> nicht und ignoriert es deshalb.</p>
<p>Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/position-fixed-anfang.htm">position-fixed-anfang.htm</a> zum Quelltext rauskopieren.</p>
<p>Bilder gibt es diesmal leider nicht, aber ich denke diesmal geht es auch ohne.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>.fixed  {</code></li>
<li class="codeeinrueckung"><code>position:fixed;</code></li>
<li class="codeeinrueckung"><code>left:40px;</code></li>
<li class="codeeinrueckung"><code>top:20px,</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Wenn ihr jetzt im Browser nach unten scrollt, kommt das fixierte Element mit. Setzt ihr die Positionsangaben auf null drängelt sich das fixierte Element ganz nach oben links, kommt aber beim Scrollen immer noch mit.</p>
<p>Beim IE 6 passiert nix. Das fixierte Element kommt einfach nicht mit.</p>
<p>Zum einen kann man den IE6 dabei einfach ignorieren, es gäbe allerdings z.B. die Möglichkeit ihm <a href="http://www.doxdesk.com/software/js/fixed.html" title="Externer Link">per Javascript</a> auf die Sprünge zu helfen.</p>
<p>Oder ihr verzichtet auf <code>position:fixed;</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/fixierte-positionierung/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Relative Positionierung</title>
		<link>http://webdesign-passau.com/wordpress/relative-positionierung/</link>
		<comments>http://webdesign-passau.com/wordpress/relative-positionierung/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 13:38:53 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[Positionierung]]></category>
		<category><![CDATA[relative]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=447</guid>
		<description><![CDATA[Angefangen habe ich mit diesem Artikel zur absoluten Positionierung. Fortsetzen will ich mit position:relative;.Mit fixierter Positionierung wird es enden. Hier findest du die position-relative-anfang.htm zum Quelltext rauskopieren. Im Browser schaut es so aus: Drei farbige Boxen in einer hellgrauen Box &#8230; <a href="http://webdesign-passau.com/wordpress/relative-positionierung/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Angefangen habe ich mit <a href="http://webdesign-passau.com/wordpress/absolute-positionierung/">diesem Artikel</a> zur absoluten Positionierung. Fortsetzen will ich mit <code>position:relative;</code>.Mit <a href="http://webdesign-passau.com/wordpress/fixierte-positionierung/">fixierter Positionierung</a> wird es enden.<span id="more-447"></span></p>
<p>Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/position-relative-anfang.htm">position-relative-anfang.htm</a> zum Quelltext rauskopieren.</p>
<p>Im Browser schaut es so aus:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/relative-1.png" alt="Relative Positionierung 1" width="500" height="193" /></p>
<p class="abstandoben">Drei farbige Boxen in einer hellgrauen Box untereinander. Alles ist im normalen Textfluß.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#green  {</code></li>
<li class="codeeinrueckung"><code>position:relative;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandoben">Das ergibt folgendes Bild im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/relative-1.png" alt="Relative Positionierung 1" width="500" height="193" /></p>
<p class="abstandoben">Nun ja, nicht sehr spektakulär.</p>
<p>Genaugenommen gibt es auch nach intensivem Studium keinen Vorher/Nachher-Effekt.</p>
<p>Durch <code>position:relative;</code> haben wir die Box zwar aus dem normalen Textfluß entfernt, sie hockt aber immer noch am gleichen Platz.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#green  {</code></li>
<li class="codeeinrueckung"><code>left:200px;</code></li>
<li class="codeeinrueckung"><code>top:50px;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Das ergibt folgendes Bild im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/relative-2.png" alt="Relative Positionierung 2" width="500" height="168" /></p>
<p class="abstandoben">Ihr seht, das die grüne Box die 200px von links und 50px von oben ausgehend von ihrem alten Standpunkt aus gemessen hat, einen Zaun um den alten Platz gelegt hat, damit während ihrer Abwesenheit keine andere Box dahin kann und dann erst an ihren neuen Platz marschiert ist.</p>
<p>Mit <code>position:relative;</code> könnt ihr die Reihenfolge auf der z-Achse verändern. Infos dazu bietet <a href="http://webdesign-passau.com/wordpress/stapelung-1/">dieser Artikel</a>.</p>
<p><a href="http://webdesign-passau.com/wordpress/absolute-positionierung/">Absolut positionierte Boxen</a> orientieren sich bei Positionsangaben an ihren <em>relativ</em> positionierten Vorfahren und nicht mehr an <code>body</code>.</p>
<p>Außerdem kann man öfter mal Darstellungsfehler im Internet Explorer beseitigen, wenn man die entsprechende Box relativ positioniert.</p>
<p class="abstandunten0">Manchmal wird allerdings durch relative Positionierung einer Box erst ein Darstellungsfehler im IE ausgelöst.</p>
<p>Das heißt in jedem Fall, das sorgfältiges Testen vonnöten ist, wenn man relativ positioniert.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/relative-positionierung/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Absolute Positionierung</title>
		<link>http://webdesign-passau.com/wordpress/absolute-positionierung/</link>
		<comments>http://webdesign-passau.com/wordpress/absolute-positionierung/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 10:52:27 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[absolut]]></category>
		<category><![CDATA[absolute]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[Positionierung]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=436</guid>
		<description><![CDATA[Erklärungen für position:absolute; findet man im Netz viele. Manche beschränken sich auf wenige, dürre Sätze, anderen wiederrum sind ein paar Bilder zur Verdeutlichung beigefügt. Wenn es um Erklärungen geht, wo man anhand einer Beispieldatei sofort mit basteln kann wird die &#8230; <a href="http://webdesign-passau.com/wordpress/absolute-positionierung/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Erklärungen für <code>position:absolute;</code> findet man im Netz viele. Manche beschränken sich auf wenige, dürre Sätze, anderen wiederrum sind ein paar Bilder zur Verdeutlichung beigefügt.</p>
<p class="abstandunten0">Wenn es um Erklärungen geht, wo man anhand einer Beispieldatei sofort mit basteln kann wird die Luft schon ziemlich dünn.</p>
<p>Deshalb sorge ich mit dem folgenden Tutorial dafür, dass die Luft in dem Bereich <em>a weng</em> dicker wird.<span id="more-436"></span></p>
<p class="abstandoben abstandunten0">Legen wir direkt los:</p>
<p>Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/position-absolute-anfang.htm">position-absolute-anfang.htm</a> zum Quelltext rauskopieren.</p>
<p>Im Browser schaut es so aus:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/absolute-1.png" alt="Absolute Positionierung 1" width="480" height="254" /></p>
<p class="abstandoben">Drei farbige Boxen in einer hellgrauen Box untereinander. Alles ist im normalen Textfluß. Für alle gilt <code>position:static;</code>. Das ist die <em>Standardeinstellung</em> (default-Einstellung) der Browser, die immer dann zum Tragen kommt, wenn man nix gemacht hat.</p>
<p>Das <code>position:static;</code> wird vom Browser praktisch unsichtbar eingefügt, ohne das er uns bescheid sagt.</p>
<p>Jetzt wollen wir den Textfluß mal durcheinanderwirbeln indem wir ein Element positionieren und damit die <em>Standardeinstellung</em> der Browser überschreiben.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#green  {</code></li>
<li class="codeeinrueckung"><code>position:absolute;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandoben2">Im Browser schaut es so aus:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/absolute-2.png" alt="Absolute Positionierung 2" width="480" height="192" /></p>
<p class="abstandoben">Umpff! Die rote Box ist weg.</p>
<p>Egal, wir haben die Möglichkeit für die Positionierung Werte zu vergeben.</p>
<p class="abstandunten0">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#green  {</code></li>
<li class="codeeinrueckung"><code>left:0;</code></li>
<li class="codeeinrueckung"><code>top:0;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandoben2">Das ergibt folgendes Bild im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/absolute-3.png" alt="Absolute Positionierung 3" width="510" height="142" /></p>
<p class="abstandoben">Aha, die rote Box hat sich also nur hinter der grünen versteckt. Allerdings springt die grüne Box nach ganz oben links ins Browserfenster, wenn wir als Wert für die Positionierung jeweils null eintragen.</p>
<p>Das heißt erst mal, das sich die absolut positionierte Box an <code>body</code> orientiert wenn man Werte für <code>top</code> und <code>left</code> eingibt.</p>
<p>Die nächste Erkenntnis die sich uns aufdrängt ist die, dass die absolute Box von den anderen Boxen ignoriert wird. Die anderen Boxen tun so als wäre die absolute Box nicht vorhanden.</p>
<p>Also sind absolut positionierte Elemente komplett aus dem normalen Textfluß raus.</p>
<p>Wenn sich die absolute Box immer an <code>body</code> orientiert ist das doch ganz schön nervig, weil man immer erst die richtigen Werte ausbaldowern muss, um eine Darstellung an der gewünschten Stelle zu erreichen.</p>
<p class="abstandunten0 abstandoben2">Das geht einfacher:</p>
<p>Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#wrapper  {</code></li>
<li class="codeeinrueckung"><code>position:relative;</code></li>
<li><code>}</code></li>
<li><code>#green  {</code></li>
<li class="codeeinrueckung"><code>left:50px;</code></li>
<li class="codeeinrueckung"><code>top:50px;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandoben2">Das ergibt folgendes Bild im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/12/absolute-4.png" alt="Absolute Positionierung 4" width="480" height="183" /></p>
<p class="abstandoben">Wenn der umgebende Container (<code>#wrapper</code>) <code>position:relative;</code> bekommt orientiert sich die absolute Box daran und nicht mehr an <code>body</code>.</p>
<p>Zu beachten ist dabei, dass die relative Box <a href="http://onhavinglayout.fwpf-webdesign.de/"title="Externer Link">HasLayout</a> für den IE 6 u. 7 bekommen sollte, da es passieren kann, dass die Positionsangaben sonst evtl. nicht richtig ausgeführt werden.</p>
<p>Für Anfänger ist das durchaus verführerisch alle Elemente mit <code>position:absolute;</code> festzutackern, um so die gewünschte Darstellung zu erhalten.</p>
<p>Okay, dann nehmt mal <code>position:relative;</code> weg und setzt die Werte für <code>top/left</code> auf null. Danach verkleinert ihr mal das Browserfenster stark.</p>
<p>Ihr seht dann hoffentlich was ich meine.</p>
<p class="abstandoben2"><code>position:absolute;</code> sollte man mit Bedacht einsetzen, denn damit ändert ihr wie gesehen auch die Stapelreihenfolge auf der <em>z-Achse</em>, d.h. zu euch hin oder von euch weg.</p>
<p>Wenn ihr an weiteren Infos über Stapelung interessiert seid könnte <a href="http://webdesign-passau.com/wordpress/stapelung-1/">dieser Artikel von mir</a> noch in Frage kommen.</p>
<p class="abstandoben">Was gibts noch zu sagen?</p>
<p>Es kann vorkommen das absolut positionierte Boxen Im IE 6 u. 7 nicht angezeigt werden, wenn sie im Quelltext unmittelbar neben einem <em>Float</em> liegen.</p>
<p>Abhilfe schafft entweder ein leeres <code>div</code>zwischen dem <em>Float</em> und der <em>absoluten Box</em> in den Quelltext zu schreiben, oder entweder den Float oder die absolute Box in ein <code>div</code> zu wickeln. Entscheidend dabei ist die unmittelbare Nachbarschaft von <em>Float</em> und <em>absoluter Box</em> aufzulösen.</p>
<p>Erhellendes dazu findet ihr in <a href="http://www.brunildo.org/test/IE_raf3.html" title="Externer Link">dieser Untersuchung</a> von Bruno Fassini.</p>
<p class="abstandoben">Zur relativen Positionierung gibt es mittlerweile schon <a href="http://webdesign-passau.com/wordpress/relative-positionierung/">einen Artikel.</a></p>
<p>Die <a href="http://webdesign-passau.com/wordpress/fixierte-positionierung/">fixierte Positionierung</a> habe ich auch nicht vergessen.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/absolute-positionierung/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Listenzeichen</title>
		<link>http://webdesign-passau.com/wordpress/listenzeichen/</link>
		<comments>http://webdesign-passau.com/wordpress/listenzeichen/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 14:56:02 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[HG-Grafik]]></category>
		<category><![CDATA[Hintergrundgrafik]]></category>
		<category><![CDATA[listenpunkte]]></category>
		<category><![CDATA[listenzeichen]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=369</guid>
		<description><![CDATA[Listenzeichen sind ein leidiges Thema. Es ist ja optisch ganz nett, wenn die Listenpunkte einer ungeordneten Liste vom Browser automatisch mit einem Listenzeichen versehen werden. Dadurch wird die Liste optisch noch einmal hervorgehoben. Dumm ist nur wenn die Listenzeichen in &#8230; <a href="http://webdesign-passau.com/wordpress/listenzeichen/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="abstandunten0">Listenzeichen sind ein leidiges Thema.</p>
<p>Es ist ja optisch ganz nett, wenn die Listenpunkte einer ungeordneten Liste vom Browser automatisch mit einem Listenzeichen versehen werden. Dadurch wird die Liste optisch noch einmal hervorgehoben.</p>
<p>Dumm ist nur wenn die Listenzeichen in jedem Browser anders aussehen. Ganz übel wird es dann, wenn sie im Internet Explorer zu sehen sind im Firefox aber nicht, oder umgekehrt.</p>
<p>Was tun sprach Zeus?</p>
<p>Ihr könntet <code>list-style-position</code> auf <code>inside</code> setzen (beim Firefox ist es per <em>Default</em>-Einstellung <code>outside</code>), aber die Punkte sind im Internet Explorer trotzdem klein, dünn und kraftlos.</p>
<p>Es gibt einen besseren Weg:<span id="more-369"></span></p>
<p class="abstandunten0">Erst mal schalten wir die Listenzeichen mit <code>list-style-type:none;</code> alle aus.</p>
<p>Dann erstellen wir mit einem Grafikprogramm ein eigenes Listenzeichen und binden das als Hintergrundgrafik ein.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>li  {</code></li>
<li class="codeeinrueckung"><code>list-style-type:none;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Der Stand im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/10/listenzeichen_anfang.png" alt="Listenzeichen - Anfang" width="358" height="178" /></p>
<p class="abstandoben2">Die erstellte Grafik: <img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/10/listenzeichen.png" alt="Listengrafik" width="14" height="14" /></p>
<p>Die Grafik hat die Maße <em>14x14px</em> und ist ein gelber Punkt. Nicht spektakulär, aber für unsere Zwecke mehr als ausreichend.</p>
<p>Nun binden wir die Grafik als HG-Grafik ein. Dazu bilden wir eine Klasse die wir <code>li</code> zuweisen.</p>
<p class="abstandunten0 abstandoben2">Aussehen des Quellcodes:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;ul&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;li class=&quot;listenzeichen&quot;&gt;Erster Listenpunkt&lt;/li&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;li class=&quot;listenzeichen&quot;&gt;Zweiter Listenpunkt&lt;/li&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;li class=&quot;listenzeichen&quot;&gt;Dritter Listenpunkt&lt;/li&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;li class=&quot;listenzeichen&quot;&gt;Vierter Listenpunkt oder watt?!&lt;/li&gt;</code></li>
<li><code>&lt;/ul&gt;</code></li>
</ul>
</div>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>.listenzeichen  {</code></li>
<li class="codeeinrueckung"><code>background:url(listenzeichen.png) no-repeat left top;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Stand im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/10/listenzeichen_mitte.png" alt="Listenzeichen - Mitte" width="356" height="176" /></p>
<p class="abstandoben">Naja, da ist zwar was gelbes, aber an der falschen Stelle.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>.listenzeichen  {</code></li>
<li class="codeeinrueckung"><code>background:url(listenzeichen.png) no-repeat left <strong><em>0.3em;</em></strong></code></li>
<li class="codeeinrueckung"><code>padding-left:1.5em;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Stand im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/10/listenzeichen_fertig.png" alt="Listenzeichen - Fertig" width="349" height="168" /></p>
<p class="abstandoben">Man kann jetzt darüber streiten, ob die HG-Grafik im Internet Explorer <code>0.1em</code> zu tief sitzt und das dann per <a href="http://webdesign-passau.com/wordpress/conditional-comments-1/">Conditional Comment</a> korrigieren, aber das müßt ihr selbst entscheiden.</p>
<p>Auf jeden Fall erhaltet ihr so Listenzeichen, die browserübergreifend gleich aussehen und auch leicht zu positionieren sind.</p>
<p>Außerdem ist der Text wenn der Listenpunkt mehr als einzeilig ist sauber eingerückt, was bei den autom. Listenzeichen oder <code>list-style-image</code> nicht der Fall ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/listenzeichen/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Faux Columns Liquid</title>
		<link>http://webdesign-passau.com/wordpress/faux-columns-liquid/</link>
		<comments>http://webdesign-passau.com/wordpress/faux-columns-liquid/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 14:37:30 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[Faux Columns liquid]]></category>
		<category><![CDATA[unechte Spalten]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=350</guid>
		<description><![CDATA[Die Faux Columns Technik für feste Layouts hatte ich schon in einem Artikel erklärt. Aber wie erzeugen wir gleichlange Spalten für flüssige Layouts, d.h. wo die Spaltenbreiten Prozentwerte sind (rechts 25%, mitte 50%, links 25% z.B.) ? Das ist nicht &#8230; <a href="http://webdesign-passau.com/wordpress/faux-columns-liquid/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="abstandunten0">Die <a href="http://webdesign-passau.com/wordpress/faux-columns-technik/">Faux Columns Technik</a> für feste Layouts hatte ich schon in einem Artikel erklärt.</p>
<p>Aber wie erzeugen wir gleichlange Spalten für <em>flüssige</em> Layouts, d.h. wo die Spaltenbreiten<br />
Prozentwerte sind (rechts 25%, mitte 50%, links 25% z.B.) ?</p>
<p>Das ist nicht viel schwieriger als die normale <em>Faux Columns Technik</em>.<span id="more-350"></span></p>
<p class="abstandoben2">Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/fauxcolumns_liquid_anfang.htm">fauxcolumns_liquid_anfang.htm</a> zum Quelltext rauskopieren.</p>
<p class="abstandunten0">Die benötigten Grafiken kannst du dir hier holen: <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/fauxcolumns_liquid_grafik.htm">fauxcolumns_liquid_grafik.htm</a></p>
<p><strong>Achtung!!</strong> Die zweite Grafik seht ihr erst, wenn ihr nach rechts scrollt</p>
<p class="abstandoben">Im Browser schaut es noch so aus:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/fc_liquid_anfang.png" alt="Liquid-Faux-Columns - Anfang" width="480" height="155" /></p>
<p class="abstandoben abstandunten0">Die XHTM-Struktur ist folgende:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;div id="umhang"&gt;</code></li>
<li><code>&lt;div id="kopf"&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;h1&gt;Liquid Faux Columns&lt;/h1&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;div id="zentral"&gt;</code></li>
<li><code>&lt;div id="links"&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;p&gt;........&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;div id="textbereich"&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;p&gt;.............&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;div id="rechts"&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;p&gt;..............&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li class="codeeinrueckung"><code>&lt;hr class="clear" /&gt;</code></li>
<li><code>&lt;/div&gt;<span class="kommentarfarbe">&lt;-- Ende div#zentral --&gt;</span></code></li>
<li><code>&lt;/div&gt;<span class="kommentarfarbe">&lt;-- Ende div#umhang --&gt;</span></code></li>
</ul>
</div>
<p class="abstandunten0"><code>div#umhang</code> umschließt alle Bereiche innerhalb von <code>body</code>.</p>
<p class="abstandunten0">Die drei Spalten <code>#links</code>,<code>#textbereich</code> und <code>#links</code> werden vom <code>div#zentral</code> umschlossen.</p>
<p>Unmittelbar vor dem Ende von <code>div#zentral</code> werden die später floatenden Spalten mit der<br />
<code>&lt;hr class="clear" /&gt;</code> gecleart.</p>
<p class="abstandoben2">Lange Rede, kurzer Sinn. Jetzt wird gestaltet!</p>
<p class="abstandunten0">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>#links  {</code></li>
<li class="codeeinrueckung"><code>float:left;</code></li>
<li class="codeeinrueckung"><code>width:25%;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#textbereich  {</code></li>
<li class="codeeinrueckung"><code>float:left;</code></li>
<li class="codeeinrueckung"><code>width:46%;</code></li>
<li class="codeeinrueckung"><code>margin-left:2%;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#rechts  {</code></li>
<li class="codeeinrueckung"><code>float:right;</code></li>
<li class="codeeinrueckung"><code>width:25%;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandunten0">Die drei Spalten sind schon mal nebeneinander, aber das Ganze ist noch ziemlich grau.</p>
<p>Habt ihr euch nicht gewundert, das die mittlere Spalte (<code>div#textbereich</code>) nur <code>46% Breite</code> und ein <code>margin-left</code> von <code>2%</code> hat?</p>
<p>Prozentwerte für Spaltenbreiten können so manchen Browser ins <em>Trudeln</em> bringen. Wenn alles <em>auf Kante genäht</em> ist kann es leicht zu Rundungsfehlern kommen und die Floats brechen dann eventuell um.</p>
<p>Deshalb lasse ich da immer etwas Luft. Die <code>margin-left:2%;</code> brauche ich damit der Inhalt dann auch wirklich mittig sitzt.</p>
<p class="abstandoben2">Laßt uns jetzt mal die Grafiken einbauen.</p>
<p class="abstandunten0">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>body  {</code></li>
<li class="codeeinrueckung"><code>background:#dedede url(linke_seite.png) repeat-y 25% 0;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#umhang  {</code></li>
<li class="codeeinrueckung"><code>background: url(rechte_seite.png) repeat-y 75% 0;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Da pro Element nur eine Hintergrundgrafik erlaubt ist und wir aber zwei Grafiken einbauen müssen hat <code>body</code> die linke Spaltengrafik und <code>div#umhang</code> die rechte Spaltengrafik bekommen.</p>
<p class="abstandoben">Zwischenstand im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/fc_liquid_mitte.png" alt="Liquid-Faux-Columns - Fertig" width="500" height="217" /></p>
<p class="abstandoben abstandunten0">Interessant!</p>
<p class="abstandunten0">Die rechte Spaltengrafik, die ja <code>div#umhang</code> zugewiesen wurde, geht nicht bis nach unten.</p>
<p><code>div#umhang</code> braucht <code>min-height:100%;</code>. Damit das auch klappt brauchen <code>body</code> und <code>html</code> eine Höhe von 100%. Warum habe ich in <a href="http://webdesign-passau.com/wordpress/foot-sticker-alt/">diesem Artikel</a> ausführlich erklärt.</p>
<p>Es muss auch noch etwas <code>padding</code> vergeben werden, damit der Text nicht in die Schatten hineinragt.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>html,</code></li>
<li><code>body  {</code></li>
<li class="codeeinrueckung"><code>height:100%;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#umhang</code></li>
<li class="codeeinrueckung"><code>height:100%;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#links p  {</code></li>
<li class="codeeinrueckung"><code>padding:1em 1.5em 0 1em;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#textbereich p  {</code></li>
<li class="codeeinrueckung"><code>padding:1em;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>#rechts p  {</code></li>
<li class="codeeinrueckung"><code>padding:1em 1em 0 2em;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p>Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/fc_liquid_fertig.png" alt="Liquid-Faux-Columns - Fertig" width="500" height="190" /></p>
<p class="abstandoben">Schaut doch schon recht ordentlich aus.</p>
<p>Der IE 6 kennt <code>min-height</code> leider nicht, deshalb braucht er per Conditional Comment <code>height</code>, das er fälschlicherweise wie <code>min-height</code> behandelt.</p>
<p>Der IE 7 hat einen Fehler beim <em>Seitenzoom</em>. Um das zu beheben bekommt <code>html</code> die linke Spaltengrafik noch einmal zugewiesen.</p>
<p class="abstandunten0 abstandoben2">Bitte den Conditional Comment ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;!--[if lte IE 8]&gt;</code></li>
<li><code>&lt;style type=&quot;text/css&quot;&gt;</code></li>
<li><code>* html #umhang {</code></li>
<li class="codeeinrueckung"><code>height: 100%;</code></li>
<li><code>}</code></li>
<li><code>*+html {</code></li>
<li class="codeeinrueckung"><code>background:#dedede url(linke_seite.png) 25% 0 repeat-y;</code></li>
<li><code>}</code></li>
<li><code>&lt;/style&gt;</code></li>
<li><code>&lt;![endif]--&gt;</code></li>
</ul>
</div>
<p class="abstandunten0">Bei den Grafiken ist der Bereich, der nicht zum Einfärben der Spalte benötigt wird transparent.</p>
<p>Da hier das <code>div#umhang</code> über die gesamte Breite des sichtbaren Bereichs geht, wird die Transparenz benötigt, damit der Hintergrund von <code>body</code> (linke Spalte!!) nicht verdeckt wird.</p>
<p>Das wäre es normalerweise, aber fragt ihr euch nicht auch warum z.B. die HG-Grafik für die linke Seite ganz links anfängt und nicht nach 25% von links aus gesehen?</p>
<p class="abstandunten0">Wenn ihr Hintergrundbilder mit Prozentwerten positionieren wollt, wird der diesem Prozentwert entsprechende Punkt des Bildes am entsprechenden Punkt des Elementes <em>befestigt</em>.</p>
<p>Das Ganze funktioniert bei Prozentwerten für die Positionierung des HG-Bildes also anders wie wir es normalerweise gewohnt sind.</p>
<p class="abstandunten0 abstandoben">Eine kleine Beispielzeichnung zur Veranschaulichung:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/fc_liquid_zeichnung.png" alt="Liquid-Faux-Columns - Fertig" width="500" height="99" /></p>
<p class="abstandoben abstandunten0"><code>body</code> geht über die ganze Breite des Viewports und hat die <strong>untere</strong> Grafik der Beispielzeichnung zugewiesen bekommen.</p>
<p>Wir haben für die Positionierung des HG-Bildes <code>background-position:25% 0;</code> notiert, also 25% von links.</p>
<p>Nun wird aber nicht die linke obere Ecke des HG-Bildes an diesen Punkt genagelt, sondern wir gehen mit dem Finger im HG-Bild 25% (650px) nach rechts und nageln genau diesen Punkt im Viewport 25% vom linken Rand aus gesehen fest.</p>
<p class="abstandoben2 abstandunten0"><code>div#umhang</code> geht auch über die ganze Breite des Viewports und hat die <strong>obere</strong> Grafik der Beispielzeichnung zugewiesen bekommen.</p>
<p>Wir haben für die Positionierung des HG-Bildes <code>background-position:75% 0;</code> notiert, also 75% von links.</p>
<p>Nun wird aber nicht die linke obere Ecke des HG-Bildes an diesen Punkt genagelt, sondern wir gehen mit dem Finger im HG-Bild 75% (1950px) nach rechts und nageln genau diesen Punkt im Viewport 75% vom linken Rand aus gesehen fest.</p>
<p class="abstandoben2">Inspiriert von:<a href="http://www.galileocomputing.de/1668?GPP=fcsst2" title="Externer Link">Fortgeschrittene CSS-Techniken</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/faux-columns-liquid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Runde Ecken 3</title>
		<link>http://webdesign-passau.com/wordpress/runde-ecken-3/</link>
		<comments>http://webdesign-passau.com/wordpress/runde-ecken-3/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 05:33:26 +0000</pubDate>
		<dc:creator>Klaus</dc:creator>
				<category><![CDATA[XHTML/CSS]]></category>
		<category><![CDATA[HG-Grafik]]></category>
		<category><![CDATA[Hintergrundgrafik]]></category>
		<category><![CDATA[runde Ecken]]></category>

		<guid isPermaLink="false">http://webdesign-passau.com/wordpress/?p=307</guid>
		<description><![CDATA[Zwei Artikel zu Boxen mit abgerundeten Ecken habe ich bereits verfasst: Runde Ecken 1 und Runde Ecken 2. Im dritten Artikel wird die Box mit runden Ecken am Ende voll flexibel sein, d.h. sie hält einer Schriftvergrößerung von sechs Stufen &#8230; <a href="http://webdesign-passau.com/wordpress/runde-ecken-3/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="abstandunten0">Zwei Artikel zu Boxen mit abgerundeten Ecken habe ich bereits verfasst:<br />
<a href="http://webdesign-passau.com/wordpress/runde-ecken-1">Runde Ecken 1</a> und <a href="http://webdesign-passau.com/wordpress/runde-ecken-2">Runde Ecken 2</a>.</p>
<p>Im dritten Artikel wird die Box mit runden Ecken am Ende voll flexibel sein, d.h. sie hält einer Schriftvergrößerung von sechs Stufen stand.<span id="more-307"></span></p>
<p class="abstandoben2">Hier findest du die <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/rundeecken3_anfang.htm">rundeecken3_anfang.htm</a> zum Quelltext rauskopieren.</p>
<p>Die benötigten Grafiken kannst du dir hier holen: <a href="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/rundeecken3_grafik.htm">rundeecken3_grafik.htm</a></p>
<p>Bitte denkt daran, den Hintergrund der Ecken <strong>nicht</strong> transparent zu machen, sondern in der Farbe des Hintergrundes vom Container, wo die Grafik drinhockt!</p>
<p class="abstandoben">Zur Verdeutlichung habe ich die vier Grafiken mal in einem Tableau zusammengefasst:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/rund3_grafiken_schaubild.png" alt="Schaubild Grafiken" width="494" height="312" /></p>
<p class="abstandoben">In diesem Fall sind es vier Grafiken, d.h. wir benötigen leider zusätzliche Elemente.</p>
<p class="abstandoben2">Deshalb schauen wir uns erstmal den Quelltext an:</p>
<div class="beitragscode">
<ul>
<li><code>&lt;div class=&quot;container&quot;&gt;</code></li>
<li><code>&lt;div class=&quot;container_innen&quot;&gt;</code></li>
<li><code>&lt;div class=&quot;container_ganzinnen&quot;&gt;</code></li>
<li><code>&lt;h2&gt;Box mit runden Ecken&lt;/h2&gt;</code></li>
<li><code>&lt;p&gt;Diese Box ist..........usw.&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ul>
</div>
<p class="abstandunten0">Zwei weitere Elemente sind hinzugekommen:</p>
<p><code>div.container_innen</code> und <code>div.container_ganzinnen</code>.</p>
<p>Die Maßeinheiten habe ich konsequent in <code>em</code> abgeändert, damit die Box auch bei Textvergrößerung in alle Richtungen gleichmäßig mitwächst.</p>
<p class="abstandunten0 abstandoben2">Bitte CSS ergänzen:</p>
<div class="beitragscode">
<ul>
<li><code>.container  {</code></li>
<li class="codeeinrueckung"><code>background:#b2f8a8 url(rund3_untenlinks.gif) no-repeat left bottom;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>.container .container_innen  {</code></li>
<li class="codeeinrueckung"><code>background: url(rund3_untenrechts.gif) no-repeat right bottom;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>.container .container_ganzinnen  {</code></li>
<li class="codeeinrueckung"><code>background: url(rund3_obenlinks.gif) no-repeat left top;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>.container h2  {</code></li>
<li class="codeeinrueckung"><code>background: url(rund3_obenrechts.gif) no-repeat right top;</code></li>
<li class="codeeinrueckung"><code>padding-top:0.3em;</code></li>
<li><code>}</code></li>
</ul>
<ul>
<li><code>.container p  {</code></li>
<li class="codeeinrueckung"><code>padding: 0.5em;</code></li>
<li><code>}</code></li>
</ul>
</div>
<p class="abstandoben2">Ergebnis im Browser:</p>
<p><img src="http://webdesign-passau.com/wordpress/wp-content/uploads/2009/09/rundeecken3_fertig.png" alt="Runde Ecken 3 - Fertig" width="400" height="213" /></p>
<p class="abstandoben2">Ist ja fast zu einfach. Was kann denn dabei schiefgehen?</p>
<p class="abstandunten0">Einiges!</p>
<p>In diesem Beispiel habe ich <code>padding</code> erst definiert <strong>nachdem</strong> ich die Grafiken eingebunden habe.<br />
Mit <code>margin</code> würde ich es genauso machen.</p>
<p>Ganz schnell sind nämlich statt vier runden Ecken z.B. nur eine oder drei da. Dann geht das wilde Rumgefuchtel mit verschiedenen <code>paddings/margins</code> los, die man vielleicht ja schon definiert hatte, <strong>bevor</strong> man die Grafiken eingebunden hat.</p>
<p>Deshalb bin ich da erstmal vorsichtig, setze alle <code>paddings</code> und <code>margins</code> für die Box auf null und ergänze dann die Abstände mit ständiger Zwischenkontrolle im Browser vorsichtig.</p>
<p>Außerdem verwechselt man beim Einbinden der Grafiken z.B. schnell mal <code>left bottom</code> mit <code>right bottom</code> oder <code>left top</code> mit <code>left bottom</code>, usw..</p>
<p>Ein wenig muss man auch schauen welche Grafik man welchem Element zuteilt, damit es nicht zu unliebsamen Überraschungen kommt.</p>
<p>Wie immer sehr hilfreich bei der Fehlersuche ist das <em>Firefox Addon</em> <a href="https://addons.mozilla.org/de/firefox/addon/1843" title="Externer Link">Firebug</a>, hier ein <a href="http://t3n.de/magazin/css-bearbeiten-firebug-web-layouts-analysieren-variieren-220315/" title="Externer Link">deutsches Tutorial</a> dazu.</p>
]]></content:encoded>
			<wfw:commentRss>http://webdesign-passau.com/wordpress/runde-ecken-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

