<?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 &#38; HTML-Tutorials auf nicogutmann.de</title>
	<atom:link href="http://tuts.nicogutmann.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://tuts.nicogutmann.de</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Sun, 27 Jun 2010 21:47:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ordnung und Stetigkeit</title>
		<link>http://tuts.nicogutmann.de/2009/11/04/ordnung-und-stetigkeit/</link>
		<comments>http://tuts.nicogutmann.de/2009/11/04/ordnung-und-stetigkeit/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 16:53:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS-Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[kommentare]]></category>
		<category><![CDATA[ordnung]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=182</guid>
		<description><![CDATA[Vor allem CSS-Dateien sind oft recht groß und werden schnell unübersichtlich. Farbliche Akzentuierungen, unterschiedliche Schriftgrößen, etc sind in so einer Textbasierten Datei nicht möglich. Trotzdem kann man und sollte man dieses Chaos wenigstens ein Stück weit beseitigen, das erspart einem selbst eine Menge Zeit und auch den Betrachtern deiner CSS-Dateien (Bei Fehlersuche, bei Kopieren von [...]]]></description>
			<content:encoded><![CDATA[<p>Vor allem CSS-Dateien sind oft recht groß und werden schnell unübersichtlich. Farbliche Akzentuierungen, unterschiedliche Schriftgrößen, etc sind in so einer Textbasierten Datei nicht möglich. Trotzdem kann man und sollte man dieses Chaos wenigstens ein Stück weit beseitigen, das erspart einem selbst eine Menge Zeit und auch den Betrachtern deiner CSS-Dateien (Bei Fehlersuche, bei Kopieren von Passagen) und ist ziemlich simpel umzusetzen.</p>
<h3>Es fängt am Anfang an</h3>
<p>Bereits ganz oben in einer CSS-Datei ist es wichtig einige Dinge zu definieren, hinzuschreiben. Was ihr genau hinschreibt, ist euch überlassen, aber zumindest der Name der Website, das Erstellungsdatum und die Farben sollten dort ihren Platz finden:</p>
<p><code class="css"><strong>/*<br />
/////////////////////////////////</strong><span>Name des Dokumentes: "screen.css"</span><span>Erstellt von: "Nico Gutmann"<br />
Erstellt für: "tuts.nicogutmann.de"<br />
Erstellungsdatum: "06.08.2009"<br />
Letzte Änderung: "03.11.2009"</span><span>Farben:<br />
----------------<br />
blau: #054c98<br />
lila: #8a24ac<br />
rot: #bf2304<br />
grün: #359721</span><strong>/////////////////////////////////<br />
*/</strong></code></p>
<p>Das ist mein Kopfbereich, der genügt mir persönlich sehr und die wichtigsten Aspekte wurden aufgegriffen.</p>
<h3>Kommentiert alles mögliche</h3>
<p>Kommentare sind elementar für die Grundordnung einer CSS-Datei. Dabei solltest du klare Abtrennungen machen und ähnlich bei einem Text mit Teilüberschriften arbeiten.<br />
Da es nicht möglich ist, Schriftgrößen zu verändern oder auch farbliche Akzente zu setzen, muss das auch andere Weise geschehen. Auch hier ist die finale Exekution dir überlassen, ich arbeite gerne mit Querstrichen und Trennstrichen:</p>
<p><code class="css">/* /////////////////////// Allgemeines /////////////////////// */<span><strong>html,body</strong> {<br />
&nbsp;&nbsp;&nbsp;height: 100%;<br />
}</span><span>/* /////////////////////// Wrapper &amp; Kopf /////////////////////// */</span><span>/* Umhuellendes Div<br />
-------------------------*/</span><span><strong>#seite</strong> {<br />
&nbsp;&nbsp;&nbsp;width: 100%;<br />
&nbsp;&nbsp;&nbsp;min-width: 800px;<br />
&nbsp;&nbsp;&nbsp;max-width: 960px;<br />
&nbsp;&nbsp;&nbsp;min-height: 100%;<br />
&nbsp;&nbsp;&nbsp;height: auto !important;<br />
&nbsp;&nbsp;&nbsp;height: 100%;<br />
&nbsp;&nbsp;&nbsp;margin: 0 auto;<br />
&nbsp;&nbsp;&nbsp;position: relative;<br />
&nbsp;&nbsp;&nbsp;font-size: 80%<br />
}</span></code></p>
<h3>Einrücken bei den Kindern</h3>
<p>So hast du bereits eine ganz gute Ordnung in deinem Stylesheet. Um den Deckel draufzumachen, kannst du noch mit inrückungen dort arbeiten, wo du mit Kindselektoren arbeitest. Bei einem Menu dann beispielsweise die Definition für die einzelnen Menupunkten von dem Menuobjekt einrücken:</p>
<p><code class="css">/* /////////////////////// Navigation /////////////////////// */<span><strong>ul#navi</strong> {<br />
&nbsp;&nbsp;&nbsp;background: url(imgs/header.png) no-repeat;<br />
&nbsp;&nbsp;&nbsp;margin: -50px 0 10px;<br />
&nbsp;&nbsp;&nbsp;padding: 145px 0 0 0;<br />
&nbsp;&nbsp;&nbsp;border-bottom: 1px solid #000;<br />
&nbsp;&nbsp;&nbsp;overflow: hidden;<br />
&nbsp;&nbsp;&nbsp;height: 36px;<br />
&nbsp;&nbsp;&nbsp;width: 100%;<br />
}</span><span> &nbsp;&nbsp;&nbsp;<strong>#navi li</strong> {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width: 25%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height: 36px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line-height: 37px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-align: center<br />
&nbsp;&nbsp;&nbsp;}</span><span> <strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#navi a</strong> {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color: #555;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display: block;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width: 100%;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-decoration: none<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></code></p>
<h3>Stetigkeit in den Namen</h3>
<p>Neben den strukurellen Aspekten darf die Namensgebung einzelner Klassen, IDs und Bereiche nicht unterschätzt werden. Such dir sinnvolle Namen aus und bleibe bei allen Projekten bei diesen.<br />
Das umhüllende Element einer Seite wird gerne <strong>#wrapper</strong> genannnt, ich nenne es <strong>#seite</strong>, bei all meinen aktuellen Projekten. Die Navigation natürlich dann <strong>#navi</strong> und den unteren Teil <strong>#site-info</strong>. Dabei ist es wichtig diese Namen beizubehalten, damit ihr ersten immer genau wisst, wobei es sich handelt, wenn ihr auf eure CSS-Dateien nach längerer Zeit wieder zugreifen müsst und ihr könnt euch Teile eurs HTML-Markups und des CSS kopieren und ohne Änderungen in ein neues Projekt einbinden, was viel Zeit sparen kann.</p>
<h3>Mehrere CSS-Dateien</h3>
<p>Bei großen Projekten (diese Website zähle ich nicht dazu) ist es auch durchaus sinnvoll seine Stile auf mehrere CSS-Dateien auszulagern, denn nach einer bestimmten Länge findet man einfach nichts mehr, auch wenn man seine CSS-Datei noch so gut auskommentiert hat.<br />
Dabei ist es natürlich jedem frei und auch ab und an projektabhängig, wie man diese Dateien auslagert und benennt. Ich persönlich finde eine sinnvolle Separation in 3 Dateien sinnvoll: <b>layout.css</b>,<b> inhalt.css</b> und <b>menus.css</b>.</p>
<p><img src="/imgs/css-separation.png" title="Eine Möglichkeit seine CSS-Datei aufzuteilen" /></p>
<p>Dabei kommen alle Eigenschaften, die das Layout betreffen in die layout.css Datei, dazu gehören dann die Eigenschaften, die das Layout ohne konkrete Inhalte definieren, wie Seitengröße, Kopfbereich, Site-Info und die Positionierung der Objekte.<br />
Die inhalt.css-Datei erklärt sich von selbst und da bei größeren Projekten oft viele Menupunkte die Website beherrschen, gibt man dem Menu/den Menus auch noch eine eigene Datei.</p>
<p>Das ist natürlich eine subjektive Anordnung, es gibt auch einige, der ihre Stile komplett nach Eigenschaften separieren. Da kommen dann alle Positionierungen in eine Datei, alle Schriftdefinitionen, alle Abstände, etc. Davon halte ich persönlich nicht viel, da wird man doch bekloppt.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li class="pdf"><a href="/ordnung-in-css-dateien.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Dr. Web hat über die Ordnung von CSS-Dateien ebenfalls einen Artikel geschrieben" href="http://www.drweb.de/magazin/ordnung-muss-sein-wie-strukturiere-ich-eine-css-datei/">Dr.Webs Ordnung</a></li>
<li><a title="Externer Link: Jens Meiert erklärt hier wie man sinnvolle Namen für IDs und Klassen dekliniert" href="http://meiert.com/de/publications/articles/20081021/">Namensfindung</a></li>
<li><a title="Externer Link: Die import-Regel in Stylesheets" href="http://www.thestyleworks.de/ref/at_import.shtml">CSS: @-Import</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/11/04/ordnung-und-stetigkeit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Valid XHTML&#8221; und A- A A+ &#8211; Weg damit!</title>
		<link>http://tuts.nicogutmann.de/2009/11/02/valid-xhtml-und-a-a-a-weg-damit/</link>
		<comments>http://tuts.nicogutmann.de/2009/11/02/valid-xhtml-und-a-a-a-weg-damit/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 14:48:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[barrierefreiheit]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[valide]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=167</guid>
		<description><![CDATA[Webseiten sollen nach den Webstandards geschrieben werden. Barriefreiheit ist seit einigen Jahren ein immer verbreiterter Schlachtruf, den vor allem große Websites mittlerweile gerecht werden wollen. Das muss natürlich auch nach außen kommuniziert werden, damit jeder sieht wie gut sie sich doch damit auskennen und, dass sie nun auch &#8220;barrierefrei&#8221; sind. Dazu gehören nicht nur die [...]]]></description>
			<content:encoded><![CDATA[<p>Webseiten sollen nach den Webstandards geschrieben werden. Barriefreiheit ist seit einigen Jahren ein immer verbreiterter Schlachtruf, den vor allem große Websites mittlerweile gerecht werden wollen. Das muss natürlich auch nach außen kommuniziert werden, damit jeder sieht wie gut sie sich doch damit auskennen und, dass sie nun auch &#8220;barrierefrei&#8221; sind. Dazu gehören nicht nur die &#8220;Valid HTML&#8221;-Buttons, denn das reicht heutzutage schon lange nicht mehr.</p>
<h3>Valid-Buttons</h3>
<p>Fangen wir aber damit auch einmal an, mit den schönn Buttons und Links, die zur Validator verlinkt werden, um zu demonstrieren, dass sie valides, sprich fehlerfreies, (X)HTML geschrieben haben.<br />
Das ist schon sehr löblich und ist der erste Schritt zu einer gut geschriebenen Website, mehr aber auch nicht.</p>
<ul class="nachteile">
<li>Es sagt nichts über die Semantik des HTML-Markups aus. Es sagt nur, dass keine Syntax-Fehler (Vergessen ein Tag wieder zu schließen, etc) im Code sind.</li>
<li>Ein User, der sich nicht mit Webdesign auskennt, kann damit nichts anfangen. Wer sich damit auskennt und interessiert daran ist, kontrolliert selbst.</li>
<li>Oft werden zwar die Buttons eingebunden, doch der Validator meckert dann trotzdem. Sehr peinlich.</li>
<li>Wer Seiten mit einem CMS konfiguriert hat und Inhalte nicht selbst verwaltet, sondern ein ahnungsloser Kunde, kann die Fehler nicht vermeiden und diese können sich schnell einschleichen (Ergebnis: Validator meckert).</li>
</ul>
<p>Dieselben Argumente gelten natürlich auch für den CSS-Button, nur, dass es dort viel leichter ist, dass es valide wird.</p>
<h3>Optimized for Internet Explorer 6, Auflösung:&#8230;</h3>
<p>Ein Glück ist dieser Satz, den sicherlich jeder kennt, aus den meisten Websits verschwunden. Mit Recht, mit Recht auch keine weiteren Erwähnungen dazu. Bahh.<br />
Eine Website sollte in jedem Browser und bei jeder Auflösung funktionstüchtig sein!</p>
<h3>Schriftgrössen</h3>
<p>Die Zeit der vielen Buttons ist seit geraumer Zeit jedoch wieder vorbei und es verirren sich nur noch relativ wenige Buttons auf Websites. Dafür hat sich eine neue Spezies aufgemacht, Websites zu verschandeln und unsinnige Aktionen durchzuführen: Schriftgrößen-Anpassungs-Buttons. Alleine der von mir erfundene Name, ist schon abschreckend genug, um verwendet zu werden.</p>
<p>Diesen &#8220;Trend&#8221; machen weniger die privaten Seiten mit, vielmehr die mittelgroßen und auch viele großen Unternehmen mit. Diese Buttons, meist gekennzeichnet mit -A A A+ und in unterschiedlichen Größen, sollen den Usern zeigen, dass sie barrierefrei geworden sind. Ist ja auch sinnvoll: Wem der Text zu klein ist, kann ich durch Klick auf den Button vergrößern, Leute, die Adleraugen haben, können ihn verkleinern. Macht Sinn?</p>
<p>Macht keinen Sinn für Leute, die das wirklich brauchen:</p>
<ul class="nachteile">
<li>User, die Text vergößert haben wollen, werden es bereits schwer genug haben, diese Buttons zu finden.</li>
<li>User, die den Text vergrößert benötigen, haben zumeist eine Sehschwäche, was dann für alle Texten im Internet und am Computer gillt und haben ihren Browser und/oder Computer bereits dafür eingestellt.</li>
<li>Die Unterschiede der Schriftgrößen sind geringfügig, so dass es für die Mehrzahl der betroffenen User ohnehin nichts bringt.</li>
<li>Aus welchem Grunde soll der Text verkleinert werden? Dann ist die vordefinierte Schriftgröße des Designers falsch angelegt.</li>
<li>Oft haben Entwickler, die diese Funktion einbauen, wenig Ahnung von wahrer Barrierefreiheit und somit ist der Rest des Markups, die Kontrastierung der Farben, etc Barrieren und dass für eine größere Benutzeranzahl.</li>
<li>Mitunter ist es sogar so, dass der Entwickler zwar diese Funktion eingebaut hat, jedoch vergessen hat sein Layout dafür auszurichten und somit es das Layout zerschießt.</li>
</ul>
<p>Natürlich stört diese Funktion meistens nicht, sie stellt im Prinzip kein Nachteil dar. Jedoch gibt es keinerlei Grund diese Funktion einzubauen und ist somit unsinnig.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li class="pdf"><a href="/mehr-als-nur-rechtecke.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Der Biene Award" href="http://www.biene-award.de">Biene Award</a></li>
<li><a title="Externer Link: Schönes Design und schlankes Markup" href="http://www.csszengarden.com/tr/deutsch/">CSS-Zen-Garden</a></li>
<li><a title="Externer Link: Statistik aus dem Jahr 2008 über User mit Behinderungen" href="http://www.digital-web.com/articles/understanding_disabilities_when_designing_a_website/">Behinderungen in % (en)</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/11/02/valid-xhtml-und-a-a-a-weg-damit/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Wordpress E-Commerce</title>
		<link>http://tuts.nicogutmann.de/2009/10/23/wordpress-e-commerce/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/23/wordpress-e-commerce/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 13:21:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[shop]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=154</guid>
		<description><![CDATA[Ich muss zugeben: Am Anfang war ich sehr skeptisch was ein Shop-System für Wordpress anging und es hat auch eine Zeit lang gedauert, bis es mich überzeugt hat. Die große Schwierigkeit zu Beginn lag unter anderem daran, dass es im Prinzip keine vernünftige deutsche Website gibt, die einem dieses Plugin näher bringt, auch auf der [...]]]></description>
			<content:encoded><![CDATA[<p>Ich muss zugeben: Am Anfang war ich sehr skeptisch was ein Shop-System für Wordpress anging und es hat auch eine Zeit lang gedauert, bis es mich überzeugt hat. Die große Schwierigkeit zu Beginn lag unter anderem daran, dass es im Prinzip keine vernünftige deutsche Website gibt, die einem dieses Plugin näher bringt, auch auf der offiziellen englischen Website und in der Community gab es wenig. Wie so oft musste man sich das Ganze selbst ansehen und testen, testen, testen.</p>
<h3>Die Sprachbarriere</h3>
<p>Ein großer Nachteil gleich zu Beginn nach der Installation war, dass es alles andere als komplett übersetzt war. Es war zwar möglich die Sprache auf &#8220;deutsch&#8221; zu stellen, doch damit war es auch schon, übersetzt war kaum etwas und was übersetzt wurde, hatte einige Fehler drin.<br />
Somit muss man sich wohl oder übel selbst an die Übersetzung machen, sowohl im Backend, aber hauptsächlich im Frontent, was sehr viel Zeit kostet.</p>
<p>Das Gute war, dass mit Variablen und einer externen Sprach-Datei gearbeitet wird, so dass man sich bei der Übersetzung der Hauptbegrifflichkeiten nur in dieser Sprachdatei aufhalten muss. Die Datei findest du im wp-e-commerce-Plugin-Ordner im Ordner <b>&#8220;languages&#8221;</b>:</p>
<p>wp-content/plugins/wp-e-commerce/languages/DE-de.php</p>
<p>Da nicht alle Variblen dort definiert wurden, musst du dir auch noch die englische Sprachdatei daneben setzen, die ist nämlich komplett definiert. Es ist eine sehr mühsame und zeitaufwendige Arbeit, weshalb ich euch meine Übersetzungsdatei einmal zum <a title="Die deutsche Sprachdatei herunterladen" href="/wordpress/DE_de.zip">Download</a> anbiete.<br />
Diese ist im Prinzip &#8220;neutral&#8221; gehalten, wobei die ein oder andere Variable auf ein bestimmtes Projekt von mir gezielt übersetzt wurde.</p>
<h3>Die wichtigen Dateien</h3>
<p>E-Commerce für Wordpress ist ein sehr gutes Plugin, um kleine Shops in seine Website einzubinden und bietet sehr viel Anpassungsmöglichkeiten und ist aus diesem Grunde sehr flexibel.</p>
<p>Der Ordern-Aufbau ist ähnlich dem von Wordpress himself: Im <b>&#8220;Index&#8221;</b> befinden sich die allgemeinen Variablen und Funktionen, sowie alle Dateien für den Backend-Bereich. Dann gibt es den Ordner <b>&#8220;themes&#8221;</b>, in dem du dir dein eigenes Theme erstellen kannst und die aktuellen natürlich auch bearbeiten. In diesem Ordner kannst du alles für den Frontend-Bereich bearbeiten:</p>
<p>wp-content/plugins/wp-e-commerce/themes/default</p>
<dl>
<dt>cart_widget.php</dt>
<dd>Diese Datei ist sehr übersichtlich aufgebaut, beinhaltet auch nur den Warenkorb, der die Produkte anzeigt, die der User in den Warenkorb gepackt hat. Das Widget kannst du bei den Wordpress-Widgets einstellen.</dd>
<dt>category_widget.php</dt>
<dd>Wenn du einen Shop aufbaust, der aus mehreren Kategorien besteht, kannst du dieses Widget, das dir alle Kategorien auflistet, in dieser Datei bearbeiten.</dd>
<dt>functions.php</dt>
<dd>Das ist nochmal für den Backend: Bei den Shop-Optionen kannst du, je nach Theme, definieren ob und wo die Paginierung erscheint. Zum Anpassen an dein Design ist diese Datei unwichtig</dd>
<dt>grid_ &amp; list_view.php</dt>
<dd>Auch diese Dateien sind im Grunde unwichtig, es sei denn du kaufst dir auf der offiziellen Website von E-Commerce die Funktionen &#8220;Grid View&#8221; und &#8220;List View&#8221;, um deine Produkte ausrichten zu können. Hier werden dafür dann die Einstellungen gespeichert, unwichtig für den normalen Gebrauch.</dd>
<dt>products_page.php</dt>
<dd>Hier beginnt es richtig interessant zu werden: Die Startseite des Shops. Hier werden all deine Produkte (wenn du möchtest) aufgelistet. Den Aufbau und die Details der Ansicht kannst du selbst bestimmen.</dd>
<dt>shopping_cart_page.php</dt>
<dd>Das ist die &#8220;Checkout&#8221;-Seite oder auch die &#8220;Kassen&#8221;-Seite. Zunächst werden die Produkte aufgelistet, die der User gekauft hat mit Bild, der Anzahl und dem Preis. dann auch gleich das Formular für die Lieferadresse und die Zahlunsgart. Hier wird der Kauf fix gemacht.</dd>
<dt>single_product.php</dt>
<dd>Diese Datei beinhaltet die Variablen und das Markup für die Produkt-Seiten, also die Detail-Ansicht für das einzelne Produkt mit dem Preis, den Beschreibungen, den Zusatz-Beschreibungen, der Anzahl, den Versandkosten, etc.</dd>
<p>Das waren die Dateien in dem Theme Ordner. Viel mehr musst du auch nicht wissen, wobei du natürlich noch sehr viel mehr (vor allem im Backend) ändern kannst, in dem du die Dateien im &#8220;Index&#8221; bearbeitest.</p>
<p>Eine Datei, die vielleicht noch wichtig ist, ist die Datei <b>&#8220;transaction_result_functions.php&#8221;</b>, die den Inhalt der Email-Bestätigung und den Text nach dem Kauf definiert. Wer sich mit PHP auskennt wird hier weniger Probleme haben, wer sich nur grob, so viel ich, damit auskennt, sollte auf die Namen der Variablen schauen, die sich in jeder Datei des Plugins ähneln. So findet man sich recht schenll zurecht und kann auch diese Datei ohne Probleme nach seinen Wünschen gestalten.</p>
<h3>Fazit</h3>
<p>Das E-Commerce-Plugin von Wordpress lässt sehr viel Spielraum für die komplette Anpassung an seine Website, man muss aber sich damit erst einmal vertraut machen, dann ist es aber relativ einfach und man kann damit sehr viel anfangen. Leider ist der Shop irgendwie nicht ganz fertig entwickelt worden und vor allem für nicht-englischsprachigen Länder nur nach vielen Umstellungen zu gebrauchen.<br />
Der Shop bietet sehr viele Möglichkeiten, wobei diese im Vergleich zu einem kompletten Shopsystem, wie xtCommerce natürlich nur bedingt mithalten kann, aber auch nur dann, wenn es ein sich um ein komplexen Shop handelt.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/wordpress/e-commerce.pdf">Artikel als PDF</a></li>
<li><a href="/wordpress/DE_de.zip">Deutsche Sprachdatei</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Offizielle Website für das Shop-Plugin auf Englisch" href="http://www.instinct.co.nz/e-commerce/">Offizielle Website</a></li>
<li><a title="Externer Link: Weitere E-Commerce-Plugins für Wordpress" href="http://playground.ebiene.de/1787/wordpress-ecommerce-loesungen/">Shopsysteme</a></li>
<li><a title="Externer Link: Eine weitere deutsche Sprachdatei für das Plugin" href="http://www.ecover-webdesign.com/wordpress-e-commerce-plugin-368-deutsche-sprachdatei/">Weitere Sprachdatei</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/23/wordpress-e-commerce/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Ich versteh&#8217; nur Bahnhof</title>
		<link>http://tuts.nicogutmann.de/2009/10/19/ich-versteh-nur-bahnhof/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/19/ich-versteh-nur-bahnhof/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 13:32:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Barrieren]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Semantik]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=139</guid>
		<description><![CDATA[Diesen Spruch kennt wohl jeder von euch. Man verwendet den Spruch gerne, wenn einer in einer fremden Sprache spricht und/oder, wenn ein Physiker über den Doppler-Effekt spricht: Wir verstehen nichts! Kommunikationsprobleme kommen in jeder Sprache, in jeder Kultur und auch in den besten Familien vor: Der Mensch versteht die Sprache der Tiere nicht, der Mann [...]]]></description>
			<content:encoded><![CDATA[<p>Diesen Spruch kennt wohl jeder von euch. Man verwendet den Spruch gerne, wenn einer in einer fremden Sprache spricht und/oder, wenn ein Physiker über den Doppler-Effekt spricht: Wir verstehen nichts! Kommunikationsprobleme kommen in jeder Sprache, in jeder Kultur und auch in den besten Familien vor: Der Mensch versteht die Sprache der Tiere nicht, der Mann die Frau nicht und umgekehrt und der Hochdeutsche versteht kein Wort bayrisch.</p>
<h3>Bedeutung des Wortes</h3>
<p>Semantik nennt man die Bedeutungslehre der Wörter. Wenn ich<em> &#8220;Bahnhof&#8221;</em> schreibe, kann sich jeder sofort ein visuelles Bild davon machen und kann es sofort zuordnen. Wenn ich nun aber z.B. nur das Wort aus der deutschen Sprache kenne und aufgefordert werde einen Satz zu bilden, dann hört sich das so an:<br />
<q>Bahnhof, Bahnhof, Bahnhof, Bahnhof, Bahnhof, Bahnhof, Bahnhof.</q><br />
Vielleicht wollte er ja das hier sagen, kannte die Worte aber nicht, weil er sich mit der deutschen Sprache bislang nicht auseinandergesetzt hat, obwohl er berits seit geraumer Zeit in Deutschland lebt:<br />
<q>Ich fahre heute Nachmittag zum Bahnhof, um einen Freund abzuholen.</q><br />
Hier weiß jeder genau was gemeint ist. Jedes Wort hat eine Bedeutung und richtig zusammengebracht ergibt das eine sinnvolle Information, die man verarbeitet und versteht.<br />
Nun hat sich der gute Mann natürlich der Kritik angenommen und ein wenig Deutsch gelernt:<br />
<q>um Bahnhof abzuholen einen ich fahre Freund.</q><br />
Ich verstehe die einzelnen Wörter, kann jedes einzelne für sich verstehen. Zusammengebracht zu diesem Satz machen die Begriffe an den Stellen aber gar keinen Sinn und ich verstehe den Satz auch nicht, könnte mir evtl. vorstellen, was es bedeuten könnte, wenn in dem Gespräch die ganze Zeit über dieses Thema gesprochen.</p>
<h3>Der naive Webdesigner</h3>
<p>Was hat das nun mit Webdesign und Webstandards zu tun? Bleiben wir bei dem Beispiel von oben und transformieren das in die HTML-Sprache: Anstelle des Bahnhofs nehmen wir nun eine Tabelle <i>&#8220;&lt;table&gt;&#8221;</i>.<br />
Jeder versteht den Begriff, kann sich über seine Form und seine Bedeutung ein Bild machen. Nehmen wir einmal den guten Mann und ersetzen ihn durch einen Webdeveloper, der kaum ein Wort &amp;quotHTML&#8221; spricht, nur einmal was von Tabellen gehört hat, dass er aus dem Lexikon (Dreamweaver) oder von einem Freund kennt.<br />
<q>&#8220;Damit kann man doch gut arbeiten.&#8221; Denkt er sich.</q><br />
Also baut er es fröhlich in seine Website ein bzw. baut sie damit auf. Ist doch ganz praktisch: Tabellen kann man schön für alles verwenden, funktioniert und jeder sieht die Website und kann die Inhalt lesen.<br />
Jeder? Greifen wir das Beispiel von oben nocheinmal auf. Dieser junge Mensch versucht mir zu erklären, dass er einen Freund vom Bahnhof abholen wird. Mit Wörtern kann er es leider (noch) nicht, also versucht er es mir pantomimisch darzulegen. Die Zeichensprache ist immerhin in so gut wie jedem Land veständlich, zu Not kann man es noch aufzeichnen. <b>Es funktioniert und ich verstehe ihn.</b><br />
Klappt mit ihm, dann klappt es auch mit allen anderen auf der Welt und ich brauche die Sprache gar nicht zu lernen, da ich mich ja auch so verständlich machen kann.</p>
<h3>Wir schließen dich aus</h3>
<p>Was ist aber mit Leuten, die andere Zeichen verwenden, andere Bedeutungen dafür haben bzw. in der Websprache, was ist mit den Usern, die Browser verwenden, in der die Website nicht ehr so toll aussieht, Busg enthält oder einfach den fehlerhaften Code richtig interpretieren, also falsch darstellen?<br />
Was ist mit den Usern, die andere Arten von Browsern benutzen, weil sie körperlich oder geistig nicht mit der Standard-Software arbeiten können, sich natürlich trotzdem im Web aufhalten?<br />
Was ist mit den Robots, die sich durch den Code quälen, um deine Website in den Suchmaschinen dieser Welt aufnehmen möchten?<br />
Alleine sind sie vielleicht nur ein Prozentsatz der Besucher auf einer Website, zusammen aber ergeben sie eine relevante Gruppe an Usern, die auf deine Website keinen oder nur <em>bedingten Zugriff</em> haben und so auch noch im Web benachteiligt werden, wo es doch &#8220;für alle&#8221; da ist.</p>
<h3>Jeder &lt;Tag&gt; hat seine Bedeutung</h3>
<p>Aus diesen Gründen und noch mehr (Übersichtlichkeit, kleinere Dateien, Nachhaltigkeit) ist es sinnvoll semantisches HTML-Markup zu schreiben. <strong>Was bedeutet das?</strong><br />
Jeder Tag, jedes HTML-Element hat eine Bedeutung, an die man sich orientieren sollte und dann sinnvoll einsetzen. Es gibt Tags für Überschriften (h1-h6), für Paragrafen (p), für Tabellen (table), für Divisionen (div). Eine Seiten-Navigation ist eine, zumeist ungeordnete, Liste (ul, ol), &#8220;label&#8221; kennzeichen das folgende Eingabefeld in Formularen, aus Texten hebt man Wörter mit dem &#8220;em&#8221;-Tag oder dem &#8220;strong&#8221;-Tag hervor, Zitate werden mit &#8220;blockquote&#8221; oder dem &#8220;q&#8221;-Tag gekennzeichnet.<br />
Es gibt sie, also benutze sie auch sinnvoll. Verwende sie nicht im Übermaß, du brauchst nicht jedes Element mit einem &#8220;div&#8221; umschließen und nicht komplett auf Tabellen verzichten. Jedes Element hat seine Bestimmung, wenn man auch ab ud zu etwas mehr darüber nachdenken muss und es nicht immer eine richtige Lösung gibt bzw. eine optimale Lösung.<br />
Mach dich verständlich im Web, damit deine wertvolle Website auch jeder besuchen kann und genießen kann. Es liegt an dir <img src='http://tuts.nicogutmann.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/semantik-im-web.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Vorsprung durch Webstandards: Semantischer Code" href="http://www.vorsprungdurchwebstandards.de/theory/semantischer-code/">Semantischer Code</a></li>
<li><a title="Externer Link: Informationen zum Begriff der Semantik" href="http://www.spectrum.uni-bielefeld.de/Classes/Summer98/Grundkurs98/Vorlesung/grundkursvorlesung/node11.html">Semantik</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/19/ich-versteh-nur-bahnhof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lupe raus: Mikroformate</title>
		<link>http://tuts.nicogutmann.de/2009/10/19/lupe-raus-mikroformate/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/19/lupe-raus-mikroformate/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 12:40:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTML-Tutorials]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[mikroformate]]></category>
		<category><![CDATA[Semantik]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=127</guid>
		<description><![CDATA[Der neue Star am HTML-Himmel gibt es schon seit einiger Zeit, hat es aber bislang nicht auf die großen Bühnen der Welt geschafft &#8211; zu unrecht. Mikroformate sind vor allem für Maschinen interessant, die sich durch das Markup robben, auf der Suche nach semantischen Auszeichnungen, um den Inhalt zu verstehen. Dafür gibt es natürlich sehr [...]]]></description>
			<content:encoded><![CDATA[<p>Der neue Star am HTML-Himmel gibt es schon seit einiger Zeit, hat es aber bislang nicht auf die großen Bühnen der Welt geschafft &#8211; zu unrecht. Mikroformate sind vor allem für Maschinen interessant, die sich durch das Markup robben, auf der Suche nach semantischen Auszeichnungen, um den Inhalt zu verstehen. Dafür gibt es natürlich sehr viele HTML-Tags, die den Inhalt gut beschreiben, leider gibt es mehr inhaltliche Varianzen, als es HTML-Tags gibt. HTML 5 wird dem in einiger Zeit ein weiteres Stück entgegen wirken, doch dies noch lange nicht vollständig.</p>
<h3>Sinn und Zweck</h3>
<p>Aus diesem Grunde wurden Mikroformate entwickelt, damit Maschinen (Robots, Software-Programme oder auch das IPhone) die Inhalte besser &#8220;verstehen&#8221; können und für sich nutzen können. Damit kann man nicht nur Suchmaschinen-Robots beeinflussen, sondern auch Inhalte in andere Programme speichern, wie z.B. Kontaktdaten in Outlook reinkopieren oder eine Telefonnumer mit dem IPhone direkt anrufen lassen.<br />
Es gibt noch einiges mehr, was man damit anstellen kann, ich gehe in meinem Artikel jedoch nur kurz darauf ein, denn es ist ein riesiges, aber sehr spannendes Thema (Mehr dazu in der Linksammlung).<br />
Da mehrere Programme und Software mit diesen Mikroformaten arbeiten wollen, gibt es inoffizielle Spezifikationen und Namen, die verwendet werden können. Diese Liste wird ständig fortgeführt und haben, da Mikroformate auch international einheitlich sein sollen, englische Namen (microformats).</p>
<h3>hCard (vCard)</h3>
<p>Es gibt, wie bereits oben geschrieben, unterschiedliche Gebiete Mikroformate zu verwenden. Für einzelne Personen ist die Visitenkarte das Hauptkommunikationsmittel, um seine Kontaktdaten an den Mann zu bringen. Diese gibt es nun nicht nur als gedruckte Version auf Papier, sondern, dank der Mikroformate, auch im Web &#8211; hCards (HTML-Cards) oder vCards (Visit Card).<br />
Dabei ist die Einbindung in das HTML-Markup ziemlich einfach; Wir arbeiten einfach mit Klassen und geben den Begriffen smoit auch für Maschinen eine Bedeutung. Maschinen können mit einer Adresse wenig anfangen und alleine durch den address-Tag wissen sie überhaupt, dass es sich um eine Adresse handelt. Doch können Sie nicht denken und somit erkennen Sie auch nicht, was in diesem Address-Tag steht:</p>
<p><code class="html">&lt;address&gt;<br />
Nico Gutmann&lt;br /&gt;<br />
Mustertraße 12&lt;br /&gt;<br />
12345 Musterstadt<br />
Tel.: 01234 / 56789<br />
Email: max@nicogutmann.de<br />
&lt;/address&gt;</code></p>
<p>Die Maschinen erkennen nun, dass es sich um eine Adresse handelt, abernicht um was für eine Adresse und sie erkennen nicht den Inhalt der Adresse. Wo ist der Name, was ist die Straße und der Ort? Es wird nicht definiert.<br />
Hier kommen die Mikroformate ins Spiel. Durch Sie können wir nun den Maschinen erklären was wir genau meinen, in dem wir ihnen eine Klasse zuweisen:</p>
<p><code class="html">&lt;address class="<b>vcard</b>"&gt;<br />
&lt;span class=&quot;<b>fn</b>&quot;&gt;Nico Gutmann&lt;/span&gt;&lt;br /&gt;<br />
&lt;span class=&quot;<b>street-address</b>&quot;&gt;Mustertraße 12&lt;/span&gt;&lt;br /&gt;<br />
&lt;span class=&quot;<b>postal-code</b>&quot;&gt;12345&lt;/span&gt; &lt;span class="<b>locality</b>"&gt;Musterstadt&lt;/span&gt;<br />
Tel.: &lt;span class=&quot;<b>tel</b>&quot;&gt;01234 / 56789&lt;/span&gt;&lt;br /&gt;<br />
Email: &lt;span class=&quot;<b>email</b>&quot;&gt;max@nicogutmann.de&lt;/span&gt;<br />
&lt;/address&gt;<br />
</code></p>
<p>vcard, fn, street-address, zip-code und locality sind feste Namen für Mikroformate und definieren die Adresse nun sehr konkreter, wodurch nun auch z.B. Outlook diese einzelnen Felder als solche erkennt. Eine Liste von allen Namen findest du auf <a href="http://www.mikroformate.de" title="Externer Link: Die offizielle deutsche Website zu Mikroformaten">www.mikroformate.de</a>.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/mikroformate.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Offizielle Website zu Mikroformaten auf Englisch" href="http://www.microformats.org">Microformats.org (en)</a></li>
<li><a title="Externer Link: Deutsche Website zu Mikroformaten" href="http://www.mikroformate.de">Mikroformate.de</a></li>
<li><a title="Externer Link: Webdeveloper-Addon für den Mozilla Firefox" href="http://www.webkrauts.de/2006/12/16/mikroformate/">Webkrauts zu Mf</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/19/lupe-raus-mikroformate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alles auf Anfang</title>
		<link>http://tuts.nicogutmann.de/2009/10/14/alles-auf-anfang/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/14/alles-auf-anfang/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 11:48:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS-Tutorials]]></category>
		<category><![CDATA[Abstände]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Selektor]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=104</guid>
		<description><![CDATA[CSS-Reset, Alles-auf-Null-setzen, alle-Abständen-zurücksetzen. Man kann nennen wie man lustig ist, jeder meint dasselbe: Wir geben jedem Browser dieselbe Ausgangssituation, so dass browserspezifische Probleme eingeschränkt werden. Dieses Reset sollte man bei jedem Projekt zu Beginn definieren. Er wird auf jeder guten CSS-basierten Website zu finden sein und erleichtert die Arbeit, auch wenn es Am Anfang vielleicht [...]]]></description>
			<content:encoded><![CDATA[<p>CSS-Reset, Alles-auf-Null-setzen, alle-Abständen-zurücksetzen. Man kann nennen wie man lustig ist, jeder meint dasselbe: Wir geben jedem Browser dieselbe Ausgangssituation, so dass browserspezifische Probleme eingeschränkt werden. Dieses Reset sollte man bei jedem Projekt zu Beginn definieren. Er wird auf jeder guten CSS-basierten Website zu finden sein und erleichtert die Arbeit, auch wenn es Am Anfang vielleicht nicht den Anschein hat.</p>
<h3>Einen Schritt zurück</h3>
<p>Bevor wir mit der Technik anfangen (runterscrollen ist unfair), noch ein Vorwort zu den Gründen für ein Reset bzw. zur Begriffserklärung:<br />
Schau dir einmal meine Startseite ohne CSS-Datei an, komplett nackt, das reine Skelett:</p>
<p><img src="/imgs/html-skelett.png" alt="" /><br />
Wie man sieht, sieht es nicht gerade schön aus, aber dennoch übersichtlich und man kann sich gut orientieren. Überschriften sind größer und deutlicher als der Fließtext, Listen sind mit Listenpunkten gekennzeichnet, Links sind blau markiert und unterstrichen, und es werden Abstände eingehalten, damit es übersichtlich bleibt.<br />
Was würde passieren, wenn diese Einstellungen nicht vordefiniert wären und man kein CSS anzeigen lassen kann?</p>
<p><img src="/imgs/html-skelett-ohne.png" alt="" /><br />
Sehr unübersichtlich und unmöglich richtig zu verstehen, oder? Aus diesem Grund haben diese Voreinstellungen durchaus ihren Sinn und müssen von den Browser-Programmierer eingebaut werden.</p>
<h3>Ein Browser kommt selten allein</h3>
<p>Nun ist es leider so, dass es nicht nur einen Browser gibt, mit dem man sich eine Website ansehen kann, es gibt gleich ein halbes Dutzend. Und natürlich sprechen sich die Entwickler der einzelnen Browser nicht ab und so hat jeder Browser andere Einstellungen. Auf den ersten Blick vielleicht nicht sichtbar, aber spätestens wenn du anfängst mit CSS zu layouten, werden diese kleinen Unterschiede richtig sichtbar und für Ärger sorgen.</p>
<h3>Das Reset</h3>
<p>Um diesen Ärger einzugrenzen bzw. ganz zu vermeiden, ist es sehr sinnvoll diese Voreinstellungen zu egalisieren, sprich zu eliminieren. Durch Erfahrungen und Ausprobieren weiß man nun welche Voreinstellungen es gibt und welche man demnach auf Null setzen muss. Das muss man nicht auswendig lernen, man bekommt irgendwann ein Gespür dafür bzw. lernt diese von Zeit zu Zeit kennen.<br />
Nun gibt es zwei Grundgerüste, die verwendet werden, die das gleiche machen, aber unterschiedliche Selektoren verwenden. Um einen Überblick über alle vordefinierten Eigenschaften zu bekommen, kann man dieses CSS hier verwenden:</p>
<p><code class="css"><b>html, body, div, span, applet, object, iframe,<br />
h1, h2, h3, h4, h5, h6, p, blockquote, pre,<br />
a, abbr, acronym, address, big, cite, code,<br />
del, dfn, em, font, img, ins, kbd, q, s, samp,<br />
small, strike, strong, sub, sup, tt, var,<br />
dl, dt, dd, ol, ul, li,<br />
fieldset, form, label, legend,<br />
table, caption, tbody, tfoot, thead, tr, th, td</b> {<br />
&nbsp;&nbsp;&nbsp;margin: 0;<br />
&nbsp;&nbsp;&nbsp;padding: 0;<br />
&nbsp;&nbsp;&nbsp;border: 0;<br />
&nbsp;&nbsp;&nbsp;outline: 0;<br />
&nbsp;&nbsp;&nbsp;font-weight: inherit;<br />
&nbsp;&nbsp;&nbsp;font-style: inherit;<br />
&nbsp;&nbsp;&nbsp;font-size: 100%;<br />
&nbsp;&nbsp;&nbsp;font-family: inherit;<br />
&nbsp;&nbsp;&nbsp;vertical-align: baseline<br />
}<br />
<span><b>:focus</b> {<br />
&nbsp;&nbsp;&nbsp;outline: 0;<br />
}</span><br />
<span><b>body</b> {<br />
&nbsp;&nbsp;&nbsp;line-height: 1;<br />
&nbsp;&nbsp;&nbsp;color: black;<br />
&nbsp;&nbsp;&nbsp;background: white<br />
}</span><br />
<span><b>ol, ul</b> {<br />
&nbsp;&nbsp;&nbsp;list-style: none<br />
}</span><br />
<span><b>table</b> {<br />
&nbsp;&nbsp;&nbsp;border-collapse: separate;<br />
&nbsp;&nbsp;&nbsp;border-spacing: 0<br />
}</span><br />
<span><b>caption, th, td</b> {<br />
&nbsp;&nbsp;&nbsp;text-align: left;<br />
&nbsp;&nbsp;&nbsp;font-weight: normal<br />
}</span><br />
<span><b>blockquote:before, blockquote:after,<br />
q:before, q:after</b> {<br />
&nbsp;&nbsp;&nbsp;content: ""<br />
}</span><br />
<span><b>blockquote, q</b> {<br />
&nbsp;&nbsp;&nbsp;quotes: "" ""<br />
}</span><br />
</code></p>
<p>Das ist aber sehr umfangreich und meist ist es auch nicht notwendig so umfangreich zu werden (Bei großen Projekten mit mehreren Programmierer schon eher). Davon gibt es dann noch eine abgespeckte Variante, die einfach alle Selektoren aufruft, die Voreinstellungen besitzen. Nicht jeder Selektor besitzt dabei alle Eigenschaften, aber das macht ja nichts:</p>
<p><code class="css"><b>html, body, div, span, applet, object,<br />
h1, h2, h3, h4, h5, h6, p, blockquote, pre,<br />
a, abbr, acronym, address, cite, code,<br />
del, dfn, em, img,b, i, q,<br />
small, strike, strong,<br />
dl, dt, dd, ol, ul, li,<br />
fieldset, form, label, legend,<br />
table, caption, tbody, tfoot, thead, tr, th, td</b> {<br />
&nbsp;&nbsp;&nbsp;margin: 0;<br />
&nbsp;&nbsp;&nbsp;padding: 0;<br />
&nbsp;&nbsp;&nbsp;border: 0;<br />
&nbsp;&nbsp;&nbsp;list-style: none;<br />
&nbsp;&nbsp;&nbsp;outline: 0;<br />
&nbsp;&nbsp;&nbsp;font-style: normal<br />
}<br />
</code></p>
<p>Dann gibt es noch eine Variante, die ich persönlich verwende und viele andere auch, da sie kurz und schmerzlos ist und all die Selektoren, die oben aufgelistet wurden, vereint: Der Univeralselektor * (Sternchen). Damit definiert man, wie der Namensteil &#8220;Universal&#8221; bereits ankündigt, Eigenschaften für alle Selektoren, unabhängig davon, ob sie vererbbare Elemente sind, oder nicht. Diese Eigenschaften, die dort definiert werden, gelten für alle Selektoren und werden in allen Browsern, die noch im Einsatz sind, verstanden:</p>
<p><code class="css"><b>*</b> {<br />
&nbsp;&nbsp;&nbsp;margin: 0;<br />
&nbsp;&nbsp;&nbsp;padding: 0;<br />
&nbsp;&nbsp;&nbsp;border: 0;<br />
&nbsp;&nbsp;&nbsp;list-style: none;<br />
&nbsp;&nbsp;&nbsp;outline: 0;<br />
&nbsp;&nbsp;&nbsp;font-style: normal<br />
}<br />
</code></p>
<h3>Was denn nun?</h3>
<p>Es ist also vollkommen egal, welche Variante des Resets du verwendest, es kommt immer auf das Gleiche heraus: Alle Voreinstellungen werden eliminiert. Meistens ist es gar nicht notwendig alle Voreinstellungen zurückzustellen, somit ist dann die kürzere Variante sinnvoller.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/css-reset.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: CSS-Reset von Eric Meyer auf Englisch" href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded">Eric Meyers Reset (en)</a></li>
<li><a title="Externer Link: Sammlung von CSS-Reset-Varianten" href="http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles">Reset-Sammlung (en)</a></li>
<li><a title="Externer Link: Weitere Informationen zum Universalindikator" href="http://www.thestyleworks.de/ref/se_universal.shtml">Der Universalselektor</a></li>
<li><a title="Externer Link: Webdeveloper-Addon für den Mozilla Firefox" href="https://addons.mozilla.org/en-US/firefox/addon/60">Firefox-AddOn</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/14/alles-auf-anfang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mach es kurz und knackig</title>
		<link>http://tuts.nicogutmann.de/2009/10/09/mach-es-kurz-und-knackig/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/09/mach-es-kurz-und-knackig/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 13:26:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTML-Tutorials]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Semantik]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=96</guid>
		<description><![CDATA[DIVities, Diviät, Div-Suppen, man kennt die Begriffe. Es beschreibt auf sarkastische Art und Weise, dass man zu viele Divisionen (Div-Tags) für sein Markup verwendet bzw. für alles Mögliche. Das ist ein Extrem, es gibt aber auch Entwickler, die ihre Seite semantisch korrekt deklarieren (Menu als Liste, Überschriften in h-Tags, etc) und trotzdem eine Div-Suppe fabrizieren, [...]]]></description>
			<content:encoded><![CDATA[<p>DIVities, Diviät, Div-Suppen, man kennt die Begriffe. Es beschreibt auf sarkastische Art und Weise, dass man zu viele Divisionen (Div-Tags) für sein Markup verwendet bzw. für alles Mögliche. Das ist ein Extrem, es gibt aber auch Entwickler, die ihre Seite semantisch korrekt deklarieren (Menu als Liste, Überschriften in h-Tags, etc) und trotzdem eine Div-Suppe fabrizieren, zumindest in Vorspeise-Größe.<br />
Der Sinn und Zweck von Divisionen (div) ist mittlerweile in Vergessenheit geraten und es ist fast schon Standard geworden jedem Bereich von Header über den Inhalt bis zur Site-Info (Footer) in ein Div-Tag zu packen:<br />
<code class="html">&lt;div id=&quot;<b>header</b>&quot;&gt;&lt;/div&gt;<br />
&lt;div id=&quot;<b>inhalt</b>&quot;&gt;&lt;/div&gt;<br />
&lt;div id=&quot;<b>site-info</b>&quot;&gt;&lt;/div&gt;<br />
</code><br />
Das erscheint in erster Linie nun nicht verkehrt, ist es aber zumeist, wenn man bedenkt, dass sich in dem Div <i>#header</i> zumeist nur eine Überschrift befindet bzw. das Logo in einem zusätzlichen h-Tag.</p>
<h3>Der Zweck von Divisionen</h3>
<p>Erst einmal zurück zum Begriff der Division: Ein div-Tag wurde entwickelt, um mehrere Objekte die inhaltlich zusammengehören, in direkte Verbindung miteinander zu setzen, ein Beispiel hierfür wäre ein simpler Text mit mehreren Zwischenüberschriften, die aber einem Grundthema angehören. Dieser Artikel beispielsweise:<br />
<code class="html">&lt;div class=&quot;<b>textbox</b>&quot;&gt;<br />
&lt;h2&gt;Mach es kurz und knackig&lt;/h2&gt;<br />
&lt;p&gt;DIVities, Diviät, Div-Suppen, man kennt die Begriffe...&lt;/p&gt;<br />
&lt;h3&gt;Mach es kurz und knackig&lt;/h3&gt;<br />
&lt;p&gt;Erst einmal zurück zum Begriff der Division:...&lt;/p&gt;<br />
&lt;/div&gt;<br />
</code><br />
Der Artikel behandelt ein Thema und kann bzw. sollte auch im Markup als zusammenhängender Text verstanden werden. Gehen wir zurück zu dem Beispiel mit dem <b>#header</b> und sehen uns ein Beispiel an, wie viele diesen (hier vereinfacht gezeigt) deklarieren:<br />
<code class="html">&lt;div id=&quot;<b>header</b>&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;h1&gt;Ich bin eine Überschrift&lt;/h1&gt;<br />
&lt;/div&gt;<br />
</code><br />
Die Division <b>#header</b> besitzt ein einziges Element und wird vermutlich nur sehr selten mehr enthalten. Hier ist ein div-Tag total überflüssig und sollte weggelassen werden.<br />
Ähnlich verhält es sich auch mit Navigationen, die im Prinzip ja zumeist nur aus einer Liste bestehen:<br />
<code class="html">&lt;ul id=&quot;<b>navi</b>&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&gt;Menupunkt&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&gt;Menupunkt&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&gt;Menupunkt&lt;/li&gt;<br />
&lt;/ul&gt;<br />
</code><br />
Auch hier wird oft noch ein Div herumgebastelt, was eben nicht seinen ürsprünglichen Zweck erfüllt, sondern aus anderen (meist gar keinen) Gründen gebaut wird. Weg damit, wenn es nicht unbedingt gebraucht wird!</p>
<h3>Eine kluge Vorransgehensweise</h3>
<p>Ich glaube und hoffe, dass das Prinzip nun verstanden wurde, sonst hätte ich auch noch ein paar Beispiele im Ärmel <img src='http://tuts.nicogutmann.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .<br />
Ich schreibe mein HTML-Markup nach semantischen Aspekten, soweit nichts Neues. Dabei achte ich nicht auf das Layout, sondern ganz alleine auf den Inhalt, somit kommen bei mir Div-Tags zunächst überhaupt nicht oder ganz selten zum Einsatz. Wenn ich das semantische Markup geschrieben habe, sehe ich mir alle noch einmal an und versuche Elemente, die zusammengehören, zu verknüpfen und stecke sie in ein gemeinsames Objekt, dem Div.<br />
Somit komme ich nicht in Versuchung Divities auszulösen und alles in so einen Tag zu setzen, sondern verwende es nur, wenn es für mich sinnvoll erscheint, wodurch man nicht nur viel Bytes und Zeit spart, sondern auch eine stärkere Übersicht erhält.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/kurz-und-knackig.pdf" title="PDF downloaden">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: W3C-Schule zum div-Tag auf Englisch" href="http://www.w3schools.com/tags/tag_DIV.asp">Der Div-tag (en)</a></li>
<li><a title="Externer Link: In dem Blog geht es auch um Div-Suppen" href="http://webstandard.kulando.de/post/2005/11/04/div_wahnsinn_div_suppe_oder_div_chaos_-_wie_kann_man_es_vermeiden">Div-Suppen</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/09/mach-es-kurz-und-knackig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS 2.1 &#8211; Zurück in die Zukunft</title>
		<link>http://tuts.nicogutmann.de/2009/10/08/css-2-1-zuruck-in-die-zukunft/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/08/css-2-1-zuruck-in-die-zukunft/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 13:53:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS-Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[selektoren]]></category>
		<category><![CDATA[zukunft]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=79</guid>
		<description><![CDATA[Das wird hier wohl kein langer Artikel, aber es soll aufzeigen, dass viele Webentwickler sich dank der, nennen wir es einmal, langsam Vorranschreitung des Internet Explorers aus dem Hause Microsoft nicht herantrauen CSS in seinen vollen Zügen einzusetzen. Dabei spreche ich nicht von CSS 3, auf das ich mich schon sehr freue, sondern von dem [...]]]></description>
			<content:encoded><![CDATA[<p>Das wird hier wohl kein langer Artikel, aber es soll aufzeigen, dass viele Webentwickler sich dank der, nennen wir es einmal, langsam Vorranschreitung des Internet Explorers aus dem Hause Microsoft nicht herantrauen CSS in seinen vollen Zügen einzusetzen. Dabei spreche ich nicht von CSS 3, auf das ich mich schon sehr freue, sondern von dem im Jahre 1999 entwickelten CSS 2.1.<br />
Ja, die offiziell aktuelle CSS-Version gibt es schon eine gefühlte Ewigkeit und trotzdem kann man sie nicht in vollen Zügen einsetzen, oder? Auf diese Frage gibt es ein eindeutiges: Jein.</p>
<h3>Der IE6 ist noch unter uns</h3>
<p>Fakt ist leider immer noch, dass der Internet Explorer 6 noch relevant ist, wenn es darum geht sine Website in Browsern zu testen, das wird sich wohl auch im Jahre 2010 noch nich ändern bzw. nur geringfügig. Fakt ist aber auch, dass wir uns aus diesem Grunde nicht in Richtung Zukunft orientieren sollten, ganz im Gegenteil. Es geht nur darum wie wir es machen.<br />
Es gibt recht viele Selektoren, Pseuoklassen und Eigenschaften in CSS 2.1, die der IE6 nicht versteht, seine Nachfolger Nummer 7 und 8 hingegen schon, die Browser, wie Firefox, Safari, Chrome oder Opera natürlich allemal (Safari kann sogar schon CSS 3 in seiner neuesten Version). Diese Selektoren/Pseudoklassen können trotzdem verwendet werden, ohne die Seiten für den IE 6 auszuschließen.</p>
<h3>Keine Gleichheit für Alle</h3>
<p>Form follows Function, diesen Leitsatz sollte sich jeder hinter die Ohren oder noch besser vor seinen Arbeitscomputer schreiben. Eine Website muss in erster Linie funktionieren, ohne Einschränkungen, ohne Barrieren (Barrierefreiheit), über das Aussehen lässt sich bekanntlich immer streiten. Um die Kurve zu meinem Leitzsatz &#8220;Benutz CSS 2.1&#8243; wieder zu bekommen, sage ich: Eine Website muss nicht in jedem Browser pixelgenau gleich aussehen und ein User, der mit einer alten Technik unterwegs ist, sollte nicht dafür auch noch belohnt werden. Das Wichtige ist: Die Website behält seine Grundstruktur, behält seine Idee und seine Seele.<br />
<img src="/imgs/tagesschau-vergleich.png" alt="" /><br />
Ich hatte früher einen Schwarz-Weiß-Fernseher, der Rest in meiner Straße und fast alle in meinem Dorf hatten einen Farbfernseher. Manche hatten einen mit 50 Zentimetern Durchmesser, andere mit 40, ich mit knappen 30 Zentimeter. Um 20:00 Uhr haben alle die Tagesschau gesehen und wir haben sie alle empfangen und den gleichen Informationsgehalt empfangen, nur ich eben nicht mit den ganzen schönen Farben und ein wenig gequetschter bzw. sehe die Moderatorin evtl. nicht ganz. Glaubst du das Erste hätte, nur weil ein paar Leute noch mit S/W-Fernseher unterwegs waren, ihre Sendungen ebenfalls in schwarz-weiß gezeigt, damit alle es genau gleich sehen und keiner bevorteilt wurde, aus gestalterischen Gesichtspunkten?</p>
<h3>Kenne deinen Feind</h3>
<p>Nun sollte man nicht einfach drauflos schreiben und sich nicht mehr um die User, die mit einem älteren Modell unterwegs sind, kümmern, das wäre der falsche Weg. Man muss aber seinen Feind kennen, wie man so schön sagt, und auf ihn reagieren.<br />
Lange Rede immer sehr viel Sinn: CSS 2.1 kann man sehr gut verwenden, wenn dadurch keine Schäden in der Usability und im Informationsgehalt entstehen, die so erheblich sind, dass der User sich nicht mehr zurecht findet, wichtige Informationen nicht mehr erhalten kann oder die Seite gar nicht mehr bedienen kann.</p>
<h3>CSS 2.1: Einige sinnvolle Selektoren</h3>
<p>Wovon rede ich denn nun genau? Welche Selektoren kann ich benutzen, welche Pseuoklassen gibt es denn, die der IE 6 nicht versteht, dennoch verwendet werden könnten? Ich selbst verwende für diese Tutorial-Seite einige davon, weil sie einfach praktisch sind:</p>
<h4>Pseudoklasse :after</h4>
<p>Die Pseudoklasse :after versteht auch der IE 7 nicht und fügt einfach Eigenschaften, die man dafür definiert, hinzu, nachdem das Objekt geschlossen wurde ohne zusätzlichem Markup.<br />
Hier kann man super Hintergrundbilder zusätzlich einbinden, da es bislang nicht möglich ist einem Objekt mehr als ein Hintergrundbild zuzuweisen. Das ändert sich in CSS 3 zum Glück.<br />
<code class="css"><strong>.info-box:after</strong> {<br />
content:"";<br />
display:block;<br />
width:224px;<br />
height: 45px;<br />
background: url(imgs/beitrag_fusszeile-rechts.png);<br />
}</code></p>
<h4>Pseudoklasse :before</h4>
<p>Ähnlich verhält es sich mit :before, nur das das Definierte eben vor dem Objekt in Erscheinung tritt. Auch das habe ich auf dieser Website verwendet und zwar die Überschriften für die Codes, wie CSS-Code, etc:<br />
<code class="css"><strong>code:before</strong> {<br />
display: block;<br />
height: 15px;<br />
color: white;<br />
position: absolute;<br />
top: -10px;<br />
left: 10px;<br />
background: black url(imgs/bg-code.gif) 3px center no-repeat;<br />
padding: 2px 5px 2px 20px;<br />
content: "CSS-Code:";<br />
}<br />
</code></p>
<h4>Content-Eigenschaft</h4>
<p>Wie vielleicht schon aufgefallen ist, verwende ich die Eigenschaft content in diesen Selektoren. Diese Eigenschaft ist auch nur dort anwendbar und mit ihr kann man dem Objekt Inhalt verpassen. Das geht von einem einzigen Punkt bishin zu einem Bild (nicht für den IE bis einschließlich 8).</p>
<h4>Attributselektoren</h4>
<p>Attributselektoren sind eine feine Sache und können verdammt viel Arbeit erleichtern und Markup sparen. Mit ihnen kann man Attribute wie alt,type,class,id,name,href, etc direkt per CSS ansprechen und Objekten, die diese Attribute besitzen individuell ansprechen.<br />
Das ist sehr Sinnvoll bei Verlinkungen (Unterschdiung zwischen externen und internen Links), bei Formularen (Input-Felder für Namen und Absendebuttons) oder auch bei Sprachauswahlen (lang=&#8221;en&#8221;). Es funktioniert im Prinzip ganz einfach und ist beliebig variabel:<br />
<code class="css"><strong>a[href]</strong> {<br />
background: url(imgs/icon-externer-link.png) no-repeat;<br />
}<br />
<span><strong>a[type="submit"]</strong> {<br />
width: 100px<br />
}</span><br />
<span><strong>img[alt~=Galerie]</strong> {<br />
width: 200px <strong>/* Alle Bilder die das Wort "Galerie" enthalten */</strong><br />
}</span><br />
</code><br />
Das ist alles noch innerhalb von CSS 2.1. CSS 3 bietet in dieser Richtung dann noch viel mehr und es wird alles noch individueller werden.</p>
<h4>Nachbar-Selektoren</h4>
<p>Eine weitere sehr schlaue Entwicklung, mit dem ihr benachbarte Objekte ansprechen könnt ohne mit IDs oder Klassen um euch zu werfen. Meist wird das dann verwendet, wenn man Abtsände definieren möchte, auch ich habe es auf dieser Website verwendet:<br />
<code class="css"><strong>p+h4</strong> {<br />
margin-top: 15px<br />
}</code><br />
Ich verwende auf unterschiedlichen Seiten Überschriften vierter Ordnung (h4), nicht nur in reinen Textabschnitten, sondern auch in Listen. Nun möchte ich aber nur den Überschriften Luft nach oben lassen, die in Textpassagen vorkommen und das recht simpel.<br />
Nun wurde der Artikel doch länger als befürchtet, doch es musste alles gesagt werden, was gesagt wurde <img src='http://tuts.nicogutmann.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/css-2-1.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Vollreferenz zu CSS 2.1" href="http://www.thestyleworks.de/ref/index.shtml">Referenz zu CSS 2.1</a></li>
<li><a title="Externer Link: Bugs im Internet Explorer 6 auf englisch" href="http://www.positioniseverything.net/explorer.html">Bugs im IE (en)</a></li>
<li><a title="Externer Link: Weitere Informationen zu Attributselektoren" href="http://www.intensivstation.ch/css/selectors/attribute-selectors/">Attributselektoren</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/08/css-2-1-zuruck-in-die-zukunft/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Raus aus der Hässlichkeit</title>
		<link>http://tuts.nicogutmann.de/2009/10/05/raus-aus-der-hasslichkeit/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/05/raus-aus-der-hasslichkeit/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 13:15:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[barrierefrei]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Semantik]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=46</guid>
		<description><![CDATA[Die meisten Websites erfüllen ihren Zweck: Sie informieren einen, sie geben dir die Informationen, die du benötigst. Oft ist es das dann aber auch, es ist nicht mehr, aber auch nicht weniger. In einer so schnelllebigen Welt und in einer Informationsgesellschaft ist das sicherlich nicht verkehrt, dass der Content an erster Stelle steht und schnell [...]]]></description>
			<content:encoded><![CDATA[<p>Die meisten Websites erfüllen ihren Zweck: Sie informieren einen, sie geben dir die Informationen, die du benötigst. Oft ist es das dann aber auch, es ist nicht mehr, aber auch nicht weniger. In einer so schnelllebigen Welt und in einer Informationsgesellschaft ist das sicherlich nicht verkehrt, dass der Content an erster Stelle steht und schnell erfassbar ist. Zumindest bei Zweiterem kann das Design dazu beitragen, dass dieser Zustand verstärkt wird.</p>
<h3>Schlechtes Design ist überall</h3>
<p>Vor einigen Jahren hat man noch ins Telefonbuch gesehen, wenn man einen Friseur in einer Nähe gesucht hat oder einen Handwerker, weil das Klo verstopft ist. Mittlerweile geht man dafür ins Internet, da erzähle ich dir sicherlich nichts Neues. Es spielt sich alles im Web ab und kein Unternehmen, sei es noch so klein, kann es sich leisten nicht online zu sein.<br />
Zumeist machen Unternehmen aber eben diesen Fehler: Sie wollen einfach &#8220;nur&#8221; online sein. Wie die Website aufgebaut ist, was sich darin befinden soll, wie sie gestaltet ist und dass sie auch bei Google gefunden werden sollen, ist dabei eher nebensächlich.</p>
<p>Wer sich einmal ins Internet getraut hat, hat damit einen ersten Schritt getan. Da bleiben aber nun viele stehen und wollen nicht die Treppe weiter hinauf laufen, denn nun sind sie doch eine Stufe höher als &amp;uot;die Anderen&#8221;. Falsch! Sie stehen nun auf der gleichen Stufe, neben zig Konkurrenten, was für die Meisten genug ist, wenigstens nicht darunter.</p>
<p>Abheben tut man sich von der Konkurrenz dadurch nicht und abhängen tut man sie schon gar nicht. Was tun, was tun? Ein User entscheidet, wenn auch unterbewusst, in den ersten 2-3 Sekunden, wie er die Website zuordnet. Viel länger will er auch nicht suchen müssen, um seine gewünschten Informationen zu bekommen. Wenn diese nicht da sind, schmeißt er die Suchmaschine wieder an und sucht den Nächsten.<br />
Design kann diesen ersten Eindruck und auch die wichtigen Informationen sehr stark beeinflussen, stärker als viele vielleicht glauben oder zugeben wollen.</p>
<h3>Accessibility = schlechtes Design</h3>
<p>Es gibt immer mehr Websites, die sich daran versuchen barrierefrei beziehungsweise barrierearm zu sein. Manchen gelingt es weniger, manchen mehr, die meisten haben aber eines gemeinsam: Das Design ist sehr langweilig, sehr ungrafisch, sehr einfach gestaltet oder manchmal auch hässlich (zumeist aber mit sehr brauchbaren Inhalten, was einiges wieder zurecht rückt)!<br />
Diese drei Beispiele sind übrigens alle auf der ersten Seite von Google zu finden, wenn man &#8220;barrierefrei&#8221; eingibt. Ob diese nun wirklich die meisten Barrieren aus dem Weg geräumt haben, habe ich erstmal nicht beurteilt:</p>
<ul class="bilder">
<li><a title="Externer Link: Seite besuchen" href="http://www.barrierefreies-webdesign.de/"><img src="/imgs/website_1.jpg" alt="" /></a><br />
<h4>www.Barrierefreies-Webdesign.de</h4>
<p>&#8220;Ein behindertengerechtes Internet gestalten&#8221; &#8211; Das ist ihr Claim, mit dem Augenmerk auf gestalten. Über Geschmack lässt sich bekanntlich streiten, in meinen Augen wurden hier viele augenkrebserregende Elemente eingebaut, was wenigstens den sterilen Klinik-Look erklären würde.</li>
<li><a title="Externer Link: Seite besuchen" href="http://barrierefrei.e-workers.de/"><img src="/imgs/website_2.jpg" alt="" /></a><br />
<h4>barrierefrei.e-workers.de</h4>
<p>&#8220;Best Viewed With An Open Mind&#8221; &#8211; Das steht unten im Footer, leider haben die Herren Gestalter der Site kein open mind für uns Gestalter, denn auch hier ist die Gestaltung so groß und klotzig wie es nur möglich war.</li>
<li><a title="Externer Link: Seite besuchen" href="http://www.webforall-heidelberg.de/"><img src="/imgs/website_3.jpg" alt="" /></a><br />
<h4>www.WebForAll-Heidelberg.de</h4>
<p>&#8220;Projekt für Barrierefreiheit im Internet&#8221; &#8211; Dieser These kann man nur untertützend beistehen. Jedoch scheint das hier nur für die Technik dahinter zu gelten. Ich benötige relativ lange, um mich auf der Startseite zurecht zu finden, was vor allem an dem schlechten Design liegt.</li>
</ul>
<p>Muss das sein? Müssen barrierearme Websites hässlich sein und darf man sich bei diesen Projekten grafisch nicht entfalten? Doch! Man darf es, man sollte es! Design hilft sogar oft der Usability und das Thema und der Inhalt kann man damit stark unterstützen.<br />
Welche größere Benutzergruppe kann man damit schaden? Sehbehinderte nicht, Hörgeschädigte auch nicht, ebensowenig wie Farbenblinde, wenn man rein von den Formen ausgeht, oder Menschen mit physischer Behinderung. Es kommt kaum einen, der sich von einem guten Design abschrecken lässt, ich kenne keinen.</p>
<p>Es gibt natürlich auch schöne Beispiele, die barrierearm sind und mit einem ansprechenden und passenden Design überzeugen, wobei ich mich da bei der Suche schwer getan habe:</p>
<ul class="bilder">
<li><a title="Externer Link: Seite besuchen" href="http://www.ble.de/"><img src="/imgs/website_4.jpg" alt="" /></a><br />
<h4>www.BLE.de</h4>
<p>Die Bundesregierung macht auch ab zu entwas richtig: Eine klare, schöne Seite mit viel Weißraum und passenden Farben und Bildmotiven.</li>
<li><a title="Externer Link: Seite besuchen" href="http://www.kulturbanause.de/"><img src="/imgs/website_5.jpg" alt="" /></a><br />
<h4>Kulturbanause.de</h4>
<p>Ein Kulturbanause ist dieser Webdesigner sicherlich nicht. Sehr schöne Grafiken und dazu noch ein ordentliches Markup (mit Steigerungspotenzial).</li>
<li><a title="Externer Link: Seite besuchen" href="http://www.kfz-sv-kuehn.de/"><img src="/imgs/website_6.jpg" alt="" /></a><br />
<h4>www.KfZ-SV-Kuehn.de</h4>
<p>Sicherlich hätte man hier noch einiges mehr herausholen können, aber schon bereits ein sehr guter Weg. Sehr ungewöhnlich dieses klare und moderne Design im Bereich KfZ, mehr davon.</li>
</ul>
<p>Es ist also möglich, wenn man sehr viel Ahnung von dem hat was man tut und warum. Viele Unternehmen, Webseiten-besitzer trauen sich meistens nicht an zu grafischen Elementen, weil es dann nicht auf den ersten Blick nach einer barrierearmen Website aussieht.<br />
Das ist doch völlig irrelevant, ich habe diesbezüglich auch einen <a href="/2009/11/02/valid-xhtml-und-a-a-a-weg-damit/">Beitrag über Valid-HTML-Buttons, Schriftvergrößerungen, etc</a> geschrieben, weil viele Websites meist mehr Schein als Sein sind. Was zur Zeit sowieso IN zu sein scheint, wenn man sich die Politik oder Großunternehmen, wie RWE oder die Banken ansieht, ein Claim, der sich durch fast alle Gesellschaftsschichten durchzieht.</p>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="/raus-aus-der-haesslichkeit.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Der Biene Award" href="http://www.biene-award.de">Biene Award</a></li>
<li><a title="Externer Link: Schönes Design und schlankes Markup" href="http://www.csszengarden.com/tr/deutsch/">CSS-Zen-Garden</a></li>
<li><a title="Externer Link: Statistik aus dem Jahr 2008 über User mit Behinderungen" href="http://www.digital-web.com/articles/understanding_disabilities_when_designing_a_website/">Behinderungen in % (en)</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/05/raus-aus-der-hasslichkeit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guten &lt;Tag&gt;: Eine Auflistung</title>
		<link>http://tuts.nicogutmann.de/2009/10/05/guten-freunde/</link>
		<comments>http://tuts.nicogutmann.de/2009/10/05/guten-freunde/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 13:13:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTML-Tutorials]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Semantik]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://tuts.nicogutmann.de/?p=42</guid>
		<description><![CDATA[HTML besteht aus Tags (englische Aussprache, bitte: Tääks), das ist kein Geheimnis. Jeder Tag hat eine Bedeutung, die man von jedem kennen sollte, wenn man sich mit semantischem Markup beschäftigen möchte. Leider gibt es bisher nicht für alle Objekte spezielle Tags, somit muss man sich oft mit der Frage konfrontieren, welcher Tag nun für den [...]]]></description>
			<content:encoded><![CDATA[<p>HTML besteht aus Tags (englische Aussprache, bitte: Tääks), das ist kein Geheimnis. Jeder Tag hat eine Bedeutung, die man von jedem kennen sollte, wenn man sich mit <a href="/2009/10/05/layout-vs-inhaltbasiertes-markup/">semantischem Markup</a> beschäftigen möchte. Leider gibt es bisher nicht für alle Objekte spezielle Tags, somit muss man sich oft mit der Frage konfrontieren, welcher Tag nun für den Inhalt am sinnvollsten ist.</p>
<h3>Let&#8217;s get it started</h3>
<p>Ich habe einmal alle wichtigen Tags augelistet, sie es zur Zeit (bis HTML 4.01) gibt. Es sei dazu angemerkt, dass ich nicht jegliche Tags hier aufliste, sondern nur die heute noch angewandten und für das Layout relevanten (ohne html, meta, body, etc).</p>
<dl>
<dt>&lt;a&gt; &#8211; Anchor &#8211; Anker</dt>
<dd>Das ist der Tag, der Seiten miteinander verknüpft oder wie es für Anker in dem Sinne üblich ist: Zu deinem definierten Punkt auf der Seite springt (durch #).<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;abbr&gt; &#8211; Abbreviation &#8211; Abkürzung</dt>
<dd>Abkürzungen verkürzen einem vieles, nicht jeder kennt sie immer. Durch diesen Tag können sie erklärt werden und in voller Länge gezeigt werden (title-Tag). Beispiele für Abbreviationen sind: z.B., USA, bspw., etc, PS.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;acronym&gt; &#8211; Acronym &#8211; Abkürzungswort</dt>
<dd>Sehr ähnlicher Verwendungszweck wie der abbr-Tag und doch zu unterscheiden. Acronyme sind Abkürzungen, die gleichzeitig auch ein Wort sind und als Wort ausgesprochen werden können, wichtig für Screenreader. Beispiele für Acronyme sind: NASA, PETA oder Kripo.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;b&gt; &#8211; Bold &#8211; Fett</dt>
<dd>Dieses Tag macht aus einer normalen Schrift eine fettgedruckte Schrift, mehr nicht. Weder für Suchmaschinen, noch für Screenreader hat er eine Bedeutung.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;blockquote&gt; &#8211; Blockquote &#8211; Zitatenblock</dt>
<dd>Daduch werden längere Zitate mit mehreren Absätzen definiert.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;br&gt; &#8211; Break &#8211; Zeilenumbruch</dt>
<dd>Das folgende Objekt springt in die nächste Zeile. Bei Texten wird das gemacht, um den Überblick in einem Paragrafen zu verbessern.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;div&gt; &#8211; Division &#8211; Bereich</dt>
<dd>Vorsicht: Sparsamer Umgang. Dieser Tag sollte nur dann eingesetzt werden, wenn mehrere Objekte miteinander in Verbindung gebracht werden sollen, zu einem Bereich verschmelzen sollen.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;dl&gt; &#8211; Definitionlist &#8211; Definitionsliste</dt>
<dd>Hier seht ihr gerade eine Definitionsliste im Einsatz. Es wird im Grunde verwendet, um Begriffe zu definieren, zu beschreiben. Das Einsatzgebiet kann sich auch breiter ziehen<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;dt&gt; &#8211; Definitontag &#8211; Definitionsbegriff</dt>
<dd>Der zu beschreibende Begriff wird durch diesen Tag definiert.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;dd&gt; &#8211; Definiton description &#8211; Definitionsbeschreibung</dt>
<dd>Hier kommt dann die Beschreibung rein. Diese kann sich von einem Satz bishin zu ganzen Absätzen, Listen, Überschriften ausweiten..<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;em&gt; &#8211; Emphasises &#8211; Hervorhebungen</dt>
<dd>Durch den em-Tag werden bestimmte Schlagwörter für Suchmaschinen und Textbrowser und Screenreader hervorgehoben und stärker ausgesprochen.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;fieldset&gt; &#8211; Fieldset &#8211; Bereichsfestlegung</dt>
<dd>Schwer zu übersetzen, leicht zu beschreiben: Es unterteilt Textfelder bei Formularen in Bereiche auf, je nach Inhalt (Persönliches, Geschäftliches, etc)<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;h1&gt;-&lt;h6&gt; &#8211; Headline &#8211; Überschrift</dt>
<dd>Jeder Text benötigt Überschriften, der den Textinhalt kurz erläutert und dem Leser eine Hilfestellung gibt. Hier wird hierarchisch vorgegangen: H1 sollte pro Seite nur einmal vorkommen und beschreibt die komplette Seite (eine Seite), h2 spielt bei Suchmaschinen eine wesentliche Rolle.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;i&gt; &#8211; Italics &#8211; Kursiv</dt>
<dd>Hebt den Text nicht hervor, dient nur zur Gestaltung. Sollte sparmsam eingesetzt werden.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;label&gt; &#8211; Label &#8211; Kennzeichnung</dt>
<dd>Hauptsächlich bei Formularen eingesetzt, wird es als Kennzeichnung eines Textfeldes, Radiobuttons, Textberichs, etc verwendet. Es gibt an, was eingetragen werden soll.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;li&gt; &#8211; List-Item &#8211; Listenpunkt</dt>
<dd>dürfen nur an zwei Stellen vorkommen: Bei geordneten und bei ungeordneten Listen. Darin können weitere Blockelemente, wie Paragrafen oder Überschriften vorkommen. Divs haben dort nichts verloren<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;ol&gt; &#8211; Ordered List &#8211; Geordnete Liste</dt>
<dd>Eine Auflistung mit einer bestimmten Reihenfolge, die man auf keinen Fall umändern kann, um den Zusammenhang zu verstehen, gehören in eine Geordnete Liste.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;p&gt; &#8211; Paragraph &#8211; Paragraf</dt>
<dd>p-Tags teilt fast ausschließlich einen Text in Paragrafen, in Absätze unter, z.B. wenn ein neuer Gedanke beschrieben wird. Darin dürfen keine weiteren Blockelemente stehen.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;q&gt; &#8211; Quote &#8211; Zitat</dt>
<dd>Neben blockquote, ist der q-Tag eine weitere Option Zitate zu definieren. Dieser wird aber nur für kurze Zitate verwendet und kann auch inmitten eines Textblocks stehen.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;span&gt; &#8211; Span &#8211; Abgrenzung</dt>
<dd>Objekte können duch den span-Tag spezielle Definitionen per CSS bekommen oder Attribute verwiesen bekommen, wie die Sprache (lang=&#8221;").<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;strong&gt; &#8211; Strong &#8211; kräftig</dt>
<dd>Ähnlich des em-Tags hebt er bestimmte Objekte, Textbereiche, Wörter hervor. Er verstäkrt den Begriff und dieser wird kräftiger und lauter ausgesprochen.<br />
<em>Art:</em> Inlineelement</dd>
<dt>&lt;table&gt; &#8211; Table &#8211; Tabelle</dt>
<dd>Tabellen kommen auschließlich bei der Ausgabe tabellarischer Daten vor, wie z.B. bei einem Terminkalender oder einer Sporttabelle.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;th&gt; &#8211; Table-Head &#8211; Tabellenkopf</dt>
<dd>Eingebaut in einer Tabelle beschreibt er die Überschrift einer Tabellenzeile, damit der Leser beispielsweise bei einer Nummer weiß, ob es sich um eine Telefonnummer, einer Hausnummer oder eine Kontonummer handelt.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;tr&gt; &#8211; Table Row &#8211; Tabellenzeile</dt>
<dd>Dieser Tag teilt die Tabelle in Zeilen ein. Eine Zeile kann mehrere Zellen besitzen.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;td&gt; &#8211; Table Data &#8211; Tabellenzelle</dt>
<dd>Das ist sozusagen der Inhaltsbereich der Tabelle.<br />
<em>Art:</em> Blockelement</dd>
<dt>&lt;ul&gt; &#8211; Unordered List &#8211; Ungeordnete Liste</dt>
<dd>Eine Auflistung, deren Reihenflge mehr oder weniger egal ist. Einsatzgebiete sind natürlich normale Auflistungen, aber auch Menüs und Produktlistungen.<br />
<em>Art:</em> Blockelement</dd>
</dl>
<div class="info">
<div class="quicklinks info-box">
<h3>Links zum Tutorial</h3>
<ul>
<li><a href="html-liste/html-liste.pdf">Tutorial als PDF</a></li>
</ul>
</div>
<div class="followlinks info-box">
<h3>Weiterführende Links</h3>
<ul>
<li><a title="Externer Link: Vollreferenz zu HTML auf Englisch" href="http://www.w3schools.com/tags/default.asp">Referenz zu HTML</a></li>
<li><a title="Externer Link: Bugs im Internet Explorer 6 auf englisch" href="http://jendryschik.de/wsdev/einfuehrung/">HTML-Einführung</a></li>
<li><a title="Externer Link: Weitere HTML-Tag-Auflistung auf Englisch" href="http://www.htmldog.com/reference/htmltags/">HTML-Tags II</a></li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tuts.nicogutmann.de/2009/10/05/guten-freunde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

