<?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>Fatih Hayrioğlu&#039;nun not defteri &#187; Yatay Açılır Menüler</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/yatay-acilir-menuler/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fatihhayrioglu.com</link>
	<description>{ CSS, HTML ve Javascript }</description>
	<lastBuildDate>Thu, 09 Feb 2012 08:44:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=2012</generator>
		<item>
		<title>CSS ile Menü Yapmak IV &#8211; Yatay Açılır Menüler</title>
		<link>http://www.fatihhayrioglu.com/css-ile-menu-yapmak-iv-yatay-acilir-menuler/</link>
		<comments>http://www.fatihhayrioglu.com/css-ile-menu-yapmak-iv-yatay-acilir-menuler/#comments</comments>
		<pubDate>Thu, 09 Nov 2006 04:52:31 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[css-menü]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[liste]]></category>
		<category><![CDATA[menü]]></category>
		<category><![CDATA[Yatay Açılır Menüler]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=217</guid>
		<description><![CDATA[Güncelleme: Bu makale bazı sorunlar nedeni ile 19/12/2006 tarihinde yeniden düzenlenmiştir. Bir önceki makalede dikey açılır menüleri gördük. Bu makalede yatay açılır menülere bir örnek vereceğiz. Html kodumuz aynı olsun İlk olarak satır başı boşluklarını ve imgeleri kaldıralım. Dikey menüde olduğu gibi. Daha sonra menümüzü yatay hale getirmek için float özelliğini kullanalım. Normalde bunun için [...]]]></description>
			<content:encoded><![CDATA[<div style="border:1px solid #ddd; color:#f00; padding:8px; margin-bottom:10px"><strong>Güncelleme:</strong> Bu makale bazı sorunlar nedeni ile 19/12/2006 tarihinde yeniden düzenlenmiştir.</div>
<p><a href="http://www.fatihhayrioglu.com/?p=216">Bir önceki makalede</a> dikey açılır menüleri gördük. Bu makalede yatay açılır menülere bir örnek vereceğiz. Html kodumuz aynı olsun<br />
  <span id="more-217"></span>
</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;menu&quot; &gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Anasayfa&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Haberler&lt;/a&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;şirket Haberleri &lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Yurt içi Haberleri &lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Yurt dışı Haberleri&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Ürünler&lt;/a&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Tencere&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Tava&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Ütü&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Tost Makinesi &lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;El Süpürgesi &lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
</pre>
<p align="center"><img src="/images/menu3_resim1.gif" width="182" height="214" /></p>
<p>İlk olarak satır başı boşluklarını ve imgeleri kaldıralım. Dikey menüde olduğu gibi. </p>
<pre class="brush: css; title: ; notranslate">
ul#menu, ul#menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
</pre>
<p>Daha sonra menümüzü yatay hale getirmek için <strong>float </strong>özelliğini kullanalım. Normalde bunun için <strong>display:inline</strong> kodunu da kullanabiliriz.(Bkz. <a href="http://www.fatihhayrioglu.com/?p=211">CSS ile Menü Yapmak II &#8211; Yatay Menüler</a>) Sonra ilk linkleri göreceli olarak konumlandırmalıyız. Bu konumlandırma aslında ikinci kademe açılacak menüye mutlak konumlandırma yapılması için kullanılır. </p>
<div class="ekstrabilgi">Göreceli olarak konumlandırılmış(postion:relative) bir elementin içindeki Mutlak Konumlandırılmış(position:absolute) bir element içerik blokunun(burada menünün ilk linkleri) üst,sağ,sol ve alttından hizalandıralabilir. Bu kullanım bize bir çok uygulmada yardımcı olacaktır ve bu kullanım ile çok güzel sonuçlar elde edeceğiz.</p>
<p style="text-align:right; margin-bottom:0"><a href="http://www.fatihhayrioglu.com/?p=151">CSS ile konumlandırma(positioning)</a></p>
</div>
<pre class="brush: css; title: ; notranslate">
ul#menu li {
    float: left;
    position: relative;
    width: 150px;
}
</pre>
<p>Sonra ikincil linkleri sayfaya ilk açıldığında görünmez(display:none) yapalım. Birincil linklere göre konumlandırmak için postion:absolute özelliği ve top:19px (satır yüksekliği 15px + 2px alttan(sonra ekleyeceğiz) + 2px üstten(sonra ekleyeceğiz)) özelliğini kullanalım. </p>
<pre class="brush: css; title: ; notranslate">
ul#menu li ul {
    display: none;
    position: absolute;
    top: 19px; /* yukseklik 15px + sonradan eklenecek paddingler 4px toplam 19px */
    left: 0;
}
</pre>
<p>Yalnız burada IE sorun çıkaracaktır. IE ve Opera ikincil menüleri konumlandırmasında sorun çıkarır, bunu engellemek için:</p>
<pre class="brush: css; title: ; notranslate">
ul#menu li &gt; ul {
    top: auto;
    left: auto;
}
</pre>
<p align="center"><img src="/images/menu4_resim2.gif" width="451" height="30" /></p>
<p>Görünümü biraz güzelleştirelim:</p>
<pre class="brush: css; title: ; notranslate">
ul#menu li a {
    font: bold 11px arial, helvetica, sans-serif;
    display: block;
    border-width: 1px;
    border-style: solid;
    border-color: #ccc #888 #555 #bbb;
    margin: 0;
    padding: 2px 3px;
    color: #000;
    background: #efefef;
    text-decoration: none;
}
</pre>
<p>ve rollover hali için:</p>
<pre class="brush: css; title: ; notranslate">
ul#menu li a:hover {
    color: #a00;
    background: #fff;
}
</pre>
<p>Sonra birincil linklerin üzerine gelince ikincil linklerin görünmesi için:</p>
<pre class="brush: css; title: ; notranslate">
ul#menu li:hover ul {
	display: block;
}
</pre>
<p><a href="http://www.fatihhayrioglu.com/?p=216">Önceki makalede</a> belirttiğimiz gibi bu kod IE&#8217;de çalışmayacaktır. IE&#8217;de çalışması için aşağıdaki kodları yazmalıyız.</p>
<pre class="brush: jscript; title: ; notranslate">
startList = function() {
    if (document.all&amp;&amp;document.getElementById) {
        navRoot = document.getElementById(&quot;menu&quot;);
        for (i=0; i&lt;navRoot.childNodes.length; i++) {
            node = navRoot.childNodes[i];
            if (node.nodeName==&quot;LI&quot;) {
                node.onmouseover=function() {
                this.className+=&quot; over&quot;;
                }
                node.onmouseout=function() {
                this.className=this.className.replace(&quot; over&quot;, &quot;&quot;);
                }
            }
        }
    }
}
window.onload=startList;
</pre>
<p>Ayrıca aşağıdaki kodu da eklemeliyiz.</p>
<pre class="brush: css; title: ; notranslate">
ul#menu li:hover ul, ul#menu li.over ul{
	display: block;
}
</pre>
<p>Önemli bir not olarak koddaki <span class="alternatifard"><em>&lt;ul id=&quot;<strong>menu</strong>&quot; &gt;</em></span> ve javascriptteki <span class="alternatifard"><em>navRoot = document.getElementById(&quot;<strong>menu</strong>&quot;);</em></span> aynı olmasına dikkat edelim. </p>
<p>işte sonuç:</p>
<p><iframe src="/dokumanlar/menu4.htm" width="480" height="250" frameborder="0" scrolling="auto"></iframe></p>
<p>şimdiye kadar anlatılan menü kodlarında işin yapısı öğretilmeye çalışılmıştır. Bu kodları kullanarak çok çeşitli menüler yapılabilir, bunu gerek internette arayarak ve gerekse kaynaklar bölümündeki linklere göz atarak görebilirsiniz. Bir çok menü türü bu şekilde tasarlanabilir.  alt kademeli, değişik renklerde ve değişik ebatlarda menü yapılabilir.</p>
<p>Örnek kodları <a href="http://www.fatihhayrioglu.com/dokumanlar/menu4yeni.zip">indir</a></p>
<h6>Kaynaklar</h6>
<ul>
<li><a href="http://www.alistapart.com/articles/dropdowns/">http://www.alistapart.com/articles/dropdowns/</a></li>
<li><a href="http://www.compassdesigns.net/tutorials/joomla-tutorials/css-drop-down-menu.html">http://www.compassdesigns.net/</a></li>
<li><a href="http://www.tanfa.co.uk/css/examples/menu/tutorial-h.asp#hs6">http://www.tanfa.co.uk/css/examples/menu/tutorial-h.asp#hs6</a></li>
<li><a href="http://www.cssplay.co.uk/menus/index.html">http://www.cssplay.co.uk/menus/index.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-ile-menu-yapmak-iv-yatay-acilir-menuler/feed/</wfw:commentRss>
		<slash:comments>199</slash:comments>
		</item>
	</channel>
</rss>

