آموزش کار با منوها یا Navigation Bar در CSS

سلام خدمت تمامی دوستان و همراهان محترم سایت آموزشی فری لرن ، امیدوارم که حال همگیتون خوب باشه. لطفا در ادامه با آموزش کار با منوها یا Navigation Bar در CSS با من همراه باشید.

آموزش کار با منوها یا Navigation Bar در CSS

Free-Learn

کار با منوها یا Navigation Bar در CSS

اصلا منو چیه؟ منو بطور کلی به چیزی گفته میشه که لیستی از برنامه ها یا لینک ها و.. را بتونه بصورت مرتب شده و دسته بندی شده به نمایش بگذارد.

منوها یکی از مهمترین و اساسی ترین بخش از یک وبسایت می باشند، چرا که ما به راحتی با استفاده از منوها و لینک هایی که درون آنها قرار دارد میتوانیم قسمت های مختلف یک وبسایت را مشاهده نماییم.

منوی سایت ها نیز دقیقا برای همینکار ایجاد می شوند، یعنی برای اینکه بتونن مطالب یک سایت رو بصورت دسته بندی شده و مرتب ایجاد کنند تا کاربران راحتتر بتونن مطالب مورد نظرشون رو در اون سایت پیدا کنند.

Free-Learn

حال ما برای طراحی و ایجاد منوی یک سایت ، باید ۲ کار اصلی رو انجام بدیم :

  • اول طراحی اسکلت منو ( با استفاده از زبان HTML )
  • دوم استایل دادن به منو جهت زیبایی و نمایش هرچه بهتر ( با استفاده از زبان CSS )

پس در ادامه میریم تا یاد بگیریم که چگونه میتوانیم یک منوی زیبا برای سایتمون طراحی کنیم، لطفا در ادامه و تا پایان این جلسه با من همراه باشید.

Free-Learn

انواع منو در یک صفحه وب

ما بطور کلی ۲ نمونه منو میتونیم داشته باشیم : ۱ » منوی افقی و ۲ » منوی عمودی ، که با توجه به نیاز میتونیم مشخص کنیم که منو افقی باشد و یا منوی مان عمودی.

منوی افقی : منوی ایست که آیتم های آن بصورت افقی (در عرض) قرار میگیرند و زیرآیتم های آن معمولا بصورت عمودی قرار میگیرند.

نمونه منوی افقی :

منوی عمودی : منوی ایست که آیتم های آن بصورت عمودی در زیر هم قرار میگیرند و معمولا زیرآیتم های آن هم میتواند بصورت افقی و هم بصورت عمودی  قرار میگیرند.

نمونه منوی عمودی :

Free-Learn

نحوه ایجاد منوی افقی در CSS

خب اول میخوایم یاد بگیریم که چگونه میتوانیم یک منوی افقی برای صفحه وبمان ایجاد نماییم، پس لطفا در ادامه با همراه باشید.

مرحله اول : در مرحله اول ، همونطور که در ابتدای این آموزش اشاره کردم ، ما باید اسکلت منوی مان را با استفاده از HTML و با استفاده از تگ UL طراحی و ایجاد نماییم.

ما از طریق تگ OL نیز میتوانیم اسکلت منو را پیاده سازی نماییم ولی خب چون تگ OL یک لیست مرتب شده می باشد ولی تگ UL یک لیست نامرتب ، به همین دلیل معمولا و بیشتر از تگ UL برای ساخت منو استفاده میکنند.

ایجاد اسکلت منو با استفاده از تگ UL در HTML

امتحان کنید

اگه لطف کنید و بروی دکمه امتحان کنید کلیک نمایید، میبینید که اسکلت منوی ما ایجاد شده، ولی همونطور که میبینید اصلا قیافش به منو نمیخوره! خب صددرصد درسته ، چون از این به بعدش دیگه CSS میاد وسط.

اگر در مثال بالا توجه کرده باشید یه گلوله های مشکی توپُر که متعلق به تگ UL و در کل لیست های نامرتب می باشد هم وجود دارند، خب اینا که نباید باشن وگرنه استایل منومون رو خراب میکنه، پس باید حذفشون کنیم.

مرحله دوم : استفاده از دستورات CSS جهت استایل دهی و زیباسازی منو

خب حالا میخوام اون گلوله های مشکی توپُر رو که کنار آیتم های منو هست ، حذف کنم، پس میتونم از ویژگی list-style-type جهت حذف این گلوله ها استفاده کنیم.

بصورت پیش فرض یک فضای خالی در اطراف آیتم های تگ ul توسط مرورگرها ایجاد می شود، که میتوانیم با استفاده از ویژگی های padding و margin با مقدار ۰ این فضای خالی را حذف نماییم.


امتحان کنید

حالا میخوایم کاری کنیم که گزینه های منو بصورت افقی قرار بگیرند و پشت سرهم. (در واقع میشه گفت گزینه ها بصورت اینلاین یا درون خطی قرار می گیرند)

و چون ما زبانمان فارسی می باشد، یعنی در واقع جهت متن مون از راست به چپ می باشد، پس باید گزینه های منو در سمت راست صفحه قرار بگیرند.

امتحان کنید

حالا میخوایم یه سرسامونی به لینک های موجود در منو مون بدیم، برای اینکار ما باید در CSS تگ a رو که میشه لینک هامون اول انتخاب کنیم و سپس استایل دلخواه مون رو بهش بدیم.

توضیح دستورات زیر :

  • ویژگی text-decoration : برای حذف خط زیر لینک ها
  • ویژگی padding : برای ایجاد یک فضای خالی یا فاصله در عنصر لینک
  • شبه کلاس hover : با استفاده از این شبه کلاس میتوانیم مشخص کنیم که وقتی ماوس بروی لینک ها رفت چه اتفاقی بیوفتد.

امتحان کنید

خب تموم شد، به همین راحتی تونستید یک منوی افقی ایجاد کنید، حالا در مثال زیر بطور کامل دستورات مرحله اول و دوم را میتوانید مشاهده نمایید.

امتحان کنید

Free-Learn

نحوه ایجاد منوی عمودی در CSS

برای ایجاد یک منوی عمودی در CSS ، دقیقا همون کارایی که برای ایجاد منوی افقی انجام دادیم برای منوی عمودی نیز باید انجام بدیم ، تنها نقطه تفاوت یک منوی افقی با یک منوی عمودی در ویژگی width و float می باشد.

یعنی فقط کافیه در قسمت دستورات CSS تگ UL بیایم و از ویژگی width و با یک مقدار دلخواه استفاده نماییم ، سپس در قسمت دستورات CSS تگ a دیگه لازم نیست از ویژگی float استفاده کنیم.

امتحان کنید

Free-Learn

مثال های بیشتر از کار با منوها یا Navigation Bar در CSS

مثال شماره ۱ : قرار دادن آیتم در سمت چپ منو (یا در سمت راست) بر خلاف آیتم های منو

امتحان کنید

مثال شماره ۲ : فیکس یا ثابت کردن منو در سمت بالا صفحه (در برخی از تلفن های همراه ممکن است کار نکند)

امتحان کنید

مثال شماره ۳ : فیکس یا ثابت کردن منو در سمت پایین صفحه (در برخی از تلفن های همراه ممکن است کار نکند)

امتحان کنید

Free-Learn

خب دوستان خسته نباشید به پایان این جلسه ( آموزش کار با منوها یا Navigation Bar در CSS ) رسیدیم، امیدوارم که هیچ مشکلی در این جلسه نداشته باشید و اگه هم مشکلی هست لطفا در قسمت پرسش و پاسخ CSS مشکل تان را مطرح نمایید.