منوی راحت را با استفاده از CSS باز کنید. منوی کشویی عمودی در CSS: چگونه آن را بسازید
از نویسنده: من از همه استقبال می کنم به هر دلیلی، منوی کشویی از مدیران وب با اسکریپت ها مرتبط است، اما برای مدت زمان طولانی برای ایجاد چنین ناوبری شما می توانید به طور کامل به راحتی بر روی CSS خالص. علاوه بر این، چنین منو بدتر نخواهد بود. امروز من به شما نشان خواهم داد که چگونه یک منوی کشویی را در CSS ایجاد کنم. من آن را به اشتراک می گذارم، بنابراین برای صحبت کردن، دستور غذا.
برنامه درس و علامت گذاری منو ما
به طور کلی، ابتدا ما تعریف خواهیم کرد که چگونه منو را ایجاد می کنیم. در HTML5، روش استاندارد برای ایجاد آن در کانتینر NAV در نظر گرفته شده است لیست مشخص شده. بیا انجامش بدیم. مارکرها، ما بعدا با CSS حذف می کنیم، در منو، آنها به طور کامل به ما نیاز ندارند.
در واقع، من بلافاصله در نشانه گذاری HTML با لیست های توزیع شده نوشتم. به این ترتیب، لیست ما دو سطح خواهد بود - این لیست های دیگر خواهد بود. یعنی، برای هر مورد 1 لیست، که یک منوی کشویی را تشکیل می دهد.
اینجا وجود دارد لحظه مهمکه این است که شما ممکن است نیازی به هر مورد برای سقوط، اما تنها برخی. بدون مشکل، پس از آن در نقاط بدون از دست دادن به سادگی لیست های سرمایه گذاری را ایجاد نمی کنند.
در واقع، در اینجا همه مارک ها:
< nav id = "nav" > < ul > < li > < a href = "#" > پاراگراف 1< / a > < ul class = "second" > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < / ul > < / li > < li > < a href = "#" > نقطه 2< / a > < ul class = "second" > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < / ul > < / li > < li > < a href = "#" > نقطه 3< / a > < ul class = "second" > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < / ul > < / li > < li > < a href = "#" > پاراگراف< / a > < ul class = "second" > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < li > < a href = "#" > زیر پا< / a > < / li > < / ul > < / li > < / ul > < / nav > |
من درک می کنم که او بزرگ است. این مسئله لیست های توزیع شده است که لازم است کد زیادی را بنویسید. اما این واقعیت را در نظر بگیرید که ما 4 مورد اصلی را انجام می دهیم و برای هر یک از منوی کشویی خواهد بود.
در واقع، من تمام شناسه ناوبری ناوبری را تنظیم کردم، و تمام لیست های سرمایه گذاری کلاس دوم سبک است که درک می کنند که آنها سرمایه گذاری می کنند.
عالی، ما برای نشانه گذاری آماده هستیم، شما می توانید در نتیجه نگاه کنید:
بله، به نظر می رسد وحشتناک است. اما اکنون ما در کار CSS گنجانده می شود و در عرض چند دقیقه ناوبری ما تبدیل خواهد شد. بیا کار کنیم.
ما CSS-Styles را نوشتیم
اولین چیزی که من انجام خواهم داد این است که تمام موارد پیش فرض را برای همه موارد متوقف کنید. آنها فقط با ما دخالت می کنند، بهتر است خود را به خود اختصاص دهند، جایی که مورد نیاز است.
* (حاشیه: 0؛ padding: 0؛)
حاشیه: 0؛ padding: 0؛ |
#NAV (ارتفاع: 70 پیکسل؛) #NAV UL (لیست سبک: هیچ؛)
#NAV ( ارتفاع: 70 پیک؛ #nav ul ( فهرست - سبک: هیچکدام؛ |
در حال حاضر ما نیاز داریم، در واقع، تصمیم می گیریم که منوی ما چه خواهد بود. افقی یا عمودی؟ من پیشنهاد می کنم ابتدا افقی را بسازید و همه چیز را در مثال خود ببینید. برای انجام این کار، چنین سبک هایی را بنویسید:
#nav\u003e ul\u003e li (شناور: چپ؛ عرض: 180px؛ موقعیت: نسبی؛)
#nav\u003e ul\u003e li ( شناور به سمت چپ؛ عرض: 180px؛ موقعیت: نسبی؛ |
توجه داشته باشید که با کمک نشانه\u003e ما به موارد لیست، که به طور مستقیم در UL سرمایه گذاری می شود، تجدید نظر می کنیم و این به طور مستقیم در NAV سرمایه گذاری می شود. این بسیار مهم است، زیرا اجازه می دهد که سبک را به نقاط لیست های پیوست اضافه کنید. واقعیت این است که با ایده من در موارد اصلی لیست ها به صورت افقی قرار می گیرد، و در توزیع - عمودی.
اما شما، البته، می توانید به طور متفاوتی انجام دهید، در هماهنگی با ایده شما. شما می توانید تمام موارد را در یک خط ایجاد کنید.
در هر صورت، کد بالا، من امیدوارم که شما را درک کنید. او باعث می شود اقلام لیست اصلی به لبه سمت چپ فشار داده شود، به طوری که همه آنها در یک خط با هم ترکیب می شوند، هرچند آنها عناصر بلوک هستند. من همچنین از آنها یک عرض واضح و موقعیت نسبی را پرسیدم.
موقعیت چیست؟ لازم است که لیست های سرمایه گذاری را تعیین کنید. اگر موقعیت خود را در CSS مطالعه کردید، احتمالا می دانید که اگر واحد موقعیت یابی نسبی را تنظیم کنید، تمام موارد موجود در آن را می توان به طور کامل در داخل این بلوک خاص قرار داده و نه کل پنجره مرورگر.
در همین حال، این چیزی است که ما قبلا دریافت کردیم:
با این تصویر شما می توانید یک نتیجه نمونه را تصور کنید. البته، ما هنوز هم باید زیبا باشیم تا اقلام را قرار دهیم تا چشم ها را در هنگام مشاهده ناوبری به رحمت دعوت کنیم.
#NAV LI A (نمایش: بلوک؛ سابقه و هدف: # 90DA93؛ Border: 1px Solid # 060a13؛ رنگ: # 060A13؛ Padding: 8px؛ متن تراز: مرکز؛ متن دکوراسیون: هیچ؛) #nav li a: hover ( سابقه و هدف: # 2F718E؛)
#nav li a ( نمایش: بلوک؛ سابقه و هدف: # 90DA93؛ مرز: 1px جامد # 060A13؛ رنگ: # 060A13؛ padding: 8px؛ متن - align: center؛ متن - دکوراسیون: هیچکدام؛ #nav li a: hover ( سابقه و هدف: # 2f718e؛ |
اول، لینک ها باید بلوک ساخته شوند. این لازم است به منظور کار داخلی داخلی و تمام خواص به درستی استفاده شود. بعد، من رنگ پس زمینه، متن، پارامترهای فریم، داخلی داخلی و هماهنگی متن را در مرکز مشخص می کنم. در نهایت، من تاکید می کنم.
تمام این پارامترها لزوما نحوه انجام نحوی را انجام نمی دهند. رنگ هایی که می توانید به صورت خودسرانه انتخاب کنید، قاب را انتخاب کنید تا دیگر استفاده کنید یا از آن استفاده کنید، می تواند کاهش یابد یا افزایش یابد.
توجه داشته باشید که در این مورد ما از علامت\u003e استفاده نکردیم، بنابراین قوانین مشخص شده به تمام لینک ها، از جمله کسانی که در موارد توزیع شده هستند اعمال می شود. بنابراین، در حال حاضر ما موارد زیر را داریم:
عالی، اما شما می فهمید که زیر پاراگراف ها نباید دیده شوند، آنها باید زمانی که روی مورد مورد نظر قرار می گیرند، نشان داده شوند. بدون این، منو ما شبیه جدول است. خوب، وقت آن است که آیتم های توزیع شده را پنهان کنید.
#nav li .second (صفحه نمایش: هیچ کدام؛ موقعیت: مطلق؛ بالا: 100٪؛)
#nav li .second ( نمایش: هیچکدام؛ موقعیت: مطلق؛ بالا: 100٪؛ |
اول، پنهان کردن لیست های کاملا متصل. ثانیا، ما از موقعیت مطلق و هماهنگی بالا می خواهیم: 100٪. این به این معنی است که منوی کشویی به وضوح تحت آیتم اصلی نمایش داده می شود که به آن تعلق دارد به وضوح کمتر از 100٪ از ارتفاع این مورد است.
در حال حاضر ما در صفحه وب فقط منوی اصلی که ما نیاز داریم را می بینیم.
ما از دست دادن
ما باید مهم ترین چیز را انجام دهیم - برای تحقق بخشیدن به از دست دادن. در این مورد هیچ چیز پیچیده ای وجود ندارد، به این کد نگاه کنید:
#nav li: شناور. ثانیه (نمایش: بلوک؛)
#NAV لی: شناور. ثانیه ( نمایش: بلوک؛ |
این کد به طور غیرمعمول کار خواهد کرد. هنگامی که شما در منوی اصلی حرکت می کنید، لیست پیوست شده قابل مشاهده خواهد بود. و تنها لیستی که در مورد که در آن مکان نما هدایت می شود، سرمایه گذاری می شود.
تنها یک مشکل جزئی وجود دارد - عرض آیتم های توزیع شده به عرض اصلی مربوط نیست. اما با اضافه کردن سبک های مربوطه به راحتی حل می شود:
#nav li li (عرض: 180px؛)
#nav li li ( عرض: 180px؛ |
همه، مشکل حل شده است:
همه چیز کاملا کار می کند هنگامی که شما روی مورد اصلی قرار می گیرید، منوی کشویی مربوطه به نظر می رسد. اگر مکان نما را به سمت خود بردارید، آن را از بین می برد. اگر مکان نما را به موارد پیوست شده ترجمه کنید، می توانید بر روی آنها کلیک کنید و به قسمت مورد نظر سایت بروید. بنابراین، ما یک منو بسیار ساده و آسان را بدون هیچ گونه اسکریپت ساخته ایم.
منو را به عمودی حذف کنید
خوب، خوب، با ناوبری افقی، ما به طور کامل فهمیدیم، اما علاوه بر سایت های او، اغلب عمودی مواجه می شود و همچنین می تواند کاهش یابد. در حقیقت، منو را از افقی به عمودی بازسازی کنید بسیار آسان است، ما باید به معنای واقعی کلمه یک زن و شوهر از خط کد را تغییر دهیم.
اول، شما باید شناور را حذف کنید: چپ در لیست نقاط اصلی. این ویژگی به این واقعیت کمک می کند که موارد ما در یک خط نمایش داده شود، اما چرا ما باید به آن نیاز داریم اگر ناوبری باید عمودی باشد؟
در حال حاضر هنوز هم برای تغییر قوانین برای انتخاب #NAV LI .second، یعنی برای لیست های سرمایه گذاری شده، یعنی، آنها باید کمی متفاوت باشند. مثل این:
#nav li .second (صفحه نمایش: هیچ؛ موقعیت: مطلق؛ چپ: 100٪؛ بالا: 0؛)
#nav li .second ( نمایش: هیچکدام؛ موقعیت: مطلق؛ چپ: 100٪؛ بالا: 0؛ |
به این ترتیب، لازم است که دو مختصات را به جای یکی ثبت نام کنید. اول، در مورد ناوبری افقی، من گفتم که، با این ایده، اقلام منو باید تحت نقاط اصلی نمایش داده شود. در مورد منوی عمودی، مناسب نیست - اقلام باید در کنار نمایش داده شوند.
بنابراین، ما تغییر می کنیم: 100٪ در سمت چپ: 100٪. علاوه بر این، هماهنگی بالا نیز مورد نیاز است. ما از آن می خواهیم 0 به طوری که منوی متصل شده در همان سطح با آیتم به آن مطابقت دارد.
همه چیز، در حال حاضر همه چیز به عنوان آن کار می کند. شما می توانید آزمایش کنید همانطور که می بینید، وقتی گفتم که شما باید تنها چند خط کد را بازنویسی کنید، دروغ نگویید.
منوی افقی با سطوح مختلف
با استفاده از رویکرد مشابه، می توانید سطح منو بیشتری ایجاد کنید اگر آن را به شدت ضروری است. به عنوان مثال، بگذارید برای چهارمین مورد لیست منوی اصلی ایجاد کنیم که در یکی از زیر موارد سرمایه گذاری می شود.
میخائیل شنبه، 2014/09/20 - 12:28
چیزی نظرت من قابل مشاهده نیست - تکراری:
===========
با تشکر از شما، اما من منو را نمی بینم (تحت int.expl-8). کسانی که. رشته کار نمی کند "ul. nAVلی: Hover UL (نمایش: بلوک؛) "
به من بگویید موضوع چیست؟
رطوبت مواد وجود دارد:
این در این خط بسیار خوب خواهد بود (ul.aaaaa li: hover ul (نمایش: بلوک؛)) برای بیان آنچه که بخشی از آن مسئول "منوی طرح" است، و چه چیزی - برای مخفی کردن اقلام از سطح لانه عمیق تر
در نمونه هایی که هر خط نظر را ارائه می دهد، خوب است.
به طور خاص، معلوم نیست چرا شما نیاز به یک رشته "