<?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>RE-Design - Enrico Reinsdorf &#187; flexibel</title>
	<atom:link href="http://www.re-design.de/tag/flexibel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.re-design.de</link>
	<description>Trainer für Konzeption und Umsetzung von medialen Internet-Projekten</description>
	<lastBuildDate>Fri, 28 Oct 2011 19:26:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>flexible Layouts mit CSS</title>
		<link>http://www.re-design.de/2007/12/04/flexible-layouts-mit-css/</link>
		<comments>http://www.re-design.de/2007/12/04/flexible-layouts-mit-css/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 23:00:30 +0000</pubDate>
		<dc:creator>Enrico Reinsdorf</dc:creator>
				<category><![CDATA[Adventskalender 2007]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[flexibel]]></category>
		<category><![CDATA[grundgerüst]]></category>
		<category><![CDATA[layout]]></category>

		<guid isPermaLink="false">http://www.re-design.de/workbook/?p=35</guid>
		<description><![CDATA[Websites sollten sich immer dem Benutzer anpassen, so zumindest steht es in vielen Dokumentationen über Benutzerfreundlichkeiten. Aber was ist damit eigentlich gemeint? Welche Anpassung braucht der Benutzer bzw. will er überhaupt haben? Welche ist die Richtige? Die einfachste Lösung ein Layout für die Website zu erstellen ist mit festen Größenangaben zu arbeiten. Sie ist aber [...]]]></description>
			<content:encoded><![CDATA[<p>Websites sollten sich immer dem Benutzer anpassen, so zumindest steht es in vielen Dokumentationen über Benutzerfreundlichkeiten. Aber was ist damit eigentlich gemeint? Welche Anpassung braucht der Benutzer bzw. will er überhaupt haben? Welche ist die Richtige?</p>
<p>Die einfachste Lösung ein Layout für die Website zu erstellen ist mit festen Größenangaben zu arbeiten. Sie ist aber auch am Unflexibelsten, denn das Layout kann sich dann nicht den Bedürfnissen des Betrachters anpassen. Viele heutige Design haben als Maßeinheit für ihr Layout Pixel. Der große Vorteil liegt in der genauen Platzierung von Elementen, wie z.B. Spalten oder aber auch Designelemente wie Hintergrundbilder. Der große Nachteil liegt aber auch gerade in diesen festen Größenangaben. Und hier setzen die flexiblen Design an.</p>
<p><span id="more-35"></span></p>
<h3>Probleme mit Pixeln und Prozenten</h3>
<p>Eine gute Möglichkeit ein flexibles Layout zu entwerfen und trotzdem gewisse Gestaltungsproportionen einhalten zu können besteht darin, die Maßeinheiten EM zu nutzen. Ein EM ist die einfache Größe eine Großbuchstabens. Die Maßeinheit Pixel hat den klaren Nachteil, des eine Spalte die mit 200 Pixel definiert ist immer 200 Pixel breit ist, egal ob der Betrachter seine Schrift vergrößert, weil er einen großen Monitor benutzt oder verkleinert. Nun könnte man aber die Spaltenbreite in Prozent angeben. Auch hier entsteht das gleiche Problem wie bei den Pixeln. Die Spalte bleibt immer z.B. 20% von der gesamten Browserbreite breit, auch wenn man die Schrift vergrößert oder verkleinert. Der Vorteil gegenüber dem Pixel-Layout liegt in der flexiblen Anpassung an die verschiedenen Monitorgrößen. 20% bei einer Auflösung von 1024 * 768 ist deutlich breiter als bei einer Auflösung von 800 * 600.</p>
<h3>Layout mit EM</h3>
<p>Mein Ansatz ist es nun zwar eine feste Breite wie bei der Pixelangabe zu benutzen, aber diese Breite richtet sich immer nach der Schriftgröße. Wenn also ein Betrachter bei seiner Monitorauflösung von 1280*800 die Darstellung einer Website als zu klein empfindet, dann kann es durch eine schnelle Anpassung der Schriftgröße dieses wunderbar korrigieren. Umgekehrt geht dieses natürlich auch. Ist die Website für 1024*768 optimiert und ein Betrachter besitzt nur 800*600. Dann kann er schnell und meist auch sehr einfach die Schriftgröße seines Browsers ändern und alles ist wieder bestens. In den meisten Browser kann man durch betätigen der Plus- bzw. Minustaste mit gleichzeitigen drücken der STRG-Taste die Schrift des Browsers anpassen.</p>
<h3>Wie könnte nun z.B. ein solches 3-spaltiges Layout aussehen?</h3>
<p>Als erstes möchte ich die Grundstruktur der HTML-Seite erklären. Dazu erstmal das DOM der Seite</p>
<pre>body
 +div#page
   +div#header
   | +div#head
   | +div#bar
   +div#body
   | +div#main
   | | +div#content
   | | +div#left
   | +div#right
   +div#footer</pre>
<p>Bei der Identifizierung der einzelnen Container habe ich auf Eindeutigkeit geachtet. Es sollte hoffentlich klar werden was wofür ist. Um eine schnell umsetzbare 3-Spaltigkeit zu bekommen, habe ich die linke Spalte und den eigentlichen Inhalts-Container zusammengefasst. Somit habe ich auch erreicht, dass der Inhalt noch vor den restlichen Spalten im Quelltext steht, was wiederum Suchmaschinen als angenehm empfinden, da das wichtige am Anfang steht.</p>
<h4>Das CSS-Grundgerüst</h4>
<ol class="Sourcecode">
<li><code>* {margin:0;padding:0;}</code></li>
<li><code>body {</code></li>
<li><code>font:14px/130% "Lucida Grande", "Lucida Sans Unicode", Sans-Serif;</code></li>
<li><code>background-color:#666;</code></li>
<li><code>color:#fff;</code></li>
<li><code>text-align:center;</code></li>
<li><code>}</code></li>
</ol>
<p>Hier ist nichts weiter überraschendes dabei. Erwähnen möchte ich nur, dass die gesamte Seite in der horizontalen Mitte ausgerichtet ist. Weswegen ich die Eigenschaft text-align auf center gesetzt habe.</p>
<ol class="Sourcecode">
<li><code>#page {</code></li>
<li><code>width:68em;</code></li>
<li><code>margin:0 auto;</code></li>
<li><code>text-align:left;</code></li>
<li><code>background-color:#fff;</code></li>
<li><code>color:#000;</code></li>
<li><code>}</code></li>
</ol>
<p>Die Gesamtbreite der Seite entspricht hier also 68 Großbuchstaben. Das entspricht ungefähr 120 Zeichen. Um die Seite auch mittig zu platzieren wurde der linke und rechte Außenabstand der Wert auto zugewiesen. Zusätzlich wurde der Text wieder linksbündig ausgerichtet.</p>
<ol class="Sourcecode">
<li><code>#header {</code></li>
<li><code>background:#333;</code></li>
<li><code>color:#fff;</code></li>
<li><code>height:8em;</code></li>
<li><code>}</code></li>
<li><code>#body {</code></li>
<li><code>clear:both;</code></li>
<li><code>}</code></li>
<li><code>#footer {</code></li>
<li><code>clear:both;</code></li>
<li><code>background:#333;</code></li>
<li><code>color:#fff;</code></li>
<li><code>height:3em;</code></li>
<li><code>}</code></li>
</ol>
<p>Auch die Container head, body und footer enthalten nichts überraschendes. Nur das der body- und der footer-Container mit der Eigenschaft clear und den Wert both für das Aufheben der float-Eigenschaft der vorhergehenden Container zuständig sind.</p>
<ol class="Sourcecode">
<li><code>#main {</code></li>
<li><code>float:left;</code></li>
<li><code>width:52em;</code></li>
<li><code>}</code></li>
<li><code>#left {</code></li>
<li><code>float:left;</code></li>
<li><code>width:15em;</code></li>
<li><code>}</code></li>
<li><code>#content {</code></li>
<li><code>float:right;</code></li>
<li><code>width:45em;</code></li>
<li><code>}</code></li>
<li><code>#right {</code></li>
<li><code>float:right;</code></li>
<li><code>width:15em;</code></li>
<li><code>}</code></li>
</ol>
<p>Nun formatiert man den mittleren Teil. Als erstes wird dieser in 2 Teile getrennt. Der Main-Container wird nach links gelegt und der Right-Container dementsprechend nach rechts. Zusammen ergibt sich eine Breite die gleich ist mit der Gesamtbreite des Page-Containers. Innerhalb des Main-Containers wird wiederum der Platz in 2 Spalten aufgeteilt, so dass diese Gesamtbreite der Breite des Main-Containers entspricht.</p>
<p>Zum Schluss die komplette CSS-Formatierung:</p>
<ol class="Sourcecode">
<li><code>* {margin:0;padding:0;}</code></li>
<li><code>body {</code></li>
<li><code>font:14px/130% "Lucida Grande", "Lucida Sans Unicode", Sans-Serif;</code></li>
<li><code>background-color:#666;</code></li>
<li><code>color:#fff;</code></li>
<li><code>text-align:center;</code></li>
<li><code>}</code></li>
<li><code>#page {</code></li>
<li><code>width:68em;</code></li>
<li><code>margin:0 auto;</code></li>
<li><code>text-align:left;</code></li>
<li><code>background-color:#fff;</code></li>
<li><code>color:#000;</code></li>
<li><code>}</code></li>
<li><code>#header {</code></li>
<li><code>background:#333;</code></li>
<li><code>color:#fff;</code></li>
<li><code>height:8em;</code></li>
<li><code>}</code></li>
<li><code>#body {</code></li>
<li><code>clear:both;</code></li>
<li><code>}</code></li>
<li><code>#footer {</code></li>
<li><code>clear:both;</code></li>
<li><code>background:#333;</code></li>
<li><code>color:#fff;</code></li>
<li><code>height:3em;</code></li>
<li><code>}</code></li>
<li><code>#main {</code></li>
<li><code>float:left;</code></li>
<li><code>width:52em;</code></li>
<li><code>}</code></li>
<li><code>#left {</code></li>
<li><code>float:left;</code></li>
<li><code>width:15em;</code></li>
<li><code>}</code></li>
<li><code>#content {</code></li>
<li><code>float:right;</code></li>
<li><code>width:45em;</code></li>
<li><code>}</code></li>
<li><code>#right {</code></li>
<li><code>float:right;</code></li>
<li><code>width:15em;</code></li>
<li><code>}</code></li>
</ol>
<p>und die Downloads der Dateien:</p>
<ul>
<li><a href="http://www.re-design.de/workbook/wp-content/uploads/2007/12/demo.html" title="HTML-Datei">HTML-Datei</a></li>
<li><a href="http://www.re-design.de/workbook/wp-content/uploads/2007/12/style.css" title="CSS-Datei">CSS-Datei</a></li>
<li><a href="http://www.re-design.de/workbook/wp-content/uploads/2007/12/komplett.zip" title="komplettes Set">komplettes Set</a></li>
</ul>
<h3  class="related_post_title">Ähnliche Beiträge</h3><ul class="related_post"><li><a href="http://www.re-design.de/2007/11/11/flexibles-css-layout/" title="flexibles CSS Layout">flexibles CSS Layout</a></li><li><a href="http://www.re-design.de/2007/12/10/css-3-unterstuetzung-der-browser/" title="CSS 3-Unterst&#252;tzung der Browser">CSS 3-Unterst&#252;tzung der Browser</a></li><li><a href="http://www.re-design.de/2007/12/08/css-layouts-am-fliessband/" title="CSS Layouts am Fließband">CSS Layouts am Fließband</a></li><li><a href="http://www.re-design.de/2007/12/03/beschriftung-von-containern/" title="Beschriftung von Containern">Beschriftung von Containern</a></li><li><a href="http://www.re-design.de/2008/04/26/dreamweaver-schulung-fr-den-solar-verlag/" title="Dreamweaver-Schulung f&#252;r den Solar Verlag">Dreamweaver-Schulung f&#252;r den Solar Verlag</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.re-design.de/2007/12/04/flexible-layouts-mit-css/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>flexibles CSS Layout</title>
		<link>http://www.re-design.de/2007/11/11/flexibles-css-layout/</link>
		<comments>http://www.re-design.de/2007/11/11/flexibles-css-layout/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 16:32:12 +0000</pubDate>
		<dc:creator>Enrico Reinsdorf</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Schulungen]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[flexibel]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[seminar]]></category>

		<guid isPermaLink="false">http://www.re-design.de/workbook/?p=28</guid>
		<description><![CDATA[Letzte Woche hatte ich ein Seminar zum Thema CSS und eins über Dreamweaver gehalten. Es waren Teilnehmer sowohl von Roche Diagnostics als auch von Landessport Bund dabei, die mittels CMS die Inhalte ihrer Website betreuen. In diesen Seminaren kam die Frage nach einen flexiblen System zum Erzeugen eines CSS gesteuerten Layouts auf. Nach ein paar [...]]]></description>
			<content:encoded><![CDATA[<p>Letzte Woche hatte ich ein Seminar zum Thema <a title="Seminar Inhalte" href="http://www.re-design.de/dienstleistung/seminare/webdesign-seminare/">CSS</a> und eins über <a title="Seminar Inhalte" href="http://www.re-design.de/dienstleistung/seminare/webdesign-seminare/">Dreamweaver</a> gehalten. Es waren Teilnehmer sowohl von <a title="weiter zur Website" href="http://www.roche.com/de/div_diag.htm">Roche Diagnostics</a> als auch von <a title="weiter zur Homepage" href="http://www.wir-im-sport.de/startseite.php">Landessport Bund</a> dabei, die mittels CMS die Inhalte ihrer Website betreuen. In diesen Seminaren kam die Frage nach einen flexiblen System zum Erzeugen eines CSS gesteuerten Layouts auf.</p>
<p>Nach ein paar Überlegungen kamen wir dann auf die Teilung des CSS-Designs in 4 Dateien:</p>
<ul>
<li>basic.css</li>
<li>2column.css</li>
<li>3column.css</li>
<li>content.css</li>
</ul>
<p><span id="more-28"></span>In der Basisdatei werden alle grundlegenden Formatierungen für das Layout, wie z.B. Kopf- und Fußbereich bzw. Navigationsspalte festgelegt. Zusätzlich wird das gesamte Design zentriert und auf eine festen Breite eingestellt. Wobei die feste Breite nicht zwingend mit Pixeln zu lösen sein muss, denn in CSS können z.B. Breitenangaben auch in Em angegeben werden.</p>
<p><img src="/workbook/wp-content/uploads/2007/11/grundlayout.gif" border="0" alt="Grundlayout" width="200" height="150" /></p>
<p>In der Inhaltsdatei werden dann alle restlichen für die Darstellung wichtigen Formatierungen, wie z.B. Absätze Listen und Tabellen, definiert. Zusätzlich können dort auch Ausrichtungen von Bilden angegeben werden.</p>
<p>Falls man nun aber einige Unterseiten brauchen sollte, die ein 2 spaltigen Layout benötigen, dann bindet man einfach, zusätzlich zu den beiden Grunddateinen, die 2-Spaltige mit ein. In der HTML-Datei gruppiert man nun noch über 2 DIV-Container die Inhalte in die jeweiligen Spalten.</p>
<p><img src="/workbook/wp-content/uploads/2007/11/2_column.gif" border="0" alt="2 spaltiges Layout" width="200" height="150" /></p>
<p>Gleiches gilt auch für ein 3 spaltiges Layout. Hier gibt es auch eine zusätzliche CSS-Datei und auch hier muss man den jeweiligen Inhalt in die 3 Spalten aufteilen.</p>
<p><img src="/workbook/wp-content/uploads/2007/11/3_column.gif" border="0" alt="3 spaltiges Layout" width="200" height="150" /></p>
<h3  class="related_post_title">Ähnliche Beiträge</h3><ul class="related_post"><li><a href="http://www.re-design.de/2008/04/26/dreamweaver-schulung-fr-den-solar-verlag/" title="Dreamweaver-Schulung f&#252;r den Solar Verlag">Dreamweaver-Schulung f&#252;r den Solar Verlag</a></li><li><a href="http://www.re-design.de/2007/12/04/flexible-layouts-mit-css/" title="flexible Layouts mit CSS">flexible Layouts mit CSS</a></li><li><a href="http://www.re-design.de/2008/12/18/dreamweaver-und-css/" title="Dreamweaver und <span class="caps">CSS</span>">Dreamweaver und <span class="caps">CSS</span></a></li><li><a href="http://www.re-design.de/2008/02/25/css-seminar-bei-vva/" title="CSS-Seminar bei VVA">CSS-Seminar bei VVA</a></li><li><a href="http://www.re-design.de/2007/12/10/css-3-unterstuetzung-der-browser/" title="CSS 3-Unterst&#252;tzung der Browser">CSS 3-Unterst&#252;tzung der Browser</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.re-design.de/2007/11/11/flexibles-css-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

