<?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>Punkt 16 &#187; Code</title>
	<atom:link href="http://www.punkt16.de/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.punkt16.de</link>
	<description>Entwicklung &#38; Mehr von Punkt18.com</description>
	<lastBuildDate>Thu, 10 Nov 2011 10:59: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>WordPress Theme Options</title>
		<link>http://www.punkt16.de/2011/11/wordpress-theme-options/</link>
		<comments>http://www.punkt16.de/2011/11/wordpress-theme-options/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 10:59:28 +0000</pubDate>
		<dc:creator>Florian Palme</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Code-Snippet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[add_action]]></category>
		<category><![CDATA[add_theme_page]]></category>
		<category><![CDATA[admin_init]]></category>
		<category><![CDATA[admin_menu]]></category>
		<category><![CDATA[get_categories]]></category>
		<category><![CDATA[get_option]]></category>
		<category><![CDATA[Kategorien]]></category>
		<category><![CDATA[Options]]></category>
		<category><![CDATA[register_settings]]></category>
		<category><![CDATA[settings_fields]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://www.punkt16.de/?p=323</guid>
		<description><![CDATA[Manchmal ist es von Nöten, dass man dem User Optionen für das eigene Theme anbietet. Dies kann aus Design-Gründen, zum Beispiel für verschiedene Backgrounds oder auch eine Kategorieauswahl, zur Darstellung der Artikel in einer im Design integrierten Box.
In diesem Post möchte ich euch einen guten Weg aufzeigen, eure eigene Options-Seite für euer Theme zu ...]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Manchmal ist es von Nöten, dass man dem User Optionen für das eigene Theme anbietet. Dies kann aus Design-Gründen, zum Beispiel für verschiedene Backgrounds oder auch eine Kategorieauswahl, zur Darstellung der Artikel in einer im Design integrierten Box.<br />
In diesem Post möchte ich euch einen guten Weg aufzeigen, eure eigene Options-Seite für euer Theme zu bauen. Diese Seite wird ein Text-Feld beinhalten sowie eine Auswahl an verschiedenen Kategorien für eine Auflistung in einer Box. Der Clou an der Sache ist, dass wir alle Daten dieser Options-Page in einem einzigen Datenbank-Eintrag speichern.</p>
<p>&nbsp;</p>
<p>Als allererstes erstellen wir eine Funktion, in welcher WordPress gesagt wird, dass wir nun eine neue Options-Page erstellen. Dadurch müssen wir uns nicht groß um die Speicherung der Daten kümmern.</p>
<pre class="brush: php; title: ; notranslate">//functions.php

//die funktion
function ctheme_options_init(){
  //Registrieren der Options &quot;ctheme_theme&quot;, die Speichervariable in der Tabelle &quot;ctheme_theme_options&quot; und eine Validierungs-Funktion (&quot;ctheme_options_validate&quot;, dazu später mehr)
  register_setting('ctheme_theme', 'ctheme_theme_options', 'ctheme_options_validate');
}

add_action('admin_init', 'ctheme_options_init');</pre>
<p>&nbsp;</p>
<p>Damit auch etwas dargestellt werden kann, benötigen wir eine do_page-Funktion. In dieser könnt ihr eine externe Datei inkludieren, um eine bessere Übersicht zu behalten. Ich schreibe es für dieses Tutorial direkt mit hinein.</p>
<pre class="brush: php; html-script: true; title: ; notranslate">&lt;?php function ctheme_options_do_page(){
?&gt;
&lt;div class=&quot;wrap&quot;&gt;
  &lt;h2&gt;cTheme Theme Optionen&lt;/h2&gt;

  &lt;form action=&quot;options.php&quot; method=&quot;post&quot;&gt;
    &lt;?php //Schreibt verschiedene hidden Inputs
    settings_fields('ctheme_theme'); ?&gt;
    &lt;?php //Hier werden die gespeicherten Optionen abgefragt. Wir erinnern uns, dass wir alles in einem Eintrag speichern!
    $options = get_option('ctheme_theme_options'); ?&gt;

    &lt;table class=&quot;form-table&quot;&gt;
      &lt;tbody&gt;
        &lt;tr valign=&quot;top&quot;&gt;
          &lt;th scope=&quot;row&quot;&gt;Titel der Box&lt;/th&gt;
          &lt;td&gt;&lt;input type=&quot;text&quot; value=&quot;&quot; name=&quot;&quot; id=&quot;&quot; /&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;th scope=&quot;row&quot;&gt;Kategorie für die Auflistung in der Box&lt;/th&gt;
          &lt;td&gt;Hier stehen dann die Kategorien..&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;p class=&quot;submit&quot;&gt;&lt;input class=&quot;button-primary&quot; type=&quot;submit&quot; value=&quot;&lt;?php _e('Save Changes') ?&gt;&quot; /&gt;&lt;/p&gt;

    &lt;/form&gt;
  &lt;/div&gt;
&lt;?php } ?&gt;</pre>
<p>Da wir alle Daten nur in einem Datenbankeintrag speichern, müssen wir die vom User eingegeben Daten selbst validieren.</p>
<pre class="brush: php; title: ; notranslate">function ctheme_options_validate($input){
	$input['boxtitle'] = ( $input['boxtitle'] == '' ) ? 'Standard-Box' : $input['boxtitle'];
	$input['categorylist'] = ( is_array( $input['categorylist'] ) ) ? $input['categorylist'] : array();
	return $input;
}</pre>
<p>Nun müssen wir die Werte noch änderbar machen. Fangen wir mit der Input-Box an:</p>
<pre class="brush: php; first-line: 14; highlight: [16]; html-script: true; title: ; notranslate">&lt;tr valign=&quot;top&quot;&gt;
  &lt;th scope=&quot;row&quot;&gt;Titel der Box&lt;/th&gt;
  &lt;td&gt;&lt;input type=&quot;text&quot; value=&quot;&lt;?php echo $options['boxtitle']; ?&gt;&quot; name=&quot;ctheme_theme_options[boxtitle]&quot; id=&quot;ctheme_theme_options_boxtitle&quot; /&gt;&lt;/td&gt;
&lt;/tr&gt;</pre>
<p>Wie Ihr seht, verwenden wir hier als name-Attribute den $options-Name als Array. (Hm, ist der Satz denn jetzt verständlich?)</p>
<p>Machen wir uns nun an die Auswahl der Kategorien. Dazu brauchen wir zwei Funktionen: Die eine listet alle Kategorien rekursive auf. Dafür ist es notwendig zu prüfen, ob die aktuelle Kategorie in der Schleife eine Unter-Kategorie hat, die zweite Funktion.</p>
<pre class="brush: php; title: ; notranslate">/***************
* list subcategories
* @categories wp-get_categories-Array
* @categoryId choosen category
* @label label to save in options
* @options the options
*******************/
function ctheme_options_listcategory( $categories, $categoryId, $label, &amp;$options ) {
        //alle kategorien durchgehen, um die gewünschten Kategorien zu erhalten...
        // 0 gibt z.B. alle Top-Kategorien aus, 8 z.B. nur die, welcher eine Sub-Kategorie der Top-Kategorie 8 ist
	foreach( $categories as $category ):
                //Hat diese Kategorie die gewünschte ID?
		if( $category-&gt;category_parent == $categoryId ):
		?&gt;
			&lt;li&gt;
				&lt;input name=&quot;ctheme_theme_options[&lt;?php echo $label; ?&gt;][]&quot; type=&quot;checkbox&quot; value=&quot;&lt;?php echo $category-&gt;term_id; ?&gt;&quot; &lt;?php if(@in_array($category-&gt;term_id, $options[$label])) { echo 'checked=&quot;checked&quot;'; } ?&gt; /&gt; &lt;?php echo $category-&gt;name; ?&gt;
				&lt;?php
                                //Ruft nun die 2. Funktion auf, um zu prüfen, ob diese Kategorie weitere Kategorien enthält
                                if($subcats = ctheme_options_hassubcategory($categories, $category-&gt;term_id)): ?&gt;
					&lt;ul style=&quot;padding-left:20px; margin-bottom:14px;&quot;&gt;
						&lt;?php
                                                //Sollte dies der Fall sein, rufe ctheme_options_listcategory erneut auf
                                                ctheme_options_listcategory( $categories, $category-&gt;term_id, $label, $options ); ?&gt;
					&lt;/ul&gt;
				&lt;?php endif; ?&gt;
			&lt;/li&gt;
	&lt;?php endif;
	endforeach;
}

/* check, if the given categoryid is in the category-array */
function ctheme_options_hassubcategory( $categories, $categoryId ){
	$hasSubcategory = false;

	foreach( $categories as $category ) {
		if( $category-&gt;category_parent == $categoryId) {
			$hasSubcategory = true;
			break;
		}
	}

	return $hasSubcategory;
}</pre>
<p>In unserer do_page-Funktion können wir die Kategorie-Funktion nun einfach mit dem Label, welchen wir in der Validierungs-Funktion angegeben haben, aufrufen.</p>
<pre class="brush: php; first-line: 19; highlight: [21]; title: ; notranslate">&lt;tr&gt;
  &lt;th scope=&quot;row&quot;&gt;Kategorie für die Auflistung in der Box&lt;/th&gt;
  &lt;td&gt;
    &lt;?php
        //Alle Kategorien von WordPress mit hide_empty=0 abfragen... Wir benötigen alle Kategorien für die Optionen
        $allCategories = get_categories('hide_empty=0');

        ctheme_options_listcategory( $allCategories, 0, categorylist, $options );
    ?&gt;
  &lt;/td&gt;
&lt;/tr&gt;</pre>
<p>Als letztes müsst ihr die Options-Seite noch an die Theme-Navigation im Admin-Bereich hängen:</p>
<pre class="brush: php; title: ; notranslate">//register options page
add_action('admin_menu', 'ctheme_menu');

function ctheme_menu(){
	add_theme_page('cTheme Optionen', 'Optionen', 'edit_theme_options', 'ctheme-options', 'ctheme_options_do_page');
}</pre>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://www.punkt16.de/2011/11/wordpress-theme-options/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://www.punkt16.de/2011/11/wordpress-theme-options/" data-lang="de">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://www.punkt16.de/2011/11/wordpress-theme-options/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://www.punkt16.de/2011/11/wordpress-theme-options/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ein DIV-Layout erstellen</title>
		<link>http://www.punkt16.de/2009/10/ein-div-layout-erstellen/</link>
		<comments>http://www.punkt16.de/2009/10/ein-div-layout-erstellen/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 15:24:02 +0000</pubDate>
		<dc:creator>Timo Goedeke</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Div]]></category>
		<category><![CDATA[Tabelle]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.punkt16.de/?p=140</guid>
		<description><![CDATA[Ein Layout mit DIVs anstatt Tabellen und iFrames? Kein Problem! Mit diesem Tutorial und einer passenden Vorlage lernt ihr ganz schnell wie das geht.  ]]></description>
			<content:encoded><![CDATA[<p class="wp-flattr-button"></p><p>Ein Layout mit DIVs anstatt Tabellen und iFrames?<br />
Kein Problem! Mit diesem Tutorial und einer passenden Vorlage lernt ihr ganz schnell wie das geht.</p>
<p><span id="more-140"></span></p>
<p>&nbsp;</p>
<p>Du möchtest also ein DIV Layout erstellen? Also gut, ich werde dir zeigen wie man eines Macht.<br />
Zu nächsteinmal werde ich dir erklären was ein DIV ist und welche Vorteile ein DIV-Layout gegenüber ein Table-Layout&#8217;s hat.<br />
Ich werde dann Schritt für Schritt erklären wie ich genau <a href="http://takeyo.de/div.html" target="_blank">diese</a> Webseite hier erstellt habe (übrigens, ich habe hierfür nur 20 Minuten gebraucht!)</p>
<p>&nbsp;</p>
<p><strong>Achtung!<br />
Dieses Tutorial bezieht sich auf folgende Vorlage:<br />
</strong><a href="http://takeyo.de/div.html" target="_blank">http://takeyo.de/div.html</a></p>
<p>&nbsp;</p>
<h3>Wieso DIVs?</h3>
<p>Diese Frage musste ich mir am Anfang auch stellen, da ich dachte, dass man mit Tabellen viel besser Layouts aufbauen kann. Tatsächlich denken viele Leute so, doch Tabellen sind nicht für Layoutstrukturierungen gedacht. DIVs sind viel flexibler und man kann leicht ihre Größe ändern oder sie mit Javascript hin und herschieben.<br />
Es wird am Anfang bestimmt schwer von Tabellen und iFrames loszulassen, aber mit DIVs bist du echt im Trend <img src='http://www.punkt16.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Das DIV Objekt</h3>
<p>Ein Div ist eine Art Box. Quadratisch, praktisch, gut! Ein Div wird in HTML so geschrieben:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">&lt;div&gt;Inhalt&lt;/div&gt;</pre></div></div></div></div></div></div></div>


</p>
<p>Zunächst geben wir dem DIV eine ID oder eine Klasse.<br />
<strong>ID:</strong> Eine ID ist ein einmaliges Objekt im Dokument. Man kann nicht mehrere Objekte mit der gleichen ID besetzen.<br />
<strong>Klasse:</strong> Eine Klasse (Class) kann für unendlich viele Objekte im Dokument benutzt werden. Es gibt kein Limit.</p>
<p>&nbsp;</p>
<p>Wir besetzen unser DIV also mit der ID<strong> &#8220;box&#8221;</strong>:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">// Beispiel für eine ID
&lt;div id=&quot;box&quot;&gt;&lt;/div&gt;
&nbsp;
// Beispiel für eine Klasse
&lt;div class=&quot;box&quot;&gt;&lt;/div&gt;</pre></div></div></div></div></div></div></div>


</p>
<p>Bis jetzt hat sich aber noch nichts getan.<br />
Nun müssen wir die ID in dem Stylesheet Bereich mit Eigenschaften belegen.             Der Stylesheet Bereich kommt in den Head Bereich des Dokuments. Das ganze sollte dann so aussehen:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">&lt;head&gt;
&lt;style type=&quot;text/css&quot;&gt;
&nbsp;
// Beispiel für eine ID
#box { width: 50px; height: 50px; background-color: red; }
&nbsp;
// Beispiel für eine Klasse
.box { width: 50px; height: 50px; background-color: red; }
&nbsp;
&lt;/style&gt;
&lt;/head&gt;</pre></div></div></div></div></div></div></div>


</p>
<p>Unser  DIV sollte nun als roter quadratischer Kasten angezeigt werden.</p>
<p>&nbsp;</p>
<p>Jeder mit Mensch mit Englischkenntnissen versteht was hier passiert ist.<br />
Ich habe dem DIV folgende Eigenschaften Zugeteilt:</p>
<ul>
<li>width: 50px; ← bedeutet, dass das DIV 50px breit ist.</li>
<li>height: 50px; ← bedeutet, dass das DIV 50px hoch ist.</li>
<li>background-color: red; ← bedeutet, dass das DIV eine rote Hintergrundfarbe hat.</li>
</ul>
<p>Man kann ein DIV natürlich noch mit vielen weiteren Eigenschaften bearbeiten.<br />
Nun, du solltest nun wissen was ein DIV ist und wie man es mit Eigenschaften sichtbar macht.</p>
<p>&nbsp;</p>
<h3>Ein Layout erstellen &#8211; Schritt 1</h3>
<p>So, nun da du ungefähr weißt was DIVs sind können wir Anfang diese Webseite hier nachzubauen.<br />
Dieses Layout besitzt einen Header, eine Navigation und einen Content.<br />
Wir müssen nun diese 3 Bereiche als DIVs scheiben:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">&lt;divid=&quot;header&quot;&gt;Meine Homepage&lt;/div&gt;
&lt;divid=&quot;navi&quot;&gt;Inhalt&lt;/div&gt;
&lt;divid=&quot;content&quot;&gt;Inhalt&lt;/div&gt;</pre></div></div></div></div></div></div></div>


</p>
<p>Unglaublich aber war, mehr brauch man nicht für ein DIV Layout.<br />
Nun müssen wir aber diese 3 DIVs natürlich noch in unserem Stylesheet Bereich bearbeiten. Doch bevor das passiert müssen wir erst etwas anderes bearbeiten. Und zwar den Body Tag. Der Body Tag schließt alles sichtbare auf der Webseite ein. Ich habe unsere Seite mal mit folgenden Eigenschaften belegt:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1">body <span class="br0">&#123;</span>
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">800px</span><span class="sy0">;</span><span class="coMULTI">/* Breite des Layouts */</span>
<span class="kw1">margin-left</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span><span class="coMULTI">/* Der Wert &quot;auto&quot; platzieren das Layout mittig. Vorraussetzung: width. */</span>
<span class="kw1">margin-right</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#5d5d5d</span><span class="sy0">;</span><span class="coMULTI">/* Hintergrundfarbe */</span>
<span class="kw1">font-family</span><span class="sy0">:</span> <span class="st0">&quot;Trebuchet MS&quot;</span><span class="sy0">,</span> Arial<span class="sy0">,</span> Helvetica<span class="sy0">,</span> <span class="kw2">sans-serif</span><span class="sy0">;</span><span class="coMULTI">/* Schriftart */</span>
<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">12px</span><span class="sy0">;</span><span class="coMULTI">/* Schriftgröße */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>Ich habe die einzelnen Eigenschaften mit Kommentaren versehen um ihre Auswirkungen zu beschreiben.<br />
Nun kommt der Header:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1"><span class="re0">#header</span> <span class="br0">&#123;</span>
<span class="kw1">height</span><span class="sy0">:</span> <span class="re3">80px</span><span class="sy0">;</span><span class="coMULTI">/* Höhe des Headers */</span>
<span class="kw1">max-width</span><span class="sy0">:</span> <span class="re3">800px</span><span class="sy0">;</span><span class="coMULTI">/* Max. Breite, damit der Header das Layout nicht sprengt. */</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#fff</span><span class="sy0">;</span><span class="coMULTI">/* Hintergrundfarbe */</span>
<span class="kw1">text-align</span><span class="sy0">:</span> <span class="kw2">center</span><span class="sy0">;</span><span class="coMULTI">/* Text wird mittig (&quot;center&quot;) platziert. */</span>
<span class="kw1">padding-top</span><span class="sy0">:</span> <span class="re3">50px</span><span class="sy0">;</span><span class="coMULTI">/* 20px innerer Abstand vom Rand zum Text */</span>
<span class="kw1">font-size</span><span class="sy0">:</span> <span class="re3">24px</span><span class="sy0">;</span><span class="coMULTI">/* Schriftgröße soll 24px betragen. */</span>
<span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">bold</span><span class="sy0">;</span><span class="coMULTI">/* Schrift soll FETT erscheinen */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>Nun sollte die Seite aus einem grauen Hintergrund und unserem Header bestehen.<br />
Machen wir also weiter mit den anderen DIVs um das Layout zu vervollständigen. Hier kommt die Navigation:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1"><span class="re0">#navi</span> <span class="br0">&#123;</span>
<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><span class="coMULTI">/* Div wird nach links (&quot;left&quot;) ausgerichtet. */</span>
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">120px</span><span class="sy0">;</span><span class="coMULTI">/* Breite der Navigation */</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#fff</span><span class="sy0">;</span><span class="coMULTI">/* Hintergrundfarbe */</span>
<span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">3px</span><span class="sy0">;</span><span class="coMULTI">/* 3px innerer Abstand vom Rand zum Text */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>Hier kommt jetzt die Eigenschaft &#8220;float&#8221; ins Spiel, welche sehr wichtig ist. Denn DIV&#8217;s haben die Angewohnheit sich untereinander zu Positionieren. Doch wenn wir alle DIVs untereinander machen würden, hätten wir keine Seitennavigation mehr. Also, &#8220;float&#8221; setzt das DIV in die angegebene Position, sodass das folgende DIV anstatt darunter, daneben gesetzt wird. Allerdings muss dieses nachfolgende DIV die gleiche Eigenschaft besitzen, so wie ich es hier beim Content gemacht habe:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1"><span class="re0">#content</span> <span class="br0">&#123;</span>
<span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span><span class="coMULTI">/* Div wird nach links (&quot;left&quot;) ausgerichtet. */</span>
<span class="kw1">width</span><span class="sy0">:</span> <span class="re3">668px</span><span class="sy0">;</span><span class="coMULTI">/* Breite des Contents */</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#fff</span><span class="sy0">;</span><span class="coMULTI">/* Hintergrundfarbe */</span>
<span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">3px</span><span class="sy0">;</span><span class="coMULTI">/* 3px innerer Abstand vom Rand zum Text */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>So, nun solltest du schon eine Ähnlichkeit zu diesem Layout hier und dem, welches du gemacht hast erkennen.<br />
Allerdings fehlt jetzt noch der Inhalt des Contents und der Navigation, also auf zu Schritt 2!</p>
<p>&nbsp;</p>
<h3>Ein Layout erstellen &#8211; Schritt 2</h3>
<p>So, das Grundgerüst steht. Nun kümmern wir uns um den Inhalt.             Angefangen im Content. Wir machen nun eine Überschrift, ebenfalls als DIV.<br />
Wir schreiben also nun in das Content DIV folgendes:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">&lt;div class=&quot;titel&quot;&gt;Titel&lt;/div&gt;</pre></div></div></div></div></div></div></div>


</p>
<p>Dieses DIV unterscheidet sich ein wenig von den anderen. Es hat anstatt einer ID eine Klasse. Wieso? Weil wir davon ausgehen, dass diese Titel mehrmals in einem Dokument vorkommen werden. Nun müssen wir es auch dementsprechend in dem Stylesheet Bereich bearbeiten:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1">&lt;/span<span class="sy0">&gt;</span>
<span class="re1">.titel</span> <span class="br0">&#123;</span>
<span class="kw1">width</span><span class="sy0">:</span><span class="re3">100%</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* Breite des DIVs (&quot;100%&quot; = automatische max. Breite) */</span>&lt;/em<span class="sy0">&gt;</span>
<span class="kw1">height</span><span class="sy0">:</span> <span class="re3">17px</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* Höhe des DIVs */</span>&lt;/em<span class="sy0">&gt;</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#069</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* Hintergrundfarbe */</span>&lt;/em<span class="sy0">&gt;</span>
<span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#fff</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* Schriftfarbe */</span>&lt;/em<span class="sy0">&gt;</span>
<span class="kw1">text-align</span><span class="sy0">:</span> <span class="kw2">center</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* Textausrichtung (&quot;center&quot; = mittig)*/</span>&lt;/em<span class="sy0">&gt;</span>
<span class="kw1">padding-top</span><span class="sy0">:</span> <span class="re3">3px</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* 3px innerer Abstand zum Rand */</span>&lt;/em<span class="sy0">&gt;</span>
<span class="kw1">margin-bottom</span><span class="sy0">:</span> <span class="re3">10px</span><span class="sy0">;</span>&lt;em<span class="sy0">&gt;</span><span class="coMULTI">/* 10px äußerer Abstand zum Rand */</span>&lt;/em<span class="sy0">&gt;</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>Diesen DIV kannst du immer dann einsetzen, wenn du einen neuen Titel brauchst.<br />
Nun kommen wir zu der Navigation, hier kommen etwas mehr Eigenschaften auf uns zu.<br />
Als erstes füllen wir unsere Navigation mit einem Titel und ein paar Links. Das kann dann so aussehen:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="html"><pre class="de1">&lt;div id=&quot;navi&quot;&gt;
&lt;div class=&quot;titel&quot;&gt;Navigation&lt;/div&gt;
&lt;a href=&quot;#&quot;&gt;Link&lt;/a&gt;
&lt;a href=&quot;#&quot;&gt;Link&lt;/a&gt;
&lt;a href=&quot;#&quot;&gt;Link&lt;/a&gt;
&lt;/div&gt;</pre></div></div></div></div></div></div></div>


</p>
<p>So und nun kommen wir zu dem Stylesheet Bereich. Die Links in dem Navi DIV werden so angesprochen:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1"><span class="re0">#navi</span> a <span class="br0">&#123;</span>
<span class="kw1">color</span><span class="sy0">:</span> <span class="kw1">black</span><span class="sy0">;</span><span class="coMULTI">/* Schriftfarbe */</span>
<span class="kw1">text-decoration</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span><span class="coMULTI">/* Link wird nicht unterstrichen */</span>
<span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">block</span><span class="sy0">;</span><span class="coMULTI">/* Setzt alle Links untereinander */</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#DDD</span><span class="sy0">;</span><span class="coMULTI">/* Hintergrundfarbe */</span>
<span class="kw1">max-width</span><span class="sy0">:</span> <span class="re3">116px</span><span class="sy0">;</span><span class="coMULTI">/* Breite des Links */</span>
<span class="kw1">margin-bottom</span><span class="sy0">:</span> <span class="re3">3px</span><span class="sy0">;</span><span class="coMULTI">/* 3px äußerer Abstand zum Rand */</span>
<span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">3px</span><span class="sy0">;</span><span class="coMULTI">/* 3px innerer Abstand zum Rand */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>Nun sollten die Links in der Navigation aussehen wie in diesem Layout hier.<br />
Doch wir müssen noch zwei kleine extras zu den Links einbauen.<br />
Extra nr.1 ist ein &#8220;Hover&#8221;-Effekt, der erscheint, wenn man mit der Maus über einen Link fährt.<br />
Und das machen wir so im Stylesheet Bereich:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1"><span class="re0">#navi</span> a<span class="re2">:hover </span><span class="br0">&#123;</span>
<span class="kw1">background-color</span><span class="sy0">:</span> <span class="re0">#CCC</span><span class="sy0">;</span><span class="coMULTI">/* Hintergrundfarbe */</span>
<span class="kw1">color</span><span class="sy0">:</span> <span class="re0">#fff</span><span class="sy0">;</span><span class="coMULTI">/* Schriftfarbe */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>So und jetzt noch als letztes eine Einstellung, die bereits besuchte Links nicht Lila verfärbt:</p>
<p>

<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="css"><pre class="de1"><span class="re0">#navi</span> a<span class="re2">:visited </span><span class="br0">&#123;</span>
<span class="kw1">color</span><span class="sy0">:</span> <span class="kw1">black</span><span class="sy0">;</span><span class="coMULTI">/* Schriftfarbe */</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div>


</p>
<p>So, nun ist alles Fertig!!</p>
<p>Du hast nun ein komplettes Layout aus DIVs erstellt und kannst es jetzt noch weiter bearbeiten.<br />
Wenn du sehen willst, wie ich die DIVs mit dem HTML Code gemacht habe oder den Footer am unteren Rand, schau einfach im Quelltext.</p>
<p>Du kannst dieses Layout weiterhin verwenden wenn du magst.</p>
<p>&nbsp;</p>
<p>Liebe Grüße Take!</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://www.punkt16.de/2009/10/ein-div-layout-erstellen/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://www.punkt16.de/2009/10/ein-div-layout-erstellen/" data-lang="de">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://www.punkt16.de/2009/10/ein-div-layout-erstellen/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://www.punkt16.de/2009/10/ein-div-layout-erstellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

