<?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>یک طراح وب &#187; منوی پایین افتادنی</title>
	<atom:link href="http://aliha.ir/tag/%d9%85%d9%86%d9%88%db%8c-%d9%be%d8%a7%db%8c%db%8c%d9%86-%d8%a7%d9%81%d8%aa%d8%a7%d8%af%d9%86%db%8c/feed/" rel="self" type="application/rss+xml" />
	<link>http://aliha.ir</link>
	<description>لحظاتی با سی اس اس، جی کوئری و پی اچ پی.</description>
	<lastBuildDate>Sun, 16 Oct 2011 09:19:03 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>چگونه با استفاده از سی اس اس، منوهای زیرمنودار ایجاد کنیم؟!</title>
		<link>http://aliha.ir/2008/10/08/how-to-creating-menus-with-css/</link>
		<comments>http://aliha.ir/2008/10/08/how-to-creating-menus-with-css/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 21:09:19 +0000</pubDate>
		<dc:creator>علیها</dc:creator>
				<category><![CDATA[سی اس اس]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[hover]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[margin]]></category>
		<category><![CDATA[padding]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[استایل]]></category>
		<category><![CDATA[اچ تی ام ال]]></category>
		<category><![CDATA[اکس اچ تی ام ال]]></category>
		<category><![CDATA[اینترنت اکسپلورر]]></category>
		<category><![CDATA[ترفندهای سی اس اس]]></category>
		<category><![CDATA[جاوااسکریپت]]></category>
		<category><![CDATA[زیرمنو]]></category>
		<category><![CDATA[طراحی وب]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[فهرست پایین افتادنی]]></category>
		<category><![CDATA[مرورگر وب]]></category>
		<category><![CDATA[منو]]></category>
		<category><![CDATA[منوی پایین افتادنی]]></category>

		<guid isPermaLink="false">http://aliha.wordpress.com/?p=500</guid>
		<description><![CDATA[برای ایجاد منوهای زیرمنودار (منوهای پایین افتادنی) در صفحات وب، راه های مختلفی وجود دارد که هرکدام مزایا و معایب خاص خود را دارند. به طور کلی سه روش برای ایجاد منوهای زیرمنودار وجود دارد: ۱٫ فلش ۲٫ جاوا اسکریپت ۳٫ سی اس اس ابتدا اجازه بدید هرکدام از این روش ها را بررسی کنیم ...]]></description>
			<content:encoded><![CDATA[<p>برای ایجاد منوهای زیرمنودار (منوهای پایین افتادنی) در صفحات وب، راه های مختلفی وجود دارد که هرکدام مزایا و معایب خاص خود را دارند. به طور کلی سه روش برای ایجاد منوهای زیرمنودار وجود دارد:</p>
<p><strong>۱٫ فلش<br />
۲٫ جاوا اسکریپت<br />
۳٫ سی اس اس</strong></p>
<p>ابتدا اجازه بدید هرکدام از این روش ها را بررسی کنیم و ببینیم کدام روش اصولی تر و کاربردی تر می باشد.</p>
<p><strong>۱٫ فلش:</strong> لازمه ی استفاده از این روش در مرحله ی اول تسلط کافی بر فلش است و باید کار با <a href="http://www.adobe.com/products/flash/" target="_blank">فلش</a> را بلد بود تا بتوان منوهای جالب ایجاد نمود. البته نرم افزارهایی مانند &#8220;<a href="http://www.dreamingsoft.com/123flashmenu/index.htm" target="_blank">۱۲۳ flash menu</a>&#8221; در این زمینه ارائه شده اند که منوهایی از پیش طراحی شده را در اختیار کاربر قرار میدهند و با استفاده از ابزارهایی که در خود گنجانده اند، امکان ویرایش منوها را به کاربر میدهند. یکی از معایبی که منوهای فلش دارند، ایندکس نشدن محتوای آن ها در موتورهای جستجوگر میباشد که البته اخیرا گوگل این مشکل را <a href="http://www.weblogina.com/google/google-can-not-carefree-to-craw-flash.php" target="_blank">برطرف کرده</a> و محتوای فایل های فلش اعم از همین منوها را نیز <a href="http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html" target="_blank">ایندکس می کند</a> و این مورد تا حدودی مشکلات سئو را برطرف میکند.</p>
<p><strong>۲٫ جاوا اسکریپت:</strong> بگذارید یک چیزی را همینجا بگویم! اگر میخواهید منوهای سایتتان با جاوا اسکریپت باشد، تاکید می کنم که اگر می توانید، خودتان آن را کدنویسی کنید وگرنه از کدهای آماده بپرهیزید، چرا که اگر با مشکلی رو به رو شوید، هرگز نمیتوانید مشکلتان را برطرف کنید، مگر اینکه از کسی کمک بگیرید!</p>
<p><strong>۳٫ سی اس اس:</strong> در این بین، تنها منوهایی که با استفاده از <a href="http://aliha.wordpress.com/category/%d8%b3%db%8c-%d8%a7%d8%b3-%d8%a7%d8%b3/" target="_blank">سی اس اس</a> ایجاد میشوند، از نظر سئو و ایندکس شدن کاملا بهینه و اصولی می باشند! چرا که محتوای این منوها در پرونده ی اکس اچ تی ام ال موجود است. و البته ایجاد و کدنویسی آن در مقایسه با فلش و جاوا اسکریپت، به نسبت راحت تر می باشد. اما خب مشکل دیگری که سر راه مان قرار می گیرد، عدم پشتیبانی مرورگری مثل IE (نسخه ی ۶ به پایین) از این روش است! در ادامه توضیحات بیشتری در این زمینه می دهم و البته راه حل این مشکل را هم به زودی و در مقاله ای جداگانه منتشر خواهم کرد!</p>
<p><strong>چگونه با استفاده از سی اس اس، منوهای زیرمنودار ایجاد کنیم؟!</strong></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-501" title="screenshot-css-menu" src="http://aliha.files.wordpress.com/2008/10/screenshot-css-menu.gif" alt="منوی طرا�ی شده با سی اس اس" width="379" height="119" /></p>
<p>خب، چیزهایی که لازم داریم، اینها هستند: یک فایل سی اس اس، یک فایل اکس اچ تی ام ال و یک ویرایشگر متن، مثلا نوت پد ویندوز.<br />
برای ساختن فایل سی اس اس، می توانید یک فایل متنی ایجاد کنید و پسوند آن را به css تغییر دهید و ترجیحا نام فایل را style بگذارید. یعنی در نهایت بشود:</p>
<p style="text-align: left;" dir="ltr">style.css</p>
<p>ساختید فایل رو؟! خب، حالا بریم سراغ کدنویسی&#8230;<br />
فایل سی اس اسی رو که ساختید، با کمک یک برنامه ی ویرایشگر متن، باز کنید.<br />
ما باید با کمک لیست ها این منو را طراحی کنیم. فقط کافیست کمی با تگ های ul و li، بازی کنیم. پس در ابتدا یک سلکتور با نام nav می نویسیم و پدینگ و مارجین ِش رو صفر میکنیم و به list-styleش هم مقدار none می دیم:</p>
<pre class="brush: css;">
#nav, #nav ul {
padding: 0;
margin: 0;
list-style: none;
}
</pre>
<p>حالا یک اینتر بزنید و برید خط بعدی&#8230; اینبار باید به تگ li ای که در nav قرار می گیرد، دستورات زیر را بدهیم:</p>
<pre class="brush: css;">
#nav li {
float: right;
position: relative;
width: 90px;
height: 20px;
background-color: #f6f6f6;
color: #f75801;
font: bold 70% Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
direction: rtl;
border: 1px solid #e1e1e1;
text-align: center;
padding-top: 5px;
}
</pre>
<p>به خاصیت float مقدار right دادیم، چون می خواهیم منو در قسمت راست صفحه و به صورت شناور قرار بگیره.<br />
دوباره اینتر بزنید و برید خط پایین. این دستوری که می خواهیم بنویسیم، برای این هست که وقتی کرسر موس رفت روی عناوین منو، رنگ زمینه اش تغییر کند:</p>
<pre class="brush: css;">
#nav li:hover {
background-color: #f1ff96;
}
</pre>
<p>باز هم اینتر بزنید. دستورات زیر هم وضعیت ظاهری لینک ها را تعیین می کنند:</p>
<pre class="brush: css;">
#nav a:link, #nav a:visited {
display: block;
text-decoration: none;
color: #868584;
}
#nav a:hover, #nav a:active {
display: block;
text-decoration: none;
color: #f75801;
}
</pre>
<p>اینتر لطفا! قسمت مهم اینجاست. باید محتوای منو (یعنی همان زیرمنو) را مخفی نگه داریم تا زمانی که کرسر موس رفت روی عناوین منو:</p>
<pre class="brush: css;">
#nav ul {
display: none;
position: absolute;
padding-top: 7px;
}
</pre>
<p>خاصیت display که با none مقداردهی شده، درواقع دستور میدهد که قسمت زیر منو، مخفی و غیر قابل نمایش بماند!<br />
اینتر بزنید باز هم! خب، حالا باید کمی ظاهر زیرمنو را سبک دهی کنیم. به زمینه و حاشیه اش رنگی بدهیم و موقعیتش را جمع و جور کنیم:</p>
<pre class="brush: css;">
#nav ul li {
float: none;
border: 1px solid #dded6f;
background-color: #f1ff96;
font-size: 100%;
margin: 0;
padding: 0;
padding-top: 5px;
}
</pre>
<p>اینتر فراموش نشه! باز هم با دستور زیر، رنگ زمینه ی گزینه های زیر منو ها را در زمان حرکت کرسر موس روی آن ها، تعیین می کنیم:</p>
<pre class="brush: css;">
#nav ul li:hover {
background-color: #f9ffcf;
}
</pre>
<p>آخرین اینتر را بزنید که می خواهیم یک کار قشنگ بکنیم:) یادتان که هست چند خط بالاتر، دستور مخفی کردن زیرمنوها را دادیم؟! حالا باید دستور بدهیم که هر زمان کرسر موس روی یکی از عناوین منو رفت، بی چون و چرا زیرمنوی آن نمایش یابد! فقط کافیست بگوییم:</p>
<pre class="brush: css;">
#nav li:hover ul {
display: block;
}
</pre>
<p>زیبا نیست؟! خب، فایل سی اس اس تان تکمیل شد. حالا برویم سراغ فایل اکس اچ تی ام ال! خسته که نشدید خدای ناکرده؟!<br />
فایل اکس اچ تی ام ال را بسازید. برای ساختن آن مانند ساختن فایل سی اس اس عمل کنید و نام فایل را بگذارید menu. یعنی باید بشود:</p>
<p style="text-align: left;" dir="ltr">menu.htm یا menu.html</p>
<p>خب. اول کدهای مربوط به هدر را می نویسیم:</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;title&gt;creating menus with CSS | Demo!&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
&lt;/head&gt;
</pre>
<p>حالا تگ بدنه رو باز می کنیم و لیست مورد نظر رو ایجاد می کنیم و سلکتور nav رو بهش نسبت می دهیم و بعد از اون، عناوین و زیرمنوها رو اضافه می کنیم:</p>
<pre class="brush: xml;">
&lt;body&gt;
&lt;ul id=&quot;nav&quot;&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;رنگ ها&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;آبی&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;سبز&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;نارنجی&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;آموزش ها&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;سی اس اس&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;پی اچ پی&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;جی کوئری&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;&lt;/p&gt;
</pre>
<p>واضح هست دیگه؟! در اینجا ما یک منو، دو عنوان به نام های &#8220;رنگ&#8221; و &#8220;آموزش ها&#8221; و برای هر عنوان، سه زیرمنو داریم. در آخر هم تگ html را ببندید!</p>
<p><strong>پشتیبانی از این روش</strong><br />
همون طور که در ابتدا هم گفتم، این روش در نسخه ها ی ۶ و پایین تر ِ مرورگر IE پشتیبانی نمی شود و کار نمی کند! دلیلش هم روشن است. ما برای این کار از خاصیت hover استفاده کرده ایم که این نسخه ها از مرورگر IE (یعنی نسخه های ۶ به پایین) خاصیت hover را فقط برای لینک ها می شناسند و برایشان جای تعجب دارد که بخواهید با استفاده از خاصیت hover، مثلا متنی را ظاهر و یا مخفی کنید! اما از IE7 به بعد این مشکل رفع شده و این منویی که ایجاد کردیم به درستی کار خواهد کرد. سعی می کنم به زودی مقاله ای را در این رابطه منتشر کنم و در آن به حل این مشکل پردازم. یعنی این منو بتواند در IE6 و حتی پایین تر هم کار کند!</p>
<p><strong>کمک ها</strong><br />
<span style="text-decoration: line-through;"> اگر انجام مراحل بالا برایتان مشکل است، می توانید فایل اکس اچ تی ام ال و سی اس اس آماده ی این منو را از <a href="http://www.at4shop.com/uploads/css-menu.zip">اینجا</a> دریافت نمایید.<br />
برای دیدن دموی این منو نیز به <a href="http://www.at4shop.com/css-demo/menu-demo.html" target="_blank">این صفحه</a> مراجعه فرمایید.</span>
<ul class="related_post">
<li><a href="http://aliha.ir/2009/03/24/method-of-css-summary/" title="روش های خلاصه نویسی در سی اس اس">روش های خلاصه نویسی در سی اس اس</a></li>
<li><a href="http://aliha.ir/2008/09/17/solve-the-templates-problems-and-assimilate-in-several-browsers-2/" title="رفع مشکلات و یکسان سازی قالب در مرورگرهای مختلف » دو">رفع مشکلات و یکسان سازی قالب در مرورگرهای مختلف » دو</a></li>
<li><a href="http://aliha.ir/2010/09/06/jquery-ui/" title="جی‌کوئری UI یا هرآنچه برای طراحی یک اپلیکیشن نیاز دارید">جی‌کوئری UI یا هرآنچه برای طراحی یک اپلیکیشن نیاز دارید</a></li>
<li><a href="http://aliha.ir/2009/04/10/what-is-important-in-css/" title="یک آموزش کوتاه و مهم در سی اس اس &#8211; important! چیست؟">یک آموزش کوتاه و مهم در سی اس اس &#8211; important! چیست؟</a></li>
<li><a href="http://aliha.ir/2009/02/14/new-persian-style-for-friendfeed-and-how-to-use-that/" title="استایل فارسی جدید برای فرندفید و چگونگی استفاده از آن">استایل فارسی جدید برای فرندفید و چگونگی استفاده از آن</a></li>
</ul>
<div style="direction: rtl;">
<a href="http://aliha.ir/2008/10/08/how-to-creating-menus-with-css/#comments">40 دیدگاه</a> | 
فرستادن به: <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://aliha.ir/2008/10/08/how-to-creating-menus-with-css/&title=چگونه با استفاده از سی اس اس، منوهای زیرمنودار ایجاد کنیم؟!">del.icio.us</a>
<hr />
<p align="center"><a href="http://www.irsaweb.com/"><img src="http://aliha.ir/images/irsaweb-small.png" alt="ایرساوب" /></a></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://aliha.ir/2008/10/08/how-to-creating-menus-with-css/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
	</channel>
</rss>

