<?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>CSS &#8211; webmatze.de</title>
	<atom:link href="https://webmatze.de/category/webseiten-erstellen/css/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 08:21:46 +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>Schatten mit CSS Pseudo-Elementen hinzufügen</title>
		<link>https://webmatze.de/schatten-mit-css-pseudo-elementen-hinzufugen/</link>
					<comments>https://webmatze.de/schatten-mit-css-pseudo-elementen-hinzufugen/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 02 Aug 2011 21:05:04 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[pseudo elements]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=665</guid>

					<description><![CDATA[In diesem Beitrag möchte ich euch zeigen, wie man mit ganz einfachen Mitteln einen Schatteneffekt an beliebige Block-Elemente hinzufügen kann. Der Clou dabei ist jedoch, dass dafür kein HTML angefasst werden muss, sondern dies ausschließlich über normale CSS Mittel funktioniert. Ja klar, werden jetzt einige rufen. Dafür kann man ja einfach die CSS Deklaration box-shadow verwenden! Richtig. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>In diesem Beitrag möchte ich euch zeigen, wie man mit ganz einfachen Mitteln einen Schatteneffekt an beliebige Block-Elemente hinzufügen kann. Der Clou dabei ist jedoch, dass dafür kein HTML angefasst werden muss, sondern dies ausschließlich über normale CSS Mittel funktioniert.</strong></p>
<p>Ja klar, werden jetzt einige rufen. Dafür kann man ja einfach die CSS Deklaration <a title="CSS3 box-shadow" href="http://www.w3.org/TR/css3-background/#the-box-shadow">box-shadow</a> verwenden! Richtig. CSS3 erlaubt es seit einiger Zeit, mit <strong>box-shadow</strong> schöne Schatteneffekte an beliebige HTML Elemente zu zaubern und ist dabei ziemlich flexibel.</p>
<p>Aber leider ist es wie mit vielen neuen Dingen - einige Browser unterstützen es noch nicht, oder nur mit speziellen Browserprefixen wie <strong>-moz-</strong>, <strong>-o-</strong> oder<strong> -webkit-</strong>. Dies bedeutet, man muss diese Deklaration für jeden Browser in seiner speziellen Schreibweise wiederholen und bläst damit sein Stylesheet unnötig auf. Und selbst dann werden ältere Browser wie IE8 (und niedriger) oder Opera 10.10 (oder niedriger) <a href="http://www.quirksmode.org/css/contents.html#link5">nicht unterstützt</a>.</p>
<p>Aus diesem Grund möchte ich euch eine weitere Möglichkeit vorstellen, wie man noch einen Schatten erstellen kann.</p>
<h3>Gestatten, Pseudo-Elemente :before und :after</h3>
<p>CSS2 bietet schon seit einiger Zeit die Möglichkeit mit Hilfe der <a href="http://www.w3.org/TR/CSS2/selector.html#before-and-after">Pseudo-Elemente :before und :after</a> Inhalte vor bzw. nach Elementen per CSS hinzuzufügen. So lässt sich zum Beispiel mit folgender Anweisung vor allen Link-Elementen ein Text hinzufügen:</p>
<pre lang="css">a:before {content: "Ich bin ein Link: "}</pre>
<p>Und das alles, ohne etwas am HTML selbst ändern zu müssen. Und ein weiterer Vorteil für uns ist, dass diese Pseudo-Elemente auch schon von einigen älteren Browserversionen unterstützt werden und zudem noch ohne spezielle Prefixe auskommen.</p>
<p><span id="more-665"></span></p>
<h3>Wie entsteht nun der Schatteneffekt?</h3>
<p>Wir nutzen den Umstand, dass der so hinzugefügte Text vom Browser als Block-Element behandelt wird, wenn dieser auch auf ein Block-Element angewandt wird. Er verhält sich also genau so, als wenn wir ein neues DIV-Element hinzugefügt hätten.</p>
<p>Wenn wir dieses Element nun noch mit einer Hintergrundfarbe versehen und entsprechend positionieren, können wir so einen passablen Schatteneffekt erzeugen. Wie genau dies aussieht, könnt ihr nun (endlich) hier sehen:</p>
<div id="box" class="shadowme">Diese Box hat einen schönen Schatten. Wenn Ihr mit der Maus darüberfahrt, seht ihr auch, dass sich der Schatten der Größe der Box anpasst.</div>
<p>Da habt ihr es. Ist der Schatten nicht schön?</p>
<p>Jetzt werde ich euch noch schnell den dazu notwendigen Code zeigen und schon steht euch nichts mehr im Wege, um solche Schatten selbst in euren Seiten zu verwenden.</p>
<p>Hier das HTML:</p>
<pre lang="html4strict">
<div id="box" class="shadowme">Diese Box hat einen schönen Schatten. 
Wenn Ihr mit der Maus darüberfahrt, seht ihr auch, 
dass sich der Schatten der Größe der Box anpasst.</div>
</pre>
<p>Und hier das entsprechende CSS:</p>
<pre lang="css">      
#box {
  background-color: green;
  position: relative;
  width: 50%;
  text-align: center;
  margin: 0px auto;
  padding: 10px;
  color: #fff;
  font-family: sans-serif;
  margin-bottom: 20px;
}
#box:hover {
  font-size: 150%;
}
.shadowme:after {
  content: "";
  background-color: lightGrey;
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 100%;
  height: 5px;
}
.shadowme:before {
  content: "";
  background-color: lightGrey;
  position: absolute;
  top: 5px;
  right: -5px;
  width: 5px;
  height: 100%;
}</pre>
<p>Ich wünsche Euch viel Spaß damit und bei Fragen oder Hinweisen könnt ihr gerne die Kommentarfunktion verwenden. :)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/schatten-mit-css-pseudo-elementen-hinzufugen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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>Wie erstelle ich eine Webseite?</title>
		<link>https://webmatze.de/wie-erstelle-ich-eine-webseite/</link>
					<comments>https://webmatze.de/wie-erstelle-ich-eine-webseite/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 11 Aug 2009 12:28:56 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<category><![CDATA[Planung]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Webseiten erstellen]]></category>
		<category><![CDATA[homepage]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[webhoster]]></category>
		<category><![CDATA[webspace]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=478</guid>

					<description><![CDATA[An diesem Punkt hat jeder schon einmal gestanden. Man hat so viele verschiedene gute oder auch weniger gute Webseiten im Internet besucht und die eine oder andere gute Information für sich aus diesen Seiten gezogen. Doch wenn man Anderen sein eigenes Wissen oder die eigenen Ansichten und Gedanken mitteilen möchte, wird man nicht drum herum [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>An diesem Punkt hat jeder schon einmal gestanden. Man hat so viele verschiedene gute oder auch weniger gute Webseiten im Internet besucht und die eine oder andere gute Information für sich aus diesen Seiten gezogen. Doch wenn man Anderen sein eigenes Wissen oder die eigenen Ansichten und Gedanken mitteilen möchte, wird man nicht drum herum kommen, sich eine eigene Homepage zu erstellen.</p>
<p>Doch wie genau funktioniert das? Und welche Tools brauche ich dafür? Genau diesen Fragen möchte ich in diesem und in kommenden Artikeln auf den Grund gehen.<br />
<span id="more-478"></span></p>
<h3>Was brauche ich für meine eigene Webseite?</h3>
<p>Um zu starten braucht es eigentlich nicht viel. Die wenigen Dinge, die man wirklich benötigt, habe ich hier mal in einer Liste näher beschrieben.</p>
<ul>
<li><strong>Etwas Zeit</strong><br />
Eine gute Homepage lässt sich nicht einfach in wenigen Minuten erstellen, darum sollte man sich auch die entsprechende Zeit nehmen.</li>
<li><strong>Einen Plan</strong><br />
Man kann keine eigene Webseite erstellen, ohne vorher zu wissen, welches Ziel man eigentlich mit dieser Seite verfolgen will. Möchte man ein Tagebuch schreiben? Will man Informationen zu einem bestimmten Thema zusammentragen und aufbereiten? Will man sich selbst und die eigenen Projekte vorstellen? Oder möchte man eine Plattform für sich und seine Freunde schaffen? Die Möglichkeiten sind grenzenlos, aber man sollte zumindest grob das Thema der Webseite festlegen.</li>
<li><strong>Kenntnisse im Umgang mit HTML, CSS und JavaScript</strong><br />
Man kann keine Homepage erstellen, ohne nicht zumindest die grundlegendsten Bausteine einer Webseite zu kennen. Mit <a href="http://webmatze.de/category/webseiten-erstellen/html-xhtml/">HTML</a> legt man die Struktur und den Inhalt einer Webseite fest. Mit <a href="http://webmatze.de/category/webseiten-erstellen/css/">CSS</a> kann man das Aussehen der einzelnen Elemente einer Webseite kontrollieren und mit <a href="http://webmatze.de/category/webseiten-erstellen/javascript/">JavaScript</a> kann man die Funktionalität der eigenen Seite erweitern. Aber erst die Kombination aus allen Zutaten ergibt eine gute Webseite.</li>
<li><strong>Eine eigene Internetadresse</strong><br />
Ohne eine eigene Domain kann niemand auf die liebevoll erstellten Inhalte zugreifen. Der Domainname ist die Adresse einer Seite im Internet. Daher sollte man sich einen sprechenden Namen für die eigene Homepage ausdenken. Ob nun <em>www.willies-kochrezepte.de</em> oder <em>www.webmatze.de</em> - solange der Name noch nicht vergeben ist, kann man fast jeden Domainnamen registrieren lassen.</li>
<li><strong>Webspeicherplatz</strong><br />
Damit man die erstellen HTML Seiten auch für Jeden zugänglich im Internet ablegen kann, benötigt man etwas Speicherplatz. Diesen Webspeicherplatz oder auch Webspace genannt, wird man sich meistens bei professionellen Webhostern anmieten. Die Kosten dafür sind überwiegend sehr niedrig. Es ist auch möglich, eigene Webserver zu verwenden, doch für eine kleine Homepage reicht meistens weniger aus.</li>
</ul>
<p>Das waren auch schon die wichtigsten Zutaten für die eigene Homepage. Wie man sehen kann, braucht es nicht wirklich viel, um eine eigenen Webseite zu erstellen. Doch für jemanden, der bisher noch nie eine Homepage erstellt hat, können einige der Punkte trotzdem eine Hürde darstellen.</p>
<h3>Schritt für Schritt zur eigenen Webseite</h3>
<p>Gerade für diese Anfänger - und dass meine ich nicht abwertend, denn jeder hat einmal an diesem Punkt begonnen - werde ich in den nächsten Tagen und Wochen in verschiedenen Beiträgen auf die einzelnen oben angesprochenen Punkte näher eingehen. Am Ende wird dann jeder eine Schritt für Schritt Anleitung für die erste eigene Homepage zur freien Verfügung haben.</p>
<p>Auf folgende Punkte werde ich dabei detaillierter eingeben:</p>
<ul>
<li>Wie man das richtige Thema für die eigene Homepage wählt</li>
<li>HTML, CSS und JavaScript - Das Grundgerüst einer Webseite beherrschen</li>
<li>So findet man den passenden Domainnamen für die eigene Webseite</li>
<li>Wie wähle ich den richtigen Webhoster für meine Homepage aus?</li>
<li>Wie bekomme ich mehr Besucher für meine eigenen Webseite?</li>
</ul>
<p>Ich freue mich schon darauf und hoffe, dass der Eine oder Andere von Euch mit Hilfe dieser Anleitungen seine erste eigene Homepage erstellen können wird.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/wie-erstelle-ich-eine-webseite/feed/</wfw:commentRss>
			<slash:comments>11</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 fetchpriority="high" 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="(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>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 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="(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>Wie man wirklich ansprechende Formulare erstellt</title>
		<link>https://webmatze.de/wie-man-wirklich-ansprechende-formulare-erstellt/</link>
					<comments>https://webmatze.de/wie-man-wirklich-ansprechende-formulare-erstellt/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 05 Aug 2008 16:57:23 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=335</guid>

					<description><![CDATA[Eines der wichtigsten Elemente in Webseiten sind Formulare. Ohne Formulare wäre es nicht möglich Informationen vom Anwender auf den Server zu übertragen. Es könnten keine Gästebucheinträge gemacht oder Mails über ein Kontaktformular versendet werden. Gerade weil Formulare solch ein wichtiger Bestandteil einer Seite sind, sollte man auch beim Design eines Formulars an den Anwender denken. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Eines der wichtigsten Elemente in Webseiten sind Formulare. Ohne Formulare wäre es nicht möglich Informationen vom Anwender auf den Server zu übertragen. Es könnten keine Gästebucheinträge gemacht oder Mails über ein Kontaktformular versendet werden.</p>
<p>Gerade weil Formulare solch ein wichtiger Bestandteil einer Seite sind, sollte man auch beim Design eines Formulars an den Anwender denken. Klar strukturierte Formulare mit sinnvollen Bezeichnungen und Beschreibungen der einzelnen Felder helfen dem Nutzer dabei, die benötigten Daten schnell eingeben zu können. Aber auch beim HTML Code der Formulare sollte man sich an allgemein gültige Regeln halten, damit diese z.B. auch von behinderten Anwendern leicht ausgefüllt werden können.</p>
<p style="text-align: center;"><img decoding="async" src="http://webmatze.de/wp-content/uploads/2008/08/formulardesign.png" alt="Formulardesign Screenshot" title="Formulardesign" width="500" height="240" class="alignnone size-full wp-image-367" srcset="https://webmatze.de/wp-content/uploads/2008/08/formulardesign.png 520w, https://webmatze.de/wp-content/uploads/2008/08/formulardesign-300x144.png 300w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<h3>Formulare richtig aufbauen</h3>
<p>Um ein Formular erstellen zu können, sollte man sich zuerst alle benötigten Daten notieren und sich überlegen, wie man diese als Formularfeld darstellen kann. Namen oder Emails wird man am besten als <a href="http://de.selfhtml.org/html/formulare/eingabe.htm#felder">Texteingabefeld</a> darstellen. Für Beschreibungen oder größere Texte eignet sich die <a href="http://de.selfhtml.org/html/formulare/eingabe.htm#bereiche">Textarea</a> besser. Eine Auswahl, z.B. ob der Nutzer Mann oder Frau ist, lässt sich sowohl durch <a href="http://de.selfhtml.org/html/formulare/auswahl.htm#radiobuttons">Radiobuttons</a> und auch als <a href="http://de.selfhtml.org/html/formulare/auswahl.htm#listen">Auswahlliste</a> darstellen. Mit <a href="http://de.selfhtml.org/html/formulare/auswahl.htm#checkboxen">Checkboxen</a> fragt man schließlich Daten ab, die keine Texteingabe erfordern, sondern nur ausgewählt werden müssen.</p>
<p>Alle verschiedenen Felder sollten möglichst durch ein <a href="http://de.selfhtml.org/html/formulare/strukturieren.htm#label">Label</a> gekennzeichnet werden. Wenn notwendig kann man dies noch durch ausführlichere Beschreibungen ergänzen, wenn sich die benötigten Daten nicht durch ein oder zwei Wörter erklären lassen.</p>
<p>Wenn ein Formular aus mehreren, inhaltlich nicht zusammengehörigen Abschnitten besteht, so sollte man diese durch <a href="http://de.selfhtml.org/html/formulare/strukturieren.htm#gruppieren">Fieldsets</a> logisch aufteilen und mit Legend genauer beschreiben.<span id="more-335"></span></p>
<h3>Ein einfaches Beispiel - Das Kontaktformular</h3>
<p>Zur besseren Veranschaulichung werde ich ein einfaches Kontaktformular aufbauen. Kontaktformulare kann man auf fast jeder Seite finden und sind ein wichtiges Mittel zur Kommunikation zwischen Seitenbesucher und Seitenbetreiber. </p>
<p>Am Ende soll unser Kontaktformular folgendermaßen aussehen:</p>
<form class="wmForm" action="#" method="post">
<fieldset>
<legend>Ihre Kontaktdaten</legend>
<ul>
<li> <label for="name"><span>*</span>Name</label><br />
<input id="name" name="name" type="text" /></p>
<p class="wmHint">Verwenden Sie wenn möglich Vor- und Zuname.</p>
</li>
<li> <label for="email"><span>*</span>Email</label><br />
<input id="email" name="email" type="text" /></p>
<p class="wmHint">Bitte stellen Sie sicher, dass diese Email wirklich existiert.</p>
</li>
<li> <label for="nachricht"><span>*</span>Ihre Nachricht</label><br />
<textarea id="nachricht" name="nachricht"></textarea></p>
<p class="wmHint">
</li>
</ul>
</fieldset>
<fieldset>
<legend>Ich möchte Folgendes gleich kostenlos mitbestellen</legend>
<ul>
<li> <label for="fruehlingskatalog">Frühlingskatalog</label><br />
<input id="fruehlingskatalog" class="checkbox" name="fruehlingskatalog" type="checkbox" /></li>
<li> <label for="sommerkatalog">Sommerkatalog</label><br />
<input id="sommerkatalog" class="checkbox" name="sommerkatalog" type="checkbox" /></li>
<li> <label for="herbstkatalog">Herbstkatalog</label><br />
<input id="herbstkatalog" class="checkbox" name="herbstkatalog" type="checkbox" /></li>
<li> <label for="winterkatalog">Winterkatalog</label><br />
<input id="winterkatalog" class="checkbox" name="winterkatalog" type="checkbox" /></p>
<p class="wmHint">
</li>
</ul>
</fieldset>
<fieldset class="wmButtons">
<input class="wmButton" name="submit" type="button" value="Absenden" /><br />
<input class="wmButton" name="reset" type="reset" value="Eingaben löschen" /><br />
</fieldset>
</form>
<p>Wie man sehen kann, ist das Formular relativ einfach gehalten, sieht aber dennoch ansprechend aus. Erreicht wird dies durch den Einsatz von gut strukturiertem HTML und einfachen CSS Definitionen.</p>
<h3>Der HTML Code</h3>
<p>Beim Aufbau des Formulars mit HTML habe ich darauf geachtet, dass es in allen Browsern bedienbar bleibt und auch für Behinderte mit Screenreadern keine Probleme macht. Die einzelnen Formularfelder wie einzeilige oder mehrzeilige Textfelder wurden in einer Liste untergebracht und mit &lt;LABEL&gt; Elementen versehen. Bei bestimmten Feldern habe ich zusätzlich noch einen längeren, beschreibenden Text hinzugefügt:</p>
<pre lang="html">
<FORM class="wmForm" action="#" method="post">
	<FIELDSET>
		<LEGEND>Ihre Kontaktdaten</LEGEND> 
		<UL>
			<LI>
				<LABEL for="name"><SPAN>*</SPAN>Name</LABEL>
				<INPUT id="name" name="name" type="text" />
				<P class="wmHint">Verwenden Sie wenn möglich Vor- und Zuname.</P>
			</LI>
			<LI>
				<LABEL for="email"><SPAN>*</SPAN>Email</LABEL>
				<INPUT id="email" name="email" type="text" />
				<P class="wmHint">Bitte stellen Sie sicher, dass diese Email wirklich existiert.</P>
			</LI>
			<LI>
				<LABEL for="nachricht"><SPAN>*</SPAN>Ihre Nachricht</LABEL>
				<TEXTAREA id="nachricht" name="nachricht"></TEXTAREA>
				<P class="wmHint"></P>
			</LI>
		</UL>
	</FIELDSET>
	<FIELDSET>
		<LEGEND>Ich möchte Folgendes gleich kostenlos mitbestellen</LEGEND>
		<UL>
			<LI>
				<LABEL for="fruehlingskatalog">Frühlingskatalog</LABEL>
				<INPUT id="fruehlingskatalog" class="checkbox" name="fruehlingskatalog" type="checkbox" />
			</LI>
			<LI>
				<LABEL for="sommerkatalog">Sommerkatalog</LABEL>
				<INPUT id="sommerkatalog" class="checkbox" name="sommerkatalog" type="checkbox" />
			</LI>
			<LI>
				<LABEL for="herbstkatalog">Herbstkatalog</LABEL>
				<INPUT id="herbstkatalog" class="checkbox" name="herbstkatalog" type="checkbox" />
			</LI>
			<LI>
				<LABEL for="winterkatalog">Winterkatalog</LABEL>
				<INPUT id="winterkatalog" class="checkbox" name="winterkatalog" type="checkbox" />
				<P class="wmHint"></P>
			</LI>
		</UL>
	</FIELDSET>
	<FIELDSET class="wmButtons">
		<INPUT class="wmButton" name="submit" type="button" value="Absenden" />
		<INPUT class="wmButton" name="reset" type="reset" value="Eingaben löschen" />
	</FIELDSET>
</FORM>
</pre>
<h3>Die dazugehörigen Style Definitionen</h3>
<p>Damit das Formular auch ansprechend aussieht, muss es natürlich über CSS verschönert werden. Im folgenden CSS sind alle notwendigen Angaben, um die einzelnen Formularelemente auszurichten und farblich gestalten zu können.</p>
<pre lang="css">
.wmForm {
	background-color: #ffffff;
	padding: 10px;
}
.wmForm fieldset.wmButtons input.wmButton {
	float: right;
	width: 150px;
	background-color: #E9F7F6;
	border: 1px solid #7BB9B7;
	color: #7BB9B7;
	margin-left: 10px;
}
.wmForm fieldset legend {
	background-color: #ffffff;
	color: #7BB9B7;
	font-weight: bold;
}
.wmForm ul {
	background-color: #E9F7F6;
	border-top: 2px solid #7BB9B7;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.wmForm ul li {
	padding: 10px;
	clear: both;
}
.wmForm ul li label {
	display: inline;
	float: left;
	width: 30%;
}
.wmForm ul li label span {
	float: right;
	color: #7BB9B7;
}
.wmForm ul li input,
.wmForm ul li textarea {
	float: right;
	width: 68%;
	background-color: #F0F0F0;
}
.wmForm ul li input:focus,
.wmForm ul li textarea:focus {
	border: 1px solid #7BB9B7;
	background-color: #FFFFFF;
}
.wmForm ul li input.checkbox,
.wmForm ul li input.radio {
	float: left;
	width: 20px;
	border-width: 0px;
}
.wmForm ul li p.wmHint {
	clear: both;
	margin-left: 30%;
	width: 68%;
	text-align: left;
	font-size: 10px;
	padding: 0px 10px;
}
</pre>
<p>Diese Angaben können natürlich beliebig erweitert oder verändert werden, um das Aussehen des Formulars den eigenen Vorstellungen anzupassen.</p>
<h3>Fazit</h3>
<p>Wie man bei diesem Beispiel erkennen kann, müssen Formulare nicht grau und langweilig aussehen. Sie können sehr flexibel an das jeweilige Seitendesign angepasst werden. Der Fantasie sind hier fast keine Grenzen gesetzt, aber man sollte immer darauf achten, dass solch ein Formular leicht bedienbar bleibt. Dies ist vor allem auch dann wichtig, wenn man bedenkt das Formulare auch von Menschen mit Behinderungen ausgefüllt werden können müssen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/wie-man-wirklich-ansprechende-formulare-erstellt/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Text in Spalten darstellen mit &#8222;CSS3 Columns&#8220;</title>
		<link>https://webmatze.de/text_in_spalten_css3_columns/</link>
					<comments>https://webmatze.de/text_in_spalten_css3_columns/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Mon, 04 Sep 2006 10:21:11 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/2007/09/04/text_in_spalten_css3_columns/</guid>

					<description><![CDATA[Mit CSS3 solle es möglich werden Text auch in in mehreren Spalten darstellen zu lassen. Ganz so, wie man es auch von Zeitungen gewohnt ist. In diesem Artikel will ich zeigen, wie man dies am einfachsten umsetzen kann und mit welchen Problemen noch zu rechnen ist.]]></description>
										<content:encoded><![CDATA[<p>Um beliebigen Text in Browsern mit HTML darzustellen, braucht es nicht vieler Kenntnisse. Am einfachsten ist es den gew&uuml;nschten Text zwischen zwei <b>&lt;p&gt;</b> Tags zu packen und schon wird er als Paragraph auf der Seite dargestellt. Doch wie schafft man es Text wie in einer Zeitung &uuml;ber mehrere Spalten hinweg darzustellen? Also so, dass der Text unten in der ersten Spalte endet und oben in der zweiten Spalte fortgef&uuml;hrt wird! Das ist mit HTML nicht m&ouml;glich? Falsch! Mit dem neuen <a href="http://www.w3.org/TR/2001/WD-css3-multicol-20010118/">CSS3 Modul: Multi-column layout</a> soll dies nun doch m&ouml;glich werden. Und wer schon den neuen Browser <a href="http://www.mozilla.org/projects/firefox/">Firefox 1.5</a> besitzt, kann dies gleich hier an dieser Stelle testen!</p>
<h3>Anzahl der Spalten festlegen</h3>
<p>Um festzulegen, mit wievielen Spalten ein Text dargestellt werden soll, braucht man nur folgende CSS Eigenschaft anzugeben: <b>-moz-column-count</b>. Wobei das Prefix <b>-moz-</b> speziell f&uuml;r den Firefox definiert wurde, da es sich hierbei noch nicht um einen endg&uuml;ltig anerkannten Standard handelt. Sollte sich dieser Standard durchsetzen, w&uuml;rde man das Prefix weglassen und nur noch <b>column-count</b> verwenden. Als Wert gibt man nun die Anzahl der Spalten an:</p>
<p><span id="more-11"></span></p>
<pre lang="html4strict"><P style="-moz-column-count: 2">Dieser Text wird in zwei Spalten angezeigt, wenn man den aktuellen Firefox Browser verwendet. Sollte man einen älteren Browser verwenden, wird dieser Absatz einfach so wie immer mit nur einer Spalte dargestellt werden. Dieser Text wird in zwei Spalten angezeigt, wenn man den aktuellen Firefox Browser verwendet. Sollte man einen älteren Browser verwenden, wird dieser Absatz einfach so wie immer mit nur einer Spalte dargestellt werden.</P>
</pre>
<p>Das Ergebnis w&uuml;rde dann so aussehen:</p>
<p style="-moz-column-count: 2;font-weight: bold">Dieser Text wird in zwei Spalten angezeigt, wenn man den aktuellen Firefox Browser verwendet. Sollte man einen &auml;lteren Browser verwenden, wird diesr Absatz einfach so wie immer mit nur einer Spalte dargestellt werden. Dieser Text wird in zwei Spalten angezeigt, wenn man den aktuellen Firefox Browser verwendet. Sollte man einen &auml;lteren Browser verwenden, wird diesr Absatz einfach so wie immer mit nur einer Spalte dargestellt werden.</p>
<p><b>[funktioniert vorerst nur im <a href="http://www.mozilla.org/projects/firefox/">Mozilla Firefox 1.5</a>]</b></p>
<h3>Minimale Spaltenbreite festlegen</h3>
<p>Wenn man nun m&ouml;chte, dass die Spalten nun immer mindestens 200 Pixel breit sein sollen, so kann man dies mit der Eigenschaft <b>-moz-column-width</b> festlegen. Die Spalten sind dann immer mindestens 200 Pixel breit. Und wenn man die Eigenschaft -moz-column-count wegl&auml;ßt, dann werden automatisch immer so viele Spalten angezeigt wie f&uuml;r die angegebene Breite ben&ouml;tigt werden. Das bedeutet, das folgendes:</p>
<pre lang="html4strict"><P style="-moz-column-width: 100px">Dieser Text wird in einer oder mehreren 
Spalten dargestellt, wobei die Spalten immer mindestens 100 Pixel groß sein müssen. Ist weniger Platz vorhanden wird nur eine Spalte angezeigt. Ist mehr Platz vorhanden, werden entsprechend mehr Spalten dargestellt. Dieser Text wird in einer oder mehreren Spalten dargestellt, wobei die Spalten immer mindestens 100 Pixel groß sein müssen. Ist weniger Platz vorhanden wird nur eine Spalte angezeigt. Ist mehr Platz vorhanden, werden entsprechend mehr Spalten dargestellt.</P>
</pre>
<p>dann folgendes Ergebnis bringt:</p>
<p style="-moz-column-width: 100px;font-weight: bold">Dieser Text wird in einer oder mehreren Spalten dargestellt, wobei die Spalten immer mindestens 100 Pixel groß sein m&uuml;ssen. Ist weniger Platz vorhanden wird nur eine Spalte angezeigt. Ist mehr Platz vorhanden, werden entsprechend mehr Spalten dargestellt. Dieser Text wird in einer oder mehreren Spalten dargestellt, wobei die Spalten immer mindestens 100 Pixel groß sein m&uuml;ssen. Ist weniger Platz vorhanden wird nur eine Spalte angezeigt. Ist mehr Platz vorhanden, werden entsprechend mehr Spalten dargestellt.</p>
<p><b>[funktioniert vorerst nur im <a href="http://www.mozilla.org/projects/firefox/">Mozilla Firefox 1.5</a>]</b></p>
<p>Und wenn ich zus&auml;tzlich noch die Anzahl der Spalten angebe, kann ich erreichen, dass immer zwei Spalten angezeigt werden, außer wenn der zur Verf&uuml;gung stehende Platz nicht außreicht um mindestens zwei Spalten mit einer Breite von je 200 Pixeln anzuzeigen.</p>
<pre lang="html4strict"><P style="-moz-column-width: 200px;-moz-column-count: 2">Dieser Text wird in zwei Spalten angezeigt, es sei denn der zur Verf&uuml;gung stehende Platz reicht nicht aus um 
die Spalten mit einer Breite von mindestens 200 Pixeln darstellen zu k&ouml;nnen. Ist weniger Platz vorhanden wird nur noch eine Spalte dargestellt. Dieser Text wird in zwei Spalten angezeigt, es sei denn der zur Verf&uuml;gung stehende Platz reicht nicht aus um die Spalten mit einer Breite von mindestens 200 Pixeln darstellen zu k&ouml;nnen. Ist weniger Platz vorhanden wird nur noch eine Spalte dargestellt.</P>
</pre>
<p style="-moz-column-width: 200px;-moz-column-count: 2;font-weight: bold">Dieser Text wird in zwei Spalten angezeigt, es sei denn der zur Verf&uuml;gung stehende Platz reicht nicht aus um die Spalten mit einer Breite von mindestens 200 Pixeln darstellen zu k&ouml;nnen. Ist weniger Platz vorhanden wird nur noch eine Spalte dargestellt. Dieser Text wird in zwei Spalten angezeigt, es sei denn der zur Verf&uuml;gung stehende Platz reicht nicht aus um die Spalten mit einer Breite von mindestens 200 Pixeln darstellen zu k&ouml;nnen. Ist weniger Platz vorhanden wird nur noch eine Spalte dargestellt.</p>
<p><b>[funktioniert vorerst nur im <a href="http://www.mozilla.org/projects/firefox/">Mozilla Firefox 1.5</a>]</b></p>
<h3>Den Abstand zwischen den Spalten festlegen</h3>
<p>Normalerweise schließen die einzelnen Spalten immer direkt aneinander an. Dies ist aber nicht immer so gew&uuml;nscht, da der Text viel besser lesbar ist, wenn sich zwischen den einzelnen Spalten ein gewisser Abstand befindet. Um diesen Abstand festzulegen, kann man die CSS3 Eigenschaft <b>-moz-column-gap</b> verwenden. </p>
<pre lang="html4strict"><P style="-moz-column-count: 3;-moz-column-gap: 50px">Dieser Text wird in zwei Spalten angezeigt,  wobei zwischen den einzelnen Spalten immer ein Abstand von mindestens 50 Pixeln angezeigt wird. Dieser Text wird in zwei Spalten angezeigt, wobei zwischen den einzelnen Spalten immer ein Abstand von mindestens 40 Pixeln angezeigt wird.</P>
</pre>
<p>Das Ergebnis sollte dann wie erwartet so aussehen:</p>
<p style="-moz-column-count: 3;-moz-column-gap: 50px;font-weight: bold">Dieser Text wird in zwei Spalten angezeigt,  wobei zwischen den einzelnen Spalten immer ein Abstand von mindestens 40 Pixeln angezeigt wird. Dieser Text wird in zwei Spalten angezeigt,  wobei zwischen den einzelnen Spalten immer ein Abstand von mindestens 50 Pixeln angezeigt wird.</p>
<p><b>[funktioniert vorerst nur im <a href="http://www.mozilla.org/projects/firefox/">Mozilla Firefox 1.5</a>]</b></p>
<p>Wie zu sehen ist, lassen sich diese neuen CSS3 Eigenschaften sehr gut für das Layout von übersichtlichen Webseiten einsetzen. Es ist abzuwarten, wann dies auch von anderen Browsern außer dem Firefox 1.5 übernommen wird. Ich bin überzeugt, dass wir in der nächsten Zeit mehr Seiten sehen werden, die sich diese Features zu Nutzen machen werden.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/text_in_spalten_css3_columns/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>FireBug 0.4 &#8211; Der ultimative Web Debugger</title>
		<link>https://webmatze.de/firebug-04-der-ultimative-web-debugger/</link>
					<comments>https://webmatze.de/firebug-04-der-ultimative-web-debugger/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Wed, 24 May 2006 13:52:00 +0000</pubDate>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML / XHTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/firebug-04-der-ultimative-web-debugger/</guid>

					<description><![CDATA[Webseiten von heute bestehen meistens nicht nur aus HTML und CSS, sondern häufig auch viel JavaScript. Es sind häufig gar keine Webseiten mehr, sondern schon richtige Webanwendungen. Und wir alle wissen, dass Anwendungen häufig auch Fehler enthalten können. Auch Webanwendungen sind davon nicht ausgeschlossen.Bisher war es meistens schwierig solche Fehler im JavaScript Code oder im [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" src="http://www.joehewitt.com/software/firebug/firebug.png" style="margin: 6px; float: left;" />Webseiten von heute bestehen meistens nicht nur aus HTML und CSS, sondern häufig auch viel JavaScript. Es sind häufig gar keine Webseiten mehr, sondern schon richtige Webanwendungen. Und wir alle wissen, dass Anwendungen häufig auch Fehler enthalten können. Auch Webanwendungen sind davon nicht ausgeschlossen.<br />Bisher war es meistens schwierig solche Fehler im JavaScript Code oder im HTML zu finden. Es fehlen die richtigen Tools, wie man sie z.B. bei der Programmierung mit Java ode C++ gewohnt ist, um diese Fehler aufzuspüren und zu beheben. Da HTML, CSS und JavaScript im Browser ausgeführt und angezeigt werden, braucht man auch Tools, um sie genau da - während sie ausgeführt werden - zu debuggen. Der Browser Firefox bietet hierfür einige gute Tools an. Ein guter Debugger ist z.B. <a href="http://www.mozilla.org/projects/venkman/">Venkman</a>. Und mit dem <a href="http://www.mozilla.org/projects/inspector/">DOM Inspector</a> kann man sich bequem den DOM Tree der Seiten anschauen.<br />Doch in Zeiten von web 2.0 und Ajax braucht man noch bessere und spezialisiertere Tools. Und eins dieser "Übertools" ist <a href="http://www.joehewitt.com/software/firebug/">FireBug</a>, welches jetzt in der <a href="http://www.joehewitt.com/blog/firebug_04_come.php">Version 0.4</a> erschienen ist.<br style="clear: both;" /><br />Hier ein kurzer Überblick über die neuenFeatures:<br /><b><br />JavaScript Debugger</b></p>
<p>FireBug ermöglicht es, Breakpoints im JavaScript Code zu setzen, Schritt für Schritt durch die Codezeilen zu springen und lokale Variablen sowie den Stack zu betrachten.</p>
<p><b>Stack Traces bei JavaScript Fehlern</b></p>
<p>Jeder JavaScript Fehler wird mit einem Stack Trace angezeigt. So kann man genau sehen, an welcher Stelle im Code und durch welchen Aufruf ein Fehler genau aufgetreten ist.</p>
<p><b>JavaScript Fehler debuggen</b></p>
<p>Wenn ein Fehler auftritt, reicht es meistens nicht, nur den Stack Trace zu sehen. Meistens möchte man auch sehen, welche Werte bestimmte Variablen gerade hatten, als der Fehler auftrat. Mit FireBug kann man durch die Einstellung "Break On Error" den Debugger automatisch anhalten lassen, wenn ein Fehler auftritt. Man wird dann sofort zur richtigen Stelle im Code gebracht.<br /><b><br />Logging Funktionalitäten</b></p>
<p>Über das <i>console </i>Objekt kann man verschiedene Nachrichten auf der Konsole ausgeben lassen, während der JavaScript Code ausgeführt wird. Dabei kann man verschiedene Stufen wählen, wie z.B. <i>console.debug()</i>, <i>console.info()</i>, <i>console.warn()</i> oder <i>console.error()</i>. Diese Meldungen werden dann auch noch in unterschiedlicher Farbdarstellung in der Konsole kenntlich gemacht.</p>
<p>Außerdem besitzt FireBug noch viele weitere wichtige und nützliche Funktionen. So kann man sich detailiert den Request anschauen, der bei Ajax gesendet wird. FireBug liefert auch eine sinnvolle JavaScript command line, um schnell kleine JavaScript Schnipsel ausführen zu können. Und über die verschiedensten Inspektoren können alle möglichen Aspekte von HTML, DOM, CSS und JavaScript genau betrachtet werden.</p>
<p>Ich finde das FireBug ein "Must Have" Tool für Webentwickler ist. Es läßt sich leicht als Erweiterung in den aktuellen <a href="http://www.mozilla.com/firefox/">Firefox 1.5 Browser</a> integrieren.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/firebug-04-der-ultimative-web-debugger/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Runde Tabellen mit Mozilla</title>
		<link>https://webmatze.de/runde-tabellen-mit-mozilla/</link>
					<comments>https://webmatze.de/runde-tabellen-mit-mozilla/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Fri, 18 Mar 2005 17:27:37 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/2005/03/18/runde-tabellen-mit-mozilla/</guid>

					<description><![CDATA[In einem meiner ersten Artikel beschrieb ich, wie man seine Tabellen mit einfachen, runden Ecken versehen kann. Alles was man damals dazu ben&#246;tigte waren vier Grafiken. F&#252;r jede runde Ecke eine.

Doch inzwischen sind einige Winter durchs Land gezogen und ich habe mich gefragt, ob es nicht doch eine andere, leichtere M&#246;glichkeit geben k&#246;nnte. Und siehe da, eine kurze Suche im Netz brachte mich auf den richtigen Weg! CSS3 ist die Antwort!]]></description>
										<content:encoded><![CDATA[<p>In einem meiner ersten Artikel beschrieb ich, wie man seine Tabellen mit einfachen, runden Ecken versehen kann. Alles was man damals dazu ben&ouml;tigte waren vier Grafiken. F&uuml;r jede runde Ecke eine.</p>
<p>Doch inzwischen sind einige Winter durchs Land gezogen und ich habe mich gefragt, ob es nicht doch eine andere, leichtere M&ouml;glichkeit geben k&ouml;nnte. Und siehe da, eine kurze Suche im Netz brachte mich auf den richtigen Weg!</p>
<h3>CSS3 ist die Antwort!</h3>
<p>In <b>CSS3</b> sind einige Erweiterungen zum aktuellen Standard CSS2 vorgesehen, unter anderm auch die M&ouml;glichkeit runde Ecken darstellen zu k&ouml;nnen. Das <b>CSS3 Modul: Border</b> existiert momentan jedoch nur als <a href="http://www.w3.org/TR/css3-border/#the-border-radius">Arbeitspapier (Working Draft)</a> des W3C. Jedoch hat sich Mozilla einiger dieser Erweiterungen angenommen und schon als <b>vorl&auml;ufige Erweiterung</b> (Proprietary Extensions) umgesetzt. Diese werden durch ein vorangestelltest <b>-moz-</b> gekennzeichnet. Bei einer dieser Erweiterungen handelt es sich um <b>-moz-border-radius</b>. Und eben diese ben&ouml;tigen f&uuml;r unsere runden Ecken!<br />
<span id="more-19"></span></p>
<h3>-moz-border-radius - Mach mich rund</h3>
<p>Fangen wir doch gleich an und bauen uns ein Beispiel zusammen. Zuerst die Style Definition:</p>
<pre lang="css">
.rundeEcken {
	text-align: center;
	border:2px solid #000000;
	-moz-border-radius: 15px;
}
</pre>
<p>Das Ganze weisen wir nun einer Tabelle zu:</p>
<pre lang="html4strict">
<table class="rundeEcken">
  ...
</table>
</pre>
<p>Und als Ergebnis erhalten wir folgende Tabelle:</p>
<table width="200" border="0" bgcolor="#FFFFFF" style="-moz-border-radius: 15px;border:2px solid #000000;text-align: center;">
<tr>
<td>
<p>Diese Tabelle hat runde Ecken, und das ganz ohne Grafiken. (Mozilla/NS6)</p>
</td>
</tr>
</table>
<p></p>
<p>Allerdings nur mit <b>Mozilla/NS6</b>. In allen anderen Browsern erscheint die Tabelle ganz normal mit Ecken.</p>
<h3>Ein paar Schritte weiter...</h3>
<p><b>-moz-border-radius</b> ist eine Abk&uuml;rzung um jede der vier Ecken zu kontrollieren. Dazu kann man <b>-moz-border-radius</b> vier Werte &uuml;bergeben die den Radius jeder einzelnen Ecke einstellen und zwar in folgender Reihenfolge: oben-links [top-left], oben-rechts [top-right], unten-rechts [bottom-right], unten-links [bottom-left].</p>
<pre lang="css">
.rundeEcken {
	text-align: center;
	border:2px solid #000000;
	-moz-border-radius: 5px 10px 15px 20px;
}
</pre>
<table width="200" border="0" bgcolor="#FFFFFF" style="-moz-border-radius: 5px 10px 15px 20px; border:2px solid #000000; text-align: center;">
<tr>
<td>
<p>Diese Tabelle hat runde Ecken, und das ganz ohne Grafiken. (Mozilla/NS6)</p>
</td>
</tr>
</table>
<p></p>
<p>Wodurch sich ein interessanter Effekt erzielen l&auml;&szlig;t. Genauso gut ist es aber auch m&ouml;glich nur zwei Werte zu &uuml;bergeben, wodurch jeweils die linke obere und die rechte untere bzw. die rechte obere und die linke untere Ecke kontrolliert werden k&ouml;nnen. Das sieht dann folgenderma&szlig;en aus</p>
<pre lang="css">
.rundeEcken {
	text-align: center;
	border:2px solid #000000;
	-moz-border-radius: 30px 5px;
}
</pre>
<table width="200" border="0" bgcolor="#FFFFFF" style="-moz-border-radius: 30px 5px; border:2px solid #000000; text-align: center;">
<tr>
<td>
<p>Diese Tabelle hat runde Ecken, und das ganz ohne Grafiken. (Mozilla/NS6)</p>
</td>
</tr>
</table>
<p></p>
<h3>Jede Ecke einzeln</h3>
<p>M&ouml;chte man jede Ecke einzeln kontrollieren kann man sich auch folgender Erweiterungen bedienen:</p>
<pre lang="css">
.rundeEcken {
	text-align: center;
	border:2px solid #000000;
	-moz-border-radius-topleft: 20px;
	-moz-border-radius-topright: 15px;
	-moz-border-radius-bottomleft: 10px;
	-moz-border-radius-bottomright: 5px;
}
</pre>
<p>Als Wert kann man jeweils eine Bereich zwischen 0-30px, bzw. Prozentangaben verwenden.</p>
<h3>Ein paar abschlie&szlig;ende Worte</h3>
<p>Jeder der sich nun begeistert daranmachen will und dies in sein n&auml;chstes HTML Design &uuml;bernimmt, sollte jedoch immer im Hinterkopf behalten, das dies kein Standard ist (zumindest solange nicht, bis CSS3 zum Standard geworden ist) und somit auch nicht in allen Browsern zu sehen ist.</p>
<p>Auch sind diese runden Ecken nicht mit allen Mozilla Versionen zu sehen. Erst ab Version Mozilla 0.92 d&uuml;rften sie funktionieren. Und es ist auch nicht ausgeschlossen, das sie in sp&auml;teren Versionen irgendwann nicht mehr funktionieren.</p>
<p>Also viel Spa&szlig; beim Ausprobieren und Experimentieren.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/runde-tabellen-mit-mozilla/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
