<?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>Browser &#8211; webmatze.de</title>
	<atom:link href="https://webmatze.de/category/uncategorized/browser/feed/" rel="self" type="application/rss+xml" />
	<link>https://webmatze.de</link>
	<description>Profi Tipps für einen erfolgreichen Internetauftritt</description>
	<lastBuildDate>Fri, 10 Nov 2023 09:28:37 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>A small update to my CSS3 Rotating Image Gallery</title>
		<link>https://webmatze.de/a-small-update-to-my-css3-rotating-image-gallery/</link>
					<comments>https://webmatze.de/a-small-update-to-my-css3-rotating-image-gallery/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Sat, 18 Dec 2010 16:04:57 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programmierung]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=642</guid>

					<description><![CDATA[A couple of months ago I wrote a small image gallery script using some of the new CSS3 functions like transitions and transforms of the Webkit Nightly Browser. It is a simple gallery with only four pictures in it which rotates on mouse click to show the next picture. That thing became a little famous [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>A couple of months ago I wrote <a href="http://webmatze.de/css-3-rotating-image-gallery/">a small image gallery script using some of the new CSS3 functions</a> like transitions and transforms of the <strong>Webkit Nightly Browser</strong>. It is a simple gallery with only four pictures in it which rotates on mouse click to show the next picture.</p>
<p>That thing <strong>became a little famous </strong>and was shown on many other websites as an example to what can be done with <strong>CSS3</strong> and <strong>a modern browser</strong>.</p>
<p>Now, a year later, I updated this script so it works now in many other modern browsers such as Firefox, Chrome, Opera and Internet Explorer.</p>
<p>Just <a href="http://samples.webmatze.de/rotating_image_gallery.htm">browse to the example page</a> and see it for yourself.</p>
<p>And if you have an older browser you can watch this little screen capture:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/rPH1G41Nu2U&amp;hl=de&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/rPH1G41Nu2U&amp;hl=de&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>I hope you like it and I am eager to see what you can come up with using those CSS3 transitions and transforms.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/a-small-update-to-my-css3-rotating-image-gallery/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Ein einfacher Cross-Browser Tooltip mit Javascript und CSS</title>
		<link>https://webmatze.de/ein-einfacher-cross-browser-tooltip-mit-javascript-und-css/</link>
					<comments>https://webmatze.de/ein-einfacher-cross-browser-tooltip-mit-javascript-und-css/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 24 Aug 2010 17:00:43 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programmierung]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=555</guid>

					<description><![CDATA[Vor einiger Zeit habe ich hier auf webmatze.de einen einfachen auf JavaScript und CSS basierenden Tooltip vorgestellt, mit dem sich schnell und einfach Tooltips in die eigenen Seiten integrieren ließen. Dieser funktionierte soweit auch ganz gut in vielen Browsern, doch die Zeit ist nicht stillgestanden und seit der Veröffentlichung hat es einige neue Browserversionen und [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Vor einiger Zeit habe ich hier auf webmatze.de einen <a href="http://webmatze.de/wirklich-einfache-javascript-tooltips/">einfachen auf JavaScript und CSS basierenden Tooltip</a> vorgestellt, mit dem sich schnell und einfach Tooltips in die eigenen Seiten integrieren ließen. Dieser funktionierte soweit auch ganz gut in vielen Browsern, doch die Zeit ist nicht stillgestanden und seit der Veröffentlichung hat es einige neue Browserversionen und sogar <a href="http://webmatze.de/google-chrome-der-neue-browser/">ganz neue Browser</a> gegeben.</p>



<p>Leider führte dies auch dazu, dass das alte Tooltip Script nun leider nicht mehr in allen wichtigen Browsern funktioniert. Aber auch in den Browsern, wo es funktionierte, ist es unter Umständen zu Fehlern gekommen.</p>



<p>Dies will ich nun zum Anlass nehmen und euch ein komplett neues Tooltip Script zur Verfügung stellen.</p>



<h2 class="wp-block-heading">XBT - Der Cross-Browser Tooltip</h2>



<p>Okay, über Namen lässt sich bestimmt streiten, aber irgendwie muss das Kind ja heißen. Das neue Script basiert auf ein paar Zeilen JavaScript und ist nur geringfügig größer als das alte Script. Dafür ist es jedoch viel flexibler zu konfigurieren, kollidiert nicht mit anderen Scripten und lässt sich leicht über CSS beliebig anpassen. Und wer möchte, kann das Script auch ohne Probleme um neue Funktionen erweitern.</p>



<p>Hier könnt ihr den Code sehen:</p>



<span id="more-555"></span>



<pre class="wp-block-code"><code lang="javascript" class="language-javascript line-numbers">(function (window, document, undefined) {
    var XBTooltip = function (element, userConf, tooltip) {
        var config = {
            id: userConf.id || undefined,
            className: userConf.className || undefined,
            x: userConf.x || 20,
            y: userConf.y || 20,
            text: userConf.text || undefined
        };

        var over = function (event) {
                tooltip.style.display = "block";
            },
            out = function (event) {
                tooltip.style.display = "none";
            },
            move = function (event) {
                event = event ? event : window.event;
                if (event.pageX == null &amp;&amp; event.clientX != null) {
                    var doc = document.documentElement, body = document.body;
                    event.pageX = event.clientX + (doc &amp;&amp; doc.scrollLeft || body &amp;&amp; body.scrollLeft || 0) - (doc &amp;&amp; doc.clientLeft || body &amp;&amp; body.clientLeft || 0);
                    event.pageY = event.clientY + (doc &amp;&amp; doc.scrollTop || body &amp;&amp; body.scrollTop || 0) - (doc &amp;&amp; doc.clientTop || body &amp;&amp; body.clientTop || 0);
                }
                tooltip.style.top = (event.pageY + config.y) + "px";
                tooltip.style.left = (event.pageX + config.x) + "px";
            }
        if (tooltip === undefined &amp;&amp; config.id) {
            tooltip = document.getElementById(config.id);
            if (tooltip) tooltip = tooltip.parentNode.removeChild(tooltip)
        }
        if (tooltip === undefined &amp;&amp; config.text) {
            tooltip = document.createElement("div");
            if (config.id) tooltip.id = config.id;
            tooltip.innerHTML = config.text;
        }
        if (config.className) tooltip.className = config.className;
        tooltip = document.body.appendChild(tooltip);
        tooltip.style.position = "absolute";
        element.onmouseover = over;
        element.onmouseout = out;
        element.onmousemove = move;
        over();
    };
    window.XBTooltip = window.XBT = XBTooltip;
})(this, this.document);</code></pre>



<p>Das einzig wirklich benötigte CSS für den Tooltip sieht so aus:</p>



<pre class="wp-block-code"><code lang="css" class="language-css line-numbers">.xbtooltip {
  display: none;
  position: absolute;
  background-color: #fff;
}</code></pre>



<p>Dieser kann aber für jeden einzelnen Tooltip noch einmal separat überschrieben werden. Doch dazu später mehr.</p>



<h2 class="wp-block-heading">Tooltip Beispiele</h2>



<p>Kommen wir also zu ein paar einfachen Beispielen, wie man das XBT Tooltip Script einsetzen kann.</p>



<h3 class="wp-block-heading">Einfacher Tooltip</h3>



<p>Der einfachste mögliche Tooltip benötigt einen Link und ein DIV Element mit dem anzuzeigenden Inhalt für den Tooltip.</p>



<pre class="wp-block-code"><code lang="markup" class="language-markup line-numbers">&lt;a href="http://webmatze.de" onMouseOver="XBT(this, {id:'tt1'})">Ein normaler Tooltip...&lt;/a>
&lt;div id="tt1" className="xbtooltip">...mit bereits vorhandenem Inhalt.&lt;/div></code></pre>



<p>Dem Tooltip Script wird also über eine Konfiguration welche in geschweiften Klammern steht, die <strong>id</strong> des Elementes übergeben, welches den Inhalt für den Tooltip enthält. Mehr ist hier nicht notwendig.</p>



<p>Das entsprechende CSS dazu kann z.B. so aussehen:</p>



<pre class="wp-block-code"><code lang="css" class="language-css line-numbers">#tt1 {
      background-color: #00FFFF;
      color: green;
      padding: 3px;
      width: 120px;
    }</code></pre>



<p>Und so sieht dann der Link mit dem Tooltip aus:</p>



<p><a href="http://webmatze.de" onmouseover="XBT(this, {id:'tt1'})">Ein normaler Tooltip...</a><div id="tt1" class="xbtooltip">...mit bereits vorhandenem Inhalt.</div></p>



<h3 class="wp-block-heading">Inhalt als Konfiguration übergeben</h3>



<p>Wer nicht extra für jeden Tooltip ein extra DIV Element erstellen möchte, kann den gewünschten Inhalt für den Tooltip auch gleich als <strong>text</strong> übergeben. Das kann dann z.B. so aussehen:</p>



<pre class="wp-block-code"><code lang="markup" class="language-markup line-numbers">&lt;a href="http://webmatze.de"
   onMouseOver="XBT(this, {text: '...indem man ihn &amp;lt;strong&amp;gt;als Text&amp;lt;/strong&amp;gt; übergibt', className: 'xbtooltip'})">
Man kann den Inhalt des Tooltips auch dynamisch erstellen lassen...
&lt;/a></code></pre>



<p>Als Konfiguration wird also nicht mehr eine <strong>id</strong> übergeben, sondern ein beliebiger Text, der auch HTML Elemente enthalten kann. Über den Parameter <strong>className</strong> kann man dem Tooltip dann einen beliebigen Style zuordnen.</p>



<p>Und so sieht das Ganze dann aus:</p>



<p><a href="http://webmatze.de"
   onMouseOver="XBT(this, {text: '...indem man ihn &lt;strong&gt;als Text&lt;/strong&gt; übergibt', className: 'xbtooltip'})">
Man kann den Inhalt des Tooltips auch dynamisch erstellen lassen...
</a></p>



<h3 class="wp-block-heading">Den Abstand des Tooltips anpassen</h3>



<p>Wenn man möchte, dass der Tooltip nicht direkt neben dem Mauszeiger, sondern weiter entfernt angezeigt wird, kann man dies über die Konfiguration anpassen. Dazu gibt es die beiden Parameter <strong>x</strong> und <strong>y</strong>.</p>



<pre class="wp-block-code"><code lang="markup" class="language-markup line-numbers">&lt;a<ins> href="http://webmatze.de"</ins> onmouseover="XBT(this, {id: 'tt4', x: 50, y: 50})">Man kann den Abstand des Tooltips anpassen...&lt;/a>
&lt;div id="tt4" class="xbtooltip">
...indem man eine Konfiguration übergibt
&lt;/div></code></pre>



<p>Somit wird der Tooltip nun jeweils 50 Pixel nach rechts und unten verschoben angezeigt.</p>



<p><a href="http://webmatze.de" onmouseover="XBT(this, {id: 'tt4', x: 50, y: 50})">Man kann den Abstand des Tooltips anpassen...</a>
<div id="tt4" class="xbtooltip">
...indem man eine Konfiguration übergibt
</div></p>



<h3 class="wp-block-heading">Funktioniert nicht nur bei Links</h3>



<p>Natürlich kann man den Tooltip auch an andere HTML Elemente hängen. Es muss nicht immer ein Link sein.</p>



<pre class="wp-block-code"><code lang="markup" class="language-markup line-numbers">&lt;div style="position: relative; top: 0px; left: 150px; width: 200px; height: 100px; background-color: #e4e4e4;" 
  onmouseover="XBT(this, {id:'tt2'})">Das
    funktioniert auch mit DIVs statt mit Links...
    &lt;div id="tt2" className="xbtooltip">...soweit der Browser onmouseover auf DIV Elementen unterstützt!&lt;/div>
&lt;/div></code></pre>



<p>Dies würde dann so aussehen:</p>



<div style="position: relative; top: 0px; left: 150px; width: 200px; height: 100px; background-color: #e4e4e4;" onmouseover="XBT(this, {id:'tt2'})">Das funktioniert auch mit DIVs statt mit Links...
<div id="tt2" class="xbtooltip">...soweit der Browser onmouseover auf DIV Elementen unterstützt!</div>
</div>



<h3 class="wp-block-heading">In absolut positionierten Elementen funktioniert es auch</h3>



<p>Mit dem alten Tooltip Script gab es immer Probleme mit Tooltips, die sich in anderen absolut prositionierten Elementen befanden. Hier wurden die Tooltips immer an einer falschen Position angezeigt.</p>



<p>Mit dem neuen Script ist dies nun auch kein Problem mehr:</p>



<pre class="wp-block-code"><code lang="markup" class="language-markup line-numbers">&lt;div style="position: absolute; top: 0px; left: 300px; width: 200px; height: 100px; background-color: #e4e4e4;">
    &lt;a href="http://eventicus.de" onmouseover="XBT(this, {id:'tt3'})">Genauso auch mit Tooltips...&lt;/a>
    &lt;div id="tt3" class="xbtooltip">...die sich in absolut positionierten Elementen befinden.&lt;/div>
&lt;/div></code></pre>



<p>Und so sieht's dann aus:</p>



<div style="position: relative; height: 130px;">
<div style="position: absolute; top: 0px; left: 300px; width: 200px; height: 100px; background-color: #e4e4e4;">
    <a href="http://eventicus.de" onmouseover="XBT(this, {id:'tt3'})">Genauso auch mit Tooltips...</a>
    <div id="tt3" class="xbtooltip">...die sich in absolut positionierten Elementen befinden.</div>
</div>
</div>



<h2 class="wp-block-heading">Fazit</h2>



<p>Ich hoffe ihr könnt mit diesem neuen Script etwas anfangen und wünsche euch viel Spaß damit. Sollten euch doch noch Probleme auffallen, oder sollte es in einem Browser nicht richtig funktionieren, so könnt ihr mir dies wie immer in den Kommentaren mitteilen.</p>



<p>Ich denke auch das neue Script ist immer noch sehr kompakt und einfach zu verwenden. Vielleicht werde ich in Zukunft noch ein paar Funktionen nachrüsten, sofern ihr noch Wünsche habt, die unbedingt enthalten sein sollten.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/ein-einfacher-cross-browser-tooltip-mit-javascript-und-css/feed/</wfw:commentRss>
			<slash:comments>95</slash:comments>
		
		
			</item>
		<item>
		<title>Google Chrome Frame &#8211; Ein Plugin für den Internet Explorer</title>
		<link>https://webmatze.de/google-chrome-frame-ein-plugin-fur-den-internet-explorer/</link>
					<comments>https://webmatze.de/google-chrome-frame-ein-plugin-fur-den-internet-explorer/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Wed, 23 Sep 2009 13:17:51 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[plugin]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=499</guid>

					<description><![CDATA[Wenn Web-Entwickler sich über den Internet Explorer unterhalten, dann kommen alle sehr schnell auf eine grundlegende Aussage. Um es kurz zu fassen: Der geht so was von gar nicht! Dabei schwanken die Gefühle der Beteiligten manchmal zwischen Unglauben, Unverständnis, Ablehnung und sogar Hass. Aber wie kommt es, das ein Browser so massiv den Unmut so [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Wenn Web-Entwickler sich über den Internet Explorer unterhalten, dann kommen alle sehr schnell auf eine grundlegende Aussage. Um es kurz zu fassen: Der geht so was von gar nicht! Dabei schwanken die Gefühle der Beteiligten manchmal zwischen Unglauben, Unverständnis, Ablehnung und sogar Hass. Aber wie kommt es, das ein Browser so massiv den Unmut so vieler Web-Entwickler auf sich zieht?</p>
<h3>Fall eines Browsers</h3>
<p>Noch vor wenigen Jahren galt der <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Internet Explorer</a> als einer der fortschrittlichsten und besten Browser auf diesem Planeten. Damals schimpften alle noch auf den <a href="http://browser.netscape.com/releases">Netscape Navigator</a> und dessen Unfähigkeit, die Webseiten so darzustellen, wie es der Internet Explorer auf unnachahmliche Weise schaffte. Doch diese Stellung in den Köpfen der Menschen hat er sehr schnell verspielt und in das komplette Gegenteil gekehrt.</p>
<p>Der Internet Explorer hat die Zeichen der Zeit nicht erkannt und es verschlafen, die wichtigsten aktuellen <a href="http://www.webstandards.org/">Web-Standards</a> umzusetzen. Heute kämpfen Browser wie <a href="http://www.mozilla-europe.org/de/firefox/">Firefox</a>, <a href="http://www.apple.com/safari/">Safari</a> oder <a href="http://www.google.com/chrome">Google Chrome</a> um die Krone am Browserhimmel und der Internet Explorer kämpft immer noch damit, die Standards von Vorgestern richtig umzusetzen. Er hinkt nicht nur einen Schritt hinterher, sondern Kilometer!</p>
<p>Leider wird der Internet Explorer durch die geballte Marktmacht von Microsoft und deren Betriebssystem Windows immer noch von sehr vielen Nutzern verwendet, auch wenn hier die anderen Browser schon sehr stark aufholen konnten.</p>
<p>Aber sehen wir der Realität ins Auge, wir - die Web-Entwickler - werden auch in Zukunft nicht um den Internet Explorer herumkommen.<br />
<span id="more-499"></span></p>
<h3>Der Knackpunkt</h3>
<p>Mit dieser unumstößlichen Wahrheit sahen sich auch die Entwickler von Google's neustem Projekt <a href="http://wave.google.com/">Google Wave</a> konfrontiert. Google Wave befindet sich momentan noch in der Entwicklungsphase und wird in den nächsten Wochen der breiten Öffentlichkeit vorgestellt werden. Wie die <a href="http://wave.google.com/help/wave/about.html">Google Wave Hompage</a> verrät, soll es sich dabei um eine Plattform zur Kommunikation und Zusammenarbeit im Web handeln. Echtzeit (Real-time) ist hier das vorherrschende Thema und um diese zu erreichen, setzt Google bei der Entwicklung auch auf die neusten Web-Technologien und -Standards. Und gerade hier befindet sich der Knackpunkt.</p>
<p>Wenn Google mit Google Wave erfolgreich werden möchte, dann muss Google Wave auch im Internet Explorer richtig funktionieren. Nachdem die Entwickler sich aber vergebens daran versucht haben, die gewünschten Funktionen im Internet Explorer zum Laufen zu bekommen, haben sie nun einen komplett neuen Weg eingeschlagen. Und hier wird es jetzt richtig spannend!</p>
<p>Sie haben sich einfach folgende Frage gestellt: "Wenn der Internet Explorer uns nicht die Möglichkeiten bietet, um unsere Vorstellungen umzusetzen, was können wir dann statt dessen tun?"</p>
<p>Und die Antwort darauf ist so einfach wie genial ausgefallen: "Wir bringen dem Internet Explorer einfach die Web-Standards selber bei!" Dabei herausgekommen ist ein neues Projekt: <a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a>.</p>
<h3>Was ist Google Chrome Frame?</h3>
<p>Bei <a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a> handelt es sich um ein Open Source Browser Plugin für den Internet Explorer in den Versionen 6, 7 und 8. Einmal im Internet Explorer installiert, bringt das Google Chrome Frame Plugin dem hinkenden Browser die neusten Web-Technologien bei, inklusive der schnellen Google Chrome JavaScript Engine. Um es kurz zu sagen - aus dem Internet Explorer wird so auf einfache Weise ein vollwertiger Browser.</p>
<p>Doch damit der so gepimpte Internet Explorer die aufgerufenen Webseiten auch über das neue Plugin darstellen kann, müssen diese ein neues Meta Tag einbinden. Mit folgender Zeile ist dies jedoch schnell erledigt:</p>
<pre style="font-family: monospace; color: #007000; font-size: 9pt; background-color: #fafafa; line-height: 15px; margin-top: 1em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; overflow-x: auto; overflow-y: auto; word-wrap: break-word; padding: 0.99em; border: 1px solid #bbbbbb;"><span style="color: #000088;">&lt;meta</span><span style="color: #000000;"> </span><span style="color: #660066;">http-equiv</span><span style="color: #666600;">=</span><span style="color: #008800;">"X-UA-Compatible"</span><span style="color: #000000;"> </span><span style="color: #660066;">content</span><span style="color: #666600;">=</span><span style="color: #008800;">"chrome=1"</span><span style="color: #000088;">&gt;</span></pre>
<p>Fehlt dieses Tag, wird die Seite weiterhin auf die gute alte Art und Weise vom Internet Explorer zerhackt und durcheinander gewürfelt werden. ;o)</p>
<p>Wenn man nun als Web-Entwickler eine neue Seite erstellt und sicher ist, dass diese im Google Chrome Browser richtig angezeigt wird, dann kann man den Internet Explorer nun auch dazu bringen, die Seite exakt genauso darzustellen. Allerdings ist man dabei darauf angewiesen, dass der Nutzer schon das Google Chrome Frame Plugin installiert hat. Doch auch hierzu haben sich die Entwickler bei Google Gedanken gemacht. <a href="http://code.google.com/chrome/chromeframe/developers_guide.html#Detecting_Google_Chrome_Frame">Mit einem kleinen Script</a> kann man den Nutzer beim Aufruf der Seite dazu bringen, das neue Plugin zu installieren.</p>
<h3>Eine schöne neue Welt?</h3>
<p>Jetzt wäre eigentlich der Punkt gekommen, wo wir alle aufspringen müssten um zu jubeln. Endlich stellt der Internet Explorer unsere Seiten so dar wie wir es wollen. Vergangen sind die Zeiten, wo wir unsere Vorstellungen mühsam auch auf diesem Browser zum Leben erwecken mussten. Aber wird es wirklich so kommen? Gehören diese ganzen Probleme nun wirklich der Vergangenheit an?</p>
<p>Dazu gibt es noch einige Hürden zu nehmen. Als erstes müssen wir natürlich in alle unsere Seiten das oben beschriebene Tag einbinden. Und um die Internet Explorer Nutzer dazu zu bringen, dass Plugin zu installieren, zusätzlich auch noch ein Script. Das bedeutet natürlich mehr HTML Code auf unseren Seiten. Code, der eigentlich nicht notwendig wäre.</p>
<p>Dann steht da noch die Frage, ob Microsoft es sich gefallen lassen wird, wenn Google so den Internet Explorer kanibalisiert. Das wäre ja gerade so, als wenn Apple ein Mac OS X Plugin für Windows anbieten würde. Microsoft hat auf jeden Fall die Möglichkeiten, um Google einen Strich durch die Rechnung zu machen, indem es das Google Chrome Frame Plugin einfach ausschließt.</p>
<p>Aber wie immer wird auch in diesem Fall erst die Zukunft zeigen, ob wirklich eine neue Zeitrechnung für uns als Web-Entwickler angebrochen ist.</p>
<p><em><span style="color: #008000;">Was haltet Ihr von Google's neustem Coup? Werdet Ihr das neue Meta Tag in eure eigenen Seiten einbinden? Ich freue mich auf eure Kommentare.</span></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/google-chrome-frame-ein-plugin-fur-den-internet-explorer/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Flash MP3 Player</title>
		<link>https://webmatze.de/flash-mp3-player/</link>
					<comments>https://webmatze.de/flash-mp3-player/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Mon, 27 Jul 2009 07:08:37 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[player]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=455</guid>

					<description><![CDATA[Man kann sich heute das Internet nicht mehr ohne Multimedia vorstellen. Ohne Bilder geht es schon lange nicht mehr. Auch Videos werden auf immer mehr Webseiten eingebunden und MP3 Musik trällert beim Besuch so mancher Seite aus den Lautsprechern. Wer kann sich denn heute noch ein Internet vorstellen, wo es nicht möglich war die Musik [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Man kann sich heute das Internet nicht mehr ohne Multimedia vorstellen. Ohne Bilder geht es schon lange nicht mehr. Auch Videos werden auf immer mehr Webseiten eingebunden und MP3 Musik trällert beim Besuch so mancher Seite aus den Lautsprechern.</p>
<p>Wer kann sich denn heute noch ein Internet vorstellen, wo es nicht möglich war die Musik der Lieblingsband direkt auf deren Homepage hören zu können? Viele Bands stellen für ihre neuen Alben Ausschnitte aus den einzelnen Songs über einen MP3 Player online. Die dafür verwendete Technik basiert meistens auf dem <a href="www.adobe.com/products/flashplayer/">Adobe Flash Player</a> (ehemals Macromedia) und passende Flash MP3 Player kann man sich zumeist kostenlos herunterladen und auf der eigenen Webseite installieren.</p>
<p>Heute möchte ich euch eine kleine Auswahl der <strong>besten Flash MP3 Player</strong> für den freien Gebrauch vorstellen.<br />
<span id="more-455"></span></p>
<h3>MP3 Player</h3>
<p><img decoding="async" class="size-full wp-image-464 alignleft" style="margin: 0pt 10px 5px 0px;" title="MP3 Player" src="http://webmatze.de/wp-content/uploads/2009/07/bild-6.png" alt="MP3 Player" width="202" height="102" />Dieser <a href="http://flash-mp3-player.net/">'namenlose' OpenSource Player</a> wird in fünf verschiedenen Versionen angeboten. Die <a href="http://flash-mp3-player.net/players/mini/">Mini</a>, <a href="http://flash-mp3-player.net/players/normal/">Normal</a>, <a href="http://flash-mp3-player.net/players/maxi/">Max</a>, <a href="http://flash-mp3-player.net/players/multi/">Multi</a> und <a href="http://flash-mp3-player.net/players/js/">JS</a> Versionen unterscheiden sich dabei in der Größe und Funktionalität. MP3 Dateien lassen sich direkt über den HTML Code an den Player übergeben. In der Multiversion wird zusätzlich eine Playlist angezeigt.</p>
<p>Download: <a href="http://flash-mp3-player.net/">MP3 Player</a></p>
<h3>XSPF Web Music Player</h3>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-466" title="XSPF Web Player" src="http://webmatze.de/wp-content/uploads/2009/07/bild-7.png" alt="XSPF Web Player" width="552" height="171" srcset="https://webmatze.de/wp-content/uploads/2009/07/bild-7.png 552w, https://webmatze.de/wp-content/uploads/2009/07/bild-7-300x92.png 300w" sizes="(max-width: 552px) 100vw, 552px" /></p>
<p>Dieser Player ist sicherlich einer der bekanntesten und ältesten Flash MP3 Player. Leider scheint die Entwicklung eingestellt zu sein. Da der Player jedoch einen hohen Funktionsumfang hat, möchte ich ihn hier trotzdem vorstellen. Der <a href="http://musicplayer.sourceforge.net/">XSPF Web Music Player</a> verwendet das "XML Shareable Playlist Format" kurz auch <a href="http://www.xspf.org/">XSPF</a> genannt. Dieses auf XML basierende Format ist ein offener Standard, um Playlisten zu definieren und zu verteilen. Player, die dieses Format verstehen, können diese Playlisten ohne Anpassungen importieren und abspielen. Der XSPF Web Music Player besitzt eine kurze <a href="http://musicplayer.sourceforge.net/#documentation">Dokumentation</a> und wird <a href="http://musicplayer.sourceforge.net/#showcases">auf etlichen Webseiten</a> verwendet.</p>
<p>Download: <a href="http://musicplayer.sourceforge.net/">XSPF Web Music Player</a></p>
<h3>Flash MP3 Player für WordPress</h3>
<p><img decoding="async" class="alignnone size-full wp-image-468" title="Flash MP3 Player für WordPress" src="http://webmatze.de/wp-content/uploads/2009/07/screenshot-2.png" alt="Flash MP3 Player für WordPress" width="540" height="350" srcset="https://webmatze.de/wp-content/uploads/2009/07/screenshot-2.png 600w, https://webmatze.de/wp-content/uploads/2009/07/screenshot-2-300x194.png 300w" sizes="(max-width: 540px) 100vw, 540px" /></p>
<p>Ebenfalls sehr interessant für <a href="http://wordpress.org/">WordPress</a> Nutzer ist <a href="http://wordpress.org/extend/plugins/flash-mp3-player/">dieses Plugin</a>. Einmal in WordPress installiert, lässt sich über eine einfach zu bedienende Oberfläche ein frei konfigurierbarer MP3 Player in das eigenen Blog integrieren. Über eine XML Konfiguration kann man den Player den eigenen Wünschen entsprechend designen. So kann man z.B. ein eigenes Hintergrundbild auswählen und zwischen verschiedenen Farbschemata wählen. Während der Player einen Song abspielt, wird das aktuelle Albumcover angezeigt.</p>
<p>Download: <a href="http://wordpress.org/extend/plugins/flash-mp3-player/">Flash MP3 Player für WordPress</a></p>
<h3 style="clear:both">Zanmantou</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-328 alignleft" style="margin: 0pt 10px 5px 0px;" title="Zanmantou Flash MP3 Player" src="http://webmatze.de/wp-content/uploads/2008/05/zanmantou.jpg" alt="zanmantou" width="196" height="149" srcset="https://webmatze.de/wp-content/uploads/2008/05/zanmantou.jpg 326w, https://webmatze.de/wp-content/uploads/2008/05/zanmantou-300x228.jpg 300w" sizes="auto, (max-width: 196px) 100vw, 196px" />Wer schon länger auf webmatze.de vorbeigeschaut hat, wird diesen sehr <a href="http://webmatze.de/category/webseiten-erstellen/flash/">flexibel konfigurierbaren Flash MP3 Player</a> schon kennengelernt haben. Gestartet als kleines Projekt, um die Fähigkeiten von Flash auszutesten, ist der Player zu einem <a href="http://zanmantou.a3non.org/">wirklich konkurrenzfähigen Tool</a> herangewachsen. Das Benutzerinterface des Players lässt sich über eine XML Datei beliebig anpassen und mit eigenen Grafiken schmücken. Der Player kann sich somit nahtlos in das Design jeder Webseite einpassen. Über eine JavaScript Schnittstelle kann der Player sogar unsichtbar integriert und z.B. über ganz normale Links gesteuert werden. Das Projekt wird derzeit von <a href="http://zanmantou.a3non.org/">Andi Dittrich</a> weiterentwickelt und kann mittlerweile auch Videos abspielen. Für mich immer noch einer der einfachsten und trotzdem flexibelsten Flash MP3 Player.</p>
<p>Download: <a href="http://zanmantou.a3non.org/">Zanmantou</a></p>
<p>Dies ist sicherlich nur eine kleine Auswahl an kostenlosen Flash MP3 Playern zur Integration in die eigenen Webseiten, aber mit den hier vorgestellten Programmen besitzt man bereits ein hohes Maß an Flexibilität. Jeder dieser Player lässt sich den eigenen Wünschen entsprechend anpassen und fügt sich somit perfekt in jedes Design ein.</p>
<p>Kennt Ihr vielleicht noch weitere Flash MP3 Player? Dann stellt mir diese doch einfach in den Kommentaren vor.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/flash-mp3-player/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>IE 6 für Mac OS X</title>
		<link>https://webmatze.de/ie-6-fur-mac-os-x/</link>
					<comments>https://webmatze.de/ie-6-fur-mac-os-x/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Fri, 06 Feb 2009 20:41:48 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=382</guid>

					<description><![CDATA[Wenn man wie ich als Ruby on Rails Entwickler unter Mac OS X arbeitet, dann kommt man früher oder später an den Punkt, wo man die Seite an der man arbeitet auch auf dem Internet Explorer testen möchte. Leider hat sich Microsoft nicht dazu hinreißen lassen, seine neusten Browser auch für Mac OS X zu [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Wenn man wie ich als <strong>Ruby on Rails</strong> Entwickler unter <strong>Mac OS X</strong> arbeitet, dann kommt man früher oder später an den Punkt, wo man die Seite an der man arbeitet auch auf dem <strong>Internet Explorer</strong> testen möchte.</p>
<p>Leider hat sich Microsoft nicht dazu hinreißen lassen, seine neusten Browser auch für Mac OS X zu veröffentlichen, so dass man auf andere Wege und Mittel zurückgreifen muss.</p>
<h3>Dual Boot mit BootCamp oder Virtual Machine?</h3>
<p>Sicher, <strong>Apple</strong> bietet uns über <a href="http://www.apple.com/de/macosx/features/bootcamp.html">BootCamp</a> an, ein anderes Betriebsystem wie <strong>Windows XP</strong> auf einer zweiten Partition zu installieren. Hat man dies getan, kann man natürlich auch den Internet Explorer unter Windows verwenden.</p>
<p>Allerdings haben wir dadurch auch einige Nachteile, die natürlich nicht verschwiegen werden können. Zum einen müssen wir extra Festplattenplatz für die zweite Partition bereitstellen - Windows ist hier natürlich nicht besonders sparsam -, zum anderen können wir so immer nur ein Betriebssystem gleichzeitig laufen lassen. Was natürlich unpraktisch ist, wenn unsere Entwicklungsumgebung auf Mac OS X läuft.</p>
<p>Bleibt als weitere Möglichkeit noch, Windows in einer <a href="http://de.wikipedia.org/wiki/Virtuelle_Maschine">virtuellen Maschine</a> zu installieren. Mit <a href="http://www.parallels.com/de/">Parallels</a> oder <a href="http://www.vmware.com/products/fusion/">VMWare Fusion</a> gibt es hier sehr gute Programme, die es uns sehr leicht machen, ein oder mehrere Betriebssysteme zu installieren und gleichzeitig mit Mac OS X laufen zu lassen.</p>
<p>Doch auch diese Möglichkeit fällt ins Wasser, wenn wir gar keine eigene (offizielle) Installations CD von Windows besitzen und uns auch nicht extra eine zulegen wollen, nur um etwas im Internet Explorer zu testen. Doch was bleibt uns nun noch übrig?</p>
<h3>ies4osx - Der Internet Explorer für OS X</h3>
<p>Ich weiß, ich weiß. Warum bin habe ich nicht gleich am Anfang erwähnt, das es doch einen <strong>Internet Explorer für Mac OS X</strong> gibt? Aber ich liebe es, ein wenig Spannung aufzubauen - und seien wir doch mal ehrlich, die Ungeduldigen unter euch haben die vorhergehenden Abschnitte sowieso übersprungen. (Was? Das stimmt wirklich? Dann schnell zurück und noch einmal von vorne lesen!)</p>
<p><a href="http://mike.kronenberg.org/">Mike Kronenberg</a> schien sich mal die gleichen Fragen gestellt zu haben. Warum kann ich keine Windows Anwendungen unter OS X laufen lassen? Also hat er sich hingesetzt und das Linux <a href="http://www.winehq.org/">Wine</a> Projekt - mit dem viele <strong>Windows Anwendungen unter Linux</strong> laufen können - auf Mac OS X portiert und als <a href="http://www.kronenberg.org/darwine/">Darwine</a> zur Verfügung gestellt. Dann ist er anscheinend auf das <a href="http://www.tatanka.com.br/ies4linux">ies4linux</a> Projekt gestoßen, mit dem es möglich war den <strong>Internet Explorer 6</strong> mit Hilfe von Wine auf Linux zum Laufen zu bekommen. Dies hat er ebenfalls portiert und herausgekommen ist <a href="http://www.kronenberg.org/ies4osx/">ies4osx</a>! &lt;tröte&gt;TATAAA!&lt;/tröte&gt;</p>
<p>Die Installation von <strong>ies4osx</strong> ist wirklich sehr einfach. Zuerst die aktuellen Versionen von <strong>Darwine</strong> und <strong>ies4osx</strong> herunterladen, <strong>Darwine</strong> in den Applications Ordner von OS X verschieben, den Installer von <strong>ies4osx</strong> ausführen und fertig. Der Installer lädt sich die benötigten Dateien herunter und legt eine lauffähige Version vom "Internet Explorer 6" auf dem Desktop ab.</p>
<p>Es ist sogar möglich, <strong>Flash</strong>, <strong>Java</strong> und den <strong>Mediaplayer 6.4</strong> von Microsoft auf diesem IE 6 zu installieren.</p>
<h3>Mein Fazit</h3>
<p>Seit ich vom <strong>ies4osx</strong> Projekt erfahren habe, habe ich immer einen Internet Explorer bei mir auf meinem <strong>MacBook</strong> laufen und kann so jederzeit meine Seiten auch dort überprüfen. Sicherlich, der Internet Explorer für Mac OS X reagiert oft etwas träge und vor allem wenn Flash im Spiel ist, wird es richtig langsam, aber für den Zweck, meine Seiten im IE 6 zu testen, ist dies vollkommen ausreichend.</p>
<p>Leider gibt es momentan noch keine Version vom <strong>IE 7</strong> oder <strong>IE 8</strong> für Mac OS X, aber schauen wir mal, was die Zukunft so bringt.</p>
<p><em>Wie läuft es bei euch? Entwickelt ihr auch unter Mac OS X? Wenn ja, welche Lösungen habt ihr gefunden, um eure Seiten auch auf dem Internet Explorer zu testen?</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/ie-6-fur-mac-os-x/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Hierarchische Menüs mit CSS erstellen</title>
		<link>https://webmatze.de/hierarchische-menus-mit-css-erstellen/</link>
					<comments>https://webmatze.de/hierarchische-menus-mit-css-erstellen/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Thu, 04 Sep 2008 16:38:53 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<category><![CDATA[webmatze]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=337</guid>

					<description><![CDATA[Eines der wichtigsten Elemente eines Webauftritts ist das Menü. Das Menü hilft dem Nutzer dabei, sich in komplizierten Seitenstrukturen zurechtzufinden und um schnell an jeden gewünschten Punkt in dieser Hierarchie springen zu können. Auf vielen Seiten werden immer noch Navigationsmenüs verwendet, welche vollständig auf JavaScript aufbauen und bei ausgeschaltetem JavaScript nicht mehr funktionieren. Solche Seiten [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Eines der wichtigsten Elemente eines Webauftritts ist <a href="http://de.wikipedia.org/wiki/Menü_(Computer)">das Menü</a>. Das Menü hilft dem Nutzer dabei, sich in komplizierten Seitenstrukturen zurechtzufinden und um schnell an jeden gewünschten Punkt in dieser Hierarchie springen zu können. </p>
<p>Auf vielen Seiten werden immer noch Navigationsmenüs verwendet, welche vollständig auf JavaScript aufbauen und bei ausgeschaltetem JavaScript nicht mehr funktionieren. Solche Seiten sind dann für Nutzer mit Behinderungen meistens nicht mehr bedienbar.</p>
<div style="text-align:center"><img loading="lazy" decoding="async" src="http://webmatze.de/wp-content/uploads/2008/09/css_menu.png" alt="" title="CSS Menü" width="500" height="240" class="alignnone size-full wp-image-377" srcset="https://webmatze.de/wp-content/uploads/2008/09/css_menu.png 520w, https://webmatze.de/wp-content/uploads/2008/09/css_menu-300x144.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></div>
<h3>Das barrierefreie <abbr title="Cascading Style Sheets">CSS</abbr> Menü</h3>
<p>In diesem Beitrag möchte ich euch zeigen, dass man Menüs auch auf <a href="http://www.einfach-fuer-alle.de/blog/">behindertengerechte</a> und <a href="http://blog.techdivision.com/barrierefreie-webseiten/">barrierefreie Weise</a> erstellen kann. Ziel ist es ein Menü zu bauen, dass nur auf aktuellen Standards wie <abbr title="Hypertext Markup Language">HTML</abbr> und <bbr>CSS</abbr> beruht und keine Verwendung von JavaScript macht. So soll es möglich sein, dass Menü auch dann noch bedienen zu können, wenn der Nutzer JavaScript oder gar <a href="http://forum.de.selfhtml.org/archiv/2005/3/t102578/"><abbr>CSS</abbr> im Browser ausgeschaltet</a> hat.</p>
<h3>So sieht das fertige Menü aus</h3>
<p>Hier könnt Ihr schon einmal sehen, wie das Menü aussehen wird. (Wird im IE6 als vertikales Menü angezeigt, während es alle modernen Browser als Drop Down Menü angezeigen.)<br />
<span id="more-337"></span></p>
<ul class="cssmenu">
<li><a href="http://webmatze.de/">Start</a></li>
<li><a href="http://webmatze.de/">Informationen</a>
<ul>
<li><a href="#">Webseiten erstellen</a>
<ul>
<li><a href="http://webmatze.de/category/webseiten-erstellen/html-xhtml/">HTML</a></li>
<li><a href="http://webmatze.de/category/webseiten-erstellen/css/">CSS</a></li>
<li><a href="#">Programmieren</a>
<ul>
<li><a href="http://webmatze.de/category/webseiten-erstellen/javascript/">JavaScript</a></li>
<li><a href="http://webmatze.de/category/webseiten-erstellen/php/">PHP</a></li>
<li><a href="http://java.net">Java</a></li>
<li><a href="http://webmatze.de/category/webseiten-erstellen/flash/">ActionScript</a></li>
<li><a href="http://ruby.org">Ruby</a></li>
</ul>
</li>
<li><a href="http://webmatze.de/category/webseiten-erstellen/flash/">Flash</a></li>
</ul>
</li>
<li><a href="#">Multimedia</a>
<ul>
<li><a href="http://flickr.com">Grafiken</a></li>
<li><a href="http://youtube.com">Videos</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Suchen</a>
<ul>
<li><a href="http://google.de">Google</a></li>
<li><a href="http://yahoo.de">Yahoo</a></li>
<li><a href="http://msn.de">MSN</a></li>
</ul>
</li>
<li><a href="http://webmatze.de/about/">Über</a></li>
</ul>
<p style="clear:both"> </p>
<p>Dieses Beispiel hat insgesamt vier Ebenden, wobei jede einzelne Ebene auch noch unterschiedlich per <bbr>CSS</abbr> angepasst werden kann.</p>
<h3>Der HTML Code</h3>
<p>Der Aufbau dieses Menüs per <abbr>HTML</abbr> erfolgt über verschachtelte unsortierte Listen <code>&lt;ul&gt;</code>. Zur besseren Veranschaulichung könnt Ihr hier den <abbr>HTML</abbr> Code betrachten:</p>
<pre lang="html">
<UL class="cssmenu">
	<LI><a href="http://webmatze.de/">Start</a></LI>
	<LI><a href="http://webmatze.de/">Informationen</a>
		<UL>
			<LI><a href="http://webmatze.de/">Webseiten erstellen</a>
				<UL>
					<LI><a href="http://webmatze.de/">HTML</a></LI>
					<LI><a href="http://webmatze.de/">CSS</a></LI>
					<LI><a href="http://webmatze.de/">Programmieren</a>
						<UL>
							<LI><a href="http://webmatze.de/">JavaScript</a></LI>
							<LI><a href="http://webmatze.de/">PHP</a></LI>
							<LI><a href="http://webmatze.de/">Java</a></LI>
							<LI><a href="http://webmatze.de/">ActionScript</a></LI>
							<LI><a href="http://webmatze.de/">Ruby</a></LI>
						</UL>
					</LI>
					<LI><a href="http://webmatze.de/">Flash</a></LI>
				</UL>
			</LI>
			<LI><a href="http://webmatze.de/">Multimedia</a>
				<UL>
					<LI><a href="http://webmatze.de/">Grafiken</a></LI>
					<LI><a href="http://webmatze.de/">Videos</a></LI>
				</UL>
			</LI>
		</UL>
	</LI>
	<LI><a href="http://webmatze.de/">Suchen</a>
		<UL>
			<LI><a href="http://webmatze.de/">Google</a></LI>
			<LI><a href="http://webmatze.de/">Yahoo</a></LI>
			<LI><a href="http://webmatze.de/">MSN</a></LI>
		</UL>
	</LI>
	<LI><a href="http://webmatze.de/">Über</a></LI>
</UL>
</pre>
<p>Wie man sehen kann, gibt es keine besonderen Tricks. Es handelt sich einfach um ganz normalen standardkonformen <abbr>HTML</abbr> Code. Auch ohne <abbr>CSS</abbr> kann man dieses Menü bedienen und alle einzelnen Links aufrufen. </p>
<p>Um das Menü aber etwas ansprechender zu gestalten, wird es durch die folgenden <abbr>CSS</abbr> Anweisungen in die richtige Form gebracht.</p>
<h3>Der CSS Code</h3>
<p>Ich werde jetzt nicht ins Detail gehen, wie genau die einzelnen Anweisungen sich auf die Darstellung des Menüs auswirken. Zum besseren Verständnis habe ich ein paar Kommentare in den <abbr>CSS</abbr> Code mit aufgenommen. Anmerken möchte ich jedoch, dass ich den letzten Teil nur mit aufnehmen musste, weil sich der <abbr title="Internet Explorer Version 6">IE 6</abbr> hier etwas quer stellt und sich nur durch spezielle <abbr>CSS</abbr> Anweisungen dazu bringen lässt, das Menü ebenfalls richtig darzustellen. (Wer möchte, kann den <abbr>IE 6</abbr> speziellen Teil natürlich weglassen.)</p>
<pre lang="css">ul.cssmenu {
	position: relative;
	display: block;
	margin: 0px;
	padding: 0px;
}
ul.cssmenu ul {
	position: relative;
	display: none;
}
ul.cssmenu li {
	position: relative;
	display: inline;
	float: left;
}
/* Menupunkt stylen */
ul.cssmenu li a {
	font-family: arial, sans-serif;
	font-size: 12px;
	line-height: 20px;
	text-decoration: none;
	text-align: center;
	display: block;
	width: 100px;
	height: 20px;
}
ul.cssmenu li:hover > a {
	background-color: #666666;
	color: #FFFFFF;
	font-weight: bold;
}
/* Untermenüpunkt einblenden */
ul.cssmenu li:hover > ul {
	position: absolute;
	top: 20px;
	left: -40px;
	display: inline;
}
/* ab zweite Ebene */
ul.cssmenu li li:hover > ul {
	top: 0px;
	left: 110px;
}
ul.cssmenu li li a {
	width: 150px;
}
/* Farben der einzelnen Ebenen (werden vererbt)*/
ul.cssmenu a {
	color: #000000;
	background-color: #e4e4e4;
}
ul.cssmenu ul a {
	background-color: #d4d4d4;
}
ul.cssmenu ul ul a{
	background-color: #c4c4c4;
}
ul.cssmenu ul ul ul a{
	background-color: #b4b4b4;
}

/* zusätzliche Styleangaben für IE 6 */
/* das Menü wird dort untereinander dargestellt */
ul.cssmenu {
	_text-indent: 10px;
}
ul.cssmenu ul {
	_display: inline;
	_margin-left: 0px;
	_text-indent: 20px;
}
ul.cssmenu ul ul {
	_text-indent: 30px;
}
ul.cssmenu ul ul ul {
	_text-indent: 40px;
}
ul.cssmenu li {
	_float: none;
}
/* Menupunkt stylen */
ul.cssmenu li a {
	_text-align: left;
	_width: 150px;
}
ul.cssmenu a:hover {
	_font-weight: bold;
	_background-color: #666666;
}</pre>
<h3>Fazit</h3>
<p>Wie Ihr sehen könnt ist es gar nicht so schwer auch ohne JavaScript ein ansprechendes Menü zu gestalten. Das hier gezeigte Beispiel lässt sich natürlich leicht durch andere Farben oder Hintergrundgrafiken per <abbr>CSS</abbr> noch weiter verschönern und an die eigenen Bedürfnisse anpassen. Alle modernen Browser sollten damit zurecht kommen - selbstverständlich auch <a href="http://webmatze.de/google-chrome-der-neue-browser/">Googles neuer Chrome Browser</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/hierarchische-menus-mit-css-erstellen/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title>Google Chrome &#8211; Der neue Browser</title>
		<link>https://webmatze.de/google-chrome-der-neue-browser/</link>
					<comments>https://webmatze.de/google-chrome-der-neue-browser/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Wed, 03 Sep 2008 09:41:03 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[google]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=374</guid>

					<description><![CDATA[Es wurde schon seit längerem gemunkelt, dass auch Google sich am Browser War beteiligen möchte. Nun ist es endlich so weit - Google gibt seinen eigenen Open Source Browser mit dem Namen Google Chrome zum Download frei. Der Browser wurde von Grund auf neu konzipiert und mit Blick auf Schnelligkeit und Sicherheit hin entwickelt. Der [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Es wurde schon seit längerem gemunkelt, dass auch Google sich am <a href="http://de.wikipedia.org/wiki/Browserkrieg">Browser War</a> beteiligen möchte. Nun ist es endlich so weit - Google gibt seinen eigenen <a href="http://code.google.com/chromium/">Open Source Browser</a> mit dem Namen <a href="http://www.google.com/chrome/">Google Chrome</a> zum <a href="http://www.google.com/chrome/">Download</a> frei.</p>
<p>Der Browser wurde von Grund auf neu konzipiert und mit Blick auf Schnelligkeit und Sicherheit hin entwickelt. Der Code des Browsers beruht zum Teil auf Mozilla Firefox und <a href="http://webkit.org/">WebKit</a>, der Open Source Browser Engine, auf der auch der Safari Browser aufbaut. Dadurch soll eine Standard konforme Darstellung aller Webseiten sichergestellt werden. </p>
<div style="text-align:center"><img loading="lazy" decoding="async" src="http://webmatze.de/wp-content/uploads/2008/09/google_chrome.png" alt="" title="Google Chrome Browser" width="500" height="240" class="alignnone size-full wp-image-375" srcset="https://webmatze.de/wp-content/uploads/2008/09/google_chrome.png 520w, https://webmatze.de/wp-content/uploads/2008/09/google_chrome-300x144.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></div>
<p>Allerdings verfolgt Google mit seinem Browser hohe Ziele, denn man will nicht nur einen weiteren Browser anbieten, sondern einen Browser der auf komplett neuen Prinzipien und Technologien beruht:</p>
<blockquote><p>"Es ist uns gelungen, die Grundlage für einen Browser zu schaffen, der die heutigen komplexen Webanwendungen viel besser ausführen kann. Indem jeder Tab isoliert arbeitet, greift der Ausfall eines Tabs nicht auf andere über. Zudem bietet Google Chrome durch die jeweilig isolierten Tabs einen verbesserten Schutz vor bösartigen Webseiten. Neben der Schnelligkeit und Reaktionsfähigkeit des Browsers, haben wir zudem eine neue leistungsfähigere JavaScript-Engine namens V8 gebaut, die die nächste Generation von Webanwendungen antreiben wird, die von heutigen Browsern gar nicht ausgeführt werden können."<br />
<a href="http://www.google.com/chrome/intl/de/why.html?hl=de">http://www.google.com/chrome/intl/de/why.html?hl=de</a></p></blockquote>
<p>In einem <a href="http://www.google.com/googlebooks/chrome/">interessanten Comic</a>, welcher von Google veröffentlicht wurde, werden von den Google Mitarbeitern die einzelnen Funktionen vorgestellt.</p>
<div style="text-align: center"><img loading="lazy" decoding="async" src="http://webmatze.de/wp-content/uploads/2008/09/google_chrome_comic.png" alt="" title="Google Chrome Comic" width="500" height="240" class="alignnone size-full wp-image-376" srcset="https://webmatze.de/wp-content/uploads/2008/09/google_chrome_comic.png 520w, https://webmatze.de/wp-content/uploads/2008/09/google_chrome_comic-300x144.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></div>
<p>Google Chrome befindet sich momentan noch in einer Beta Phase und es ist bestimmt noch mit einigen Fehlern und Unstimmigkeiten zu rechnen. Aber durch die geballte Marktmacht von Google, wird sich der neue Browser sicherlich schnell verbreiten, wodurch solche Fehler schnell gefunden und behoben werden können.</p>
<p>Da der Browser <a href="http://code.google.com/chromium/">Open Source</a> ist, können seine Bestandteile auch in anderen Projekten verwendet und von externen Programmierern erweitert oder fehlerbereinigt werden.</p>
<p>Ich bin gespannt, wie schnell sich dieser neue Browser durchsetzen wird und wie schnell er Marktanteile anderer Browser übernehmen kann.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/google-chrome-der-neue-browser/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>CSS 3: Rotating Image Gallery</title>
		<link>https://webmatze.de/css-3-rotating-image-gallery/</link>
					<comments>https://webmatze.de/css-3-rotating-image-gallery/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 19 Aug 2008 15:57:47 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=372</guid>

					<description><![CDATA[I've played a little bit with WebKit's new CSS 3 features such as CSS transform and CSS transition and I came up with a funny Rotating Image Gallery. You need the latest nightly build of WebKit to see the effects in action. But you can also watch it as a video on YouTube: Go to [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I've played a little bit with WebKit's new <abbr title="Cascading Style Sheets Version 3">CSS 3</abbr> features such as <a href="http://webkit.org/specs/CSSVisualEffects/CSSTransforms.html"><abbr>CSS</abbr> transform</a> and <a href="http://webkit.org/specs/CSSVisualEffects/CSSTransitions.html"><abbr>CSS</abbr> transition</a> and I came up with a funny <a href="http://samples.webmatze.de/rotating_image_gallery.htm">Rotating Image Gallery</a>.</p>
<p>You need the <a href="http://nightly.webkit.org">latest nightly build of WebKit</a> to see the effects in action. But you can also watch it as a <a href="http://de.youtube.com/watch?v=rPH1G41Nu2U">video on YouTube</a>:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/rPH1G41Nu2U&hl=de&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/rPH1G41Nu2U&hl=de&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Go to the original <a href="http://samples.webmatze.de/rotating_image_gallery.htm">Rotating Image Gallery</a> to try for yourself and look at the source code to see how it was made.</p>
<p>I'll give you a more detailed description of those new <abbr>CSS</abbr> effects in an upcoming post, so check back later.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/css-3-rotating-image-gallery/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Ist display=&#8220;none&#8220; jetzt irrelevant?</title>
		<link>https://webmatze.de/ist-display-none-jetzt-irrelevant/</link>
					<comments>https://webmatze.de/ist-display-none-jetzt-irrelevant/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 12 Aug 2008 10:36:41 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programmierung]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=370</guid>

					<description><![CDATA[Beim Studieren der aktuellen HTML5 Spezifikation, ist mir ein neues Attribut aufgefallen, welches möglicherweise bald eine große Bedeutung bekommen könnte. Ich spreche hier vom Attribut irrelevant, welches allen HTML Elementen zugewiesen werden darf. Wofür steht irrelevant? Das Attribut irrelevant darf die Werte "true" oder "false" enthalten und gibt an, ob ein so ausgezeichnetes HTML Element [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Beim Studieren der aktuellen <abbr title="Hypertext Markup Language Version 5">HTML5</abbr> Spezifikation, ist mir ein neues Attribut aufgefallen, welches möglicherweise bald eine große Bedeutung bekommen könnte. Ich spreche hier vom Attribut <code><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#irrelevant">irrelevant</a></code>, welches allen <abbr>HTML</abbr> Elementen zugewiesen werden darf.</p>
<h3>Wofür steht irrelevant?</h3>
<p>Das Attribut <code>irrelevant</code> darf die Werte <strong>"true"</strong> oder <strong>"false"</strong> enthalten und gibt an, ob ein so ausgezeichnetes <abbr>HTML</abbr> Element im aktuellen Kontext noch nicht oder nicht mehr relevant ist. So gekennzeichnete Elemente werden vom Browser weder gerendert, noch angezeigt. Das heißt, man kann damit beliebige Elemente ein- und ausblenden.</p>
<p style="text-align:center"><img loading="lazy" decoding="async" src="http://webmatze.de/wp-content/uploads/2008/08/html5.png" alt="HTML 5 Draft Recommendation Screenshot" title="HTML 5 Draft Recommendation" width="500" height="240" class="alignnone size-full wp-image-371" srcset="https://webmatze.de/wp-content/uploads/2008/08/html5.png 520w, https://webmatze.de/wp-content/uploads/2008/08/html5-300x144.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></p>
<p>Bisher konnte man diese Funktionalität nur durch das Setzen der <abbr title="Cascading Style Sheets">CSS</abbr> Eigenschaft <code><a href="http://www.w3.org/TR/REC-CSS2/visuren.html#display-prop">display</a></code> auf <strong>display: none</strong> erreichen. Damit werden die entsprechenden Elemente ebenfalls nicht gerendert und angezeigt.</p>
<p>Der Nachteil hier wäre allerdings, dass ein Gerät oder Browser, welcher keine Stylesheets versteht, solche Elemente dann trotzdem darstellen würde. Bei Verwendung von <code>irrelevant</code> würde der entsprechende Teil auch in diesem Fall nicht angezeigt werden. <em>(Vorausgesetzt das Gerät versteht HTML5.)</em><br />
<span id="more-370"></span></p>
<h3>irrelevant schon heute verwenden</h3>
<p>Damit man das neue Attribut in <abbr>HTML</abbr> Seiten verwenden kann, müsste man darauf warten, dass die aktuellen Browser <abbr>HTML 5</abbr> unterstützen. Doch bis es soweit ist, kann es noch eine Weile dauern, zumal <a href="http://www.whatwg.org/specs/web-apps/current-work/">die Spezifikation</a> noch nicht in der finalen Version vorliegt.</p>
<p>Um das Warten aber ein wenig zu verkürzen, kann man die entsprechende Funktionalität in allen aktuellen Browsern auch auf anderem Weg erreichen. Dazu muss man nur zwei einfache <abbr>CSS</abbr> Definitionen in das <abbr>HTML</abbr> Dokument einbinden, und schon wird das Attribut <code>irrelevant</code> richtig ausgewertet.</p>
<pre lang="css">
<style type="text/css">
	*[irrelevant] {
		display: none;
	}
	*[irrelevant="false"] {
		display: inherit;
	}
</style>
</pre>
<p><em>(Man sollte jedoch versuchen möglichst nicht <strong>irrelevant="false"</strong> zu verwenden, sondern statt dessen das Attribut ganz entfernen, da es unter Umständen bei einigen <abbr>HTML</abbr> Elementen zu Problemen in der Darstellung kommen kann.)</em></p>
<p>So kann man nun beliebige Elemente ausblenden lassen:</p>
<pre lang="html">
<P>Laut HTML 5  können nicht relevante Elemente
 ausgeblendet werden, indem ihnen das Attribut irrelevant
 zugewiesen wird. <span irrelevant="true">HTML 5 wird noch
 nicht von allen aktuellen Browsern unterstützt.</span>
 Irrelevante Elemente sind solche, die noch nicht, oder nicht
 mehr relevant sind. Das Attribut sollte auf solche Abschnitte
 angewendet werden, die im aktuellen Kontext nicht relevant
 sind, es aber später durchaus wieder werden können.</P>
</pre>
<p>Wenn man dies mit einem aktuellen Browser wie Firefox 3, Safari 3 oder <abbr title="Internet Explorer">IE</abbr> 8 betrachtet, sollte der zweite Satz nicht mehr angezeigt werden:</p>
<p><em></p>
<p>Laut HTML 5 können nicht relevante Elemente<br />
 ausgeblendet werden, indem ihnen das Attribut irrelevant<br />
 zugewiesen wird. <span irrelevant="true">HTML 5 wird noch<br />
 nicht von allen aktuellen Browsern unterstützt.</span><br />
 Irrelevante Elemente sind solche, die noch nicht, oder nicht<br />
 mehr relevant sind. Das Attribut sollte auf solche Abschnitte<br />
 angewendet werden, die im aktuellen Kontext nicht relevant<br />
 sind, es aber später durchaus wieder werden können.</p>
<p></em></p>
<h3>Elemente per <abbr title="Document Object Model">DOM</abbr> ein- und ausblenden</h3>
<p>Jetzt, da wir mit <code>irrelevant</code> gekennzeichnete Elemente vom Browser ausblenden lassen können, fehlt nur noch der entsprechende JavaScript Code, um dies auch dynamisch per Mausklick durchführen zu können:</p>
<pre lang="javascript">
function hide(elementId) {
	var el = document.getElementById(elementId);
	el.setAttribute('irrelevant',true);
}
function show(elementId) {
	var el = document.getElementById(elementId);
	el.removeAttribute('irrelevant');
}
</pre>
<h3>Fazit</h3>
<p>Wie man sieht, kann man schon heute bestimmte <a href="http://xhtml.com/de/future/x-html-5-versus-xhtml-2/">HTML5 Features</a> verwenden und so die eigenen Seiten für die Zukunft vorbereiten. Ob man das auch tun sollte, sei jedem selbst überlassen. Da ältere Browser möglicherweise mit den hier gezeigten Beispielen nicht zurecht kommen, ist dies nicht unter allen Umständen die beste Wahl. Aber da in den entsprechenden Browsern in dem Fall die zu versteckenden Inhalte einfach angezeigt werden würden, wäre auch kein größerer Schaden entstanden.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/ist-display-none-jetzt-irrelevant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Firefox3 kann jetzt auch schüchtern</title>
		<link>https://webmatze.de/firefox3-kann-jetzt-auch-schuechtern/</link>
					<comments>https://webmatze.de/firefox3-kann-jetzt-auch-schuechtern/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Thu, 07 Aug 2008 10:16:43 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=368</guid>

					<description><![CDATA[Der Internet Explorer konnte ja schon seit Längerem schüchtern, doch nun ist auch der Firefox nachgezogen und kann jetzt ebenfalls schüchtern. Warum ich solch eine Schwachsinn schreibe? Okay, bevor mir jemand die Tastatur aus der Hand reißt... Was ich mit der Überschrift eigentlich sagen wollte: Firefox unterstützt in der Version 3 nun endlich auch Sollumbrüche [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Der Internet Explorer konnte ja schon seit Längerem schüchtern, doch nun ist auch der Firefox nachgezogen und kann jetzt ebenfalls schüchtern.</p>
<p>Warum ich solch eine Schwachsinn schreibe? Okay, bevor mir jemand die Tastatur aus der Hand reißt... Was ich mit der Überschrift eigentlich sagen wollte: Firefox unterstützt in der Version 3 nun endlich auch Sollumbrüche in Wörtern. Und zwar solche, bei denen der Trennstrich nur dann angezeigt wird, wenn der Umbruch wirklich benötigt wird. Diese "<a href="http://www.w3.org/TR/html401/struct/text.html#h-9.3.3">bedingten Trennstriche</a>", oder im Englischen auch <strong>"soft hyphen"</strong> genannt, werden durch das Zeilenumbruch-Entity <strong>&amp;shy;</strong> im HTML Text definiert.</p>
<p style="text-align: center"><img loading="lazy" decoding="async" src="http://webmatze.de/wp-content/uploads/2008/08/firefox_shy.png" alt="Firefox Homepage Screenshot" title="Firefox Homepage" width="500" height="240" class="alignnone size-full wp-image-369" srcset="https://webmatze.de/wp-content/uploads/2008/08/firefox_shy.png 520w, https://webmatze.de/wp-content/uploads/2008/08/firefox_shy-300x144.png 300w" sizes="auto, (max-width: 500px) 100vw, 500px" /></p>
<p>Im folgenden Beispiel wird das vielleicht deutlich:</p>
<pre lang="html">
<P>Soll&shy;um&shy;brü&shy;che können in Wörtern eingefügt
 werden, welche ohne bedingte
 Zei&shy;len&shy;um&shy;brü&shy;che nicht richtig umbrechen</P>
</pre>
<h3>Soft Hyphen = &amp;shy; = schüchtern</h3>
<p>Gut, damit hätten wir das Rätsel auch geklärt. Aber "schüchtern" finde ich in diesem Zusammenhang gar nicht mal so unangebracht. Denn was auf dem ersten Blick vielleicht verlockend erscheint, nämlich den bedingten Trennstrich in jedem Wort eines Textes unterzubringen, ist natürlich auf dem zweiten Blick mehr als bedenklich.</p>
<p>Damit würde man den HTML Code erheblich aufblähen und die Leserlichkeit von Text im HTML deutlich erschweren. Wer solch einen Text später nach bearbeiten muss, wird sicherlich nicht viel Freude an dieser Arbeit haben.</p>
<p>Darum sollte man den bedingten Trennstrich nur <strong>"sehr schüchtern"</strong> anwenden, also nur an Stellen, bei denen es sonst zu Problemen in der Darstellung kommen könnte. Ich könnte mir z.B. <strong>Label</strong> Elemente in einem Formular vorstellen, welche nur eine bestimmte Breite haben sollen und wo man damit zu lange Wörter zum Umbruch zwingen kann, ohne dass das Layout des Formulars zerschossen wird. Hier findet Ihr ein Beispiel dafür, <a href="http://webmatze.de/wie-man-wirklich-ansprechende-formulare-erstellt/">wie man ansprechende Formulare erstellt</a>. Das Gleiche könnte auch auf Spaltenüberschriften einer Tabelle zutreffen, welche nur eine bestimmte Breite haben sollen.</p>
<h3>Fazit</h3>
<p>Ich finde es gut, dass Firefox 3 nun auch bedingte Trennstriche unterstützt, zumal der IE dies schon seit einigen Jahren kann. Weise und sparsam angewendet, können sie sicherlich sehr hilfreich sein. Doch im Netzt gibt es auch Bedenken darüber, was <a href="http://www.peterkroener.de/bedingter-zeilenumbruch-mit-shy-gut-oder-schlecht/">die Verwendung von bedingten Trennstrichen</a> angeht. Was haltet Ihr davon?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/firefox3-kann-jetzt-auch-schuechtern/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
