نحوه ساخت زیر منو

فهرست مطالب:

نحوه ساخت زیر منو
نحوه ساخت زیر منو

تصویری: نحوه ساخت زیر منو

تصویری: نحوه ساخت زیر منو
تصویری: ۲۰ تا از آبروبرترین سوتی های تلویزیونی 2024, نوامبر
Anonim

از منویی با بخشهای منوی کشویی در طرح بندی سایت استفاده می شود تا ساختار بخشها و زیرمجموعه ها ضمن صرفه جویی در فضای صفحه ، با وضوح بیشتری ارائه شود. اجرای چنین مکانیسمی چندان دشوار نیست: یکی از نمونه های اجرای آن در مقاله آورده شده است.

نحوه ساخت زیر منو
نحوه ساخت زیر منو

دستورالعمل ها

مرحله 1

در زیر کد منبع کامل صفحه آورده شده است. توصیف سبک ها مستقیماً در متن صفحه قرار می گیرند. نه html و نه css این نوع از پیاده سازی منو شامل ساختارهای پیچیده ای نیست که نیاز به توضیح دقیق داشته باشد.

گام 2

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN"

"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

منوی کشویی ساده با زیرمجموعه ها

* {

font-family: arial؛

اندازه قلم: 16px؛

}

/ * برای مرورگرهای قدیمی اینترنت اکسپلورر * /

body {رفتاری: url ("csshover.htc")؛}

اول ، لی ، یک {

نمایش: بلوک؛

حاشیه: 0؛

بالشتک: 0؛

حاشیه: 0؛

}

اول {

عرض: 150 پیکسل

حاشیه: نقره جامد 1 پیکسل؛

زمینه: سفید؛

سبک لیست: هیچ؛

}

لی {

موقعیت: نسبی؛

بالشتک: 1px؛

رنگ پس زمینه: نقره ای

z-index: 9؛

}

li.folder {background-color: silver؛}

li.folder ul {

موقعیت: مطلق؛

سمت چپ: 111px؛ / * فقط اینترنت اکسپلورر * /

بالا: 5px؛

}

li.folder> ul {سمت چپ: 140px؛} / * برای دیگران * /

آ {

بالشتک: 2px؛

حاشیه: 1px جامد سفید؛

دکوراسیون متن: هیچ؛

رنگ سیاه؛

font-weight: پررنگ؛

عرض: 100٪ / * برای IE * /

}

li> a {width: auto؛} / * برای دیگران * /

لی یک {

نمایش: بلوک؛

عرض: 140 پیکسل؛

}

li a.submenu {

background-color: yellow؛

}

/ * فصل * /

a: شناور {

حاشیه رنگ: خاکستری؛

background-color: قرمز؛

رنگ سیاه؛

}

پوشه a: شناور {

background-color: قرمز؛

}

/ * بخشها * /

li.folder: شناور {z-index: 10؛}

ul ul، li: hover ul ul {display: none؛}

li: شناور ul ، li: شناور li: شناور ul {display: block؛}

  • 1. فصل
  • 2. بخش

    • 2.1 فصل
    • 2.2 بخش

      • 2.2.1 فصل
      • 2.2.2 فصل
      • 2.2.3 فصل
    • 2.3 فصل
  • 3. بخش

    • 3.1 فصل
    • 3.2 فصل
    • 3.3 فصل
  • 4. فصل
منو با لیست های کشویی زیر منوها
منو با لیست های کشویی زیر منوها

مرحله 3

اگر می خواهید از گزینه پشتیبانی از تغییرات مرورگر قدیمی استفاده کنید ، یک خط اضافی باید به بلوک شرح سبک اضافه شود (بلافاصله بعد از آن) (نیازی به افزودن نظر ندارید):

/ * برای مرورگرهای IE قدیمی * /

body {رفتاری: url ("csshover.htc")؛}

مرحله 4

سپس یک صفحه جداگانه ایجاد کنید که محتوای آن در زیر نشان داده شده است.

window. CSSHover = (تابع () {var m = / (^ | / s) ((([^ a] ([^] +)؟) | (a ([^ ^.] [^] +) +))):(شناور | فعال | تمرکز)) / i ؛ var n = / (. *؟):(شناور | فعال | تمرکز) / i ؛ var o = / [^:] +: ([az / -] +). * / i ؛ var p = / (. ([a-z0-9 _ / -] +): [az] +] | (: [az] +) / gi ؛ var q = / \. ([a-z0-9 _ / -] * روشن (شناور | فعال | تمرکز)) / i؛ var s = / msie (5 | 6 | 7) / i؛ var t = / backcompat / i؛ var u = {index: 0، list: ['text-kashida'، 'text-kashida-space'، 'text-justify']، دریافت: function () {return this.list [(this.index ++)٪ this. list.length]}}؛ var v = function (c) {return c.replace (/-(.)/ mg، function (a، b) {return b.toUpperCase ()})}}؛ var w = {عناصر: ، callbacks: {} ، init: function () {if (! s.test (navigator.userAgent) &&! t.test (window.document.compatMode)) {return} var a = window.document.styleSheets ، l = a.length؛ for (var i = 0؛ i <l؛ i ++) {this.parseStylesheet (a )}}، parseStylesheet: تابع (a) {if (a.imports) {try {var b = a. imports؛ var l = b.length؛ for (var i = 0؛ i <l؛ i ++) {this.parseStylesheet (a.imports )}}} catch (securityException) {} } سعی کنید {var c = a. rules؛ var r = c.length؛ for (var j = 0؛ j <r؛ j ++) {this.parseCSSRule (c [j]، a)}} ca tch (someException) {}}، parseCSSRule: تابع (a، b) {var c = a.selectorText؛ if (m.test (c)) {var d = a.style.cssText؛ var e = n.exec (ج) [1] ؛ var f = c.replace (o ، 'on $ 1')؛ var g = c.replace (p، '. $ 2' + f)؛ var h = q.exec (g) [1]؛ var i = e + h؛ if (! this.callbacks ) {var j = u.get ()؛ var k = v (j)؛ b.addRule (e، j + ': عبارت (CSSHover (این ، "'+ f +'" ، "'+ h +'" ، "'+ k +'"))) ")؛ this.callbacks = true} b.addRule (g، d)} } ، patch: تابع (a، b، c، d) {try {var f = a.parentNode.currentStyle [d]؛ a.style [d] = f} catch (e) {a.runtimeStyle [d] = ''} if (! a.csshover) {a.csshover = } if (! a.csshover [c]) {a.csshover [c] = true؛ var g = new CSSHoverElement (a، b، c) ؛ this.element.push (g)} return b}، unload: function () {try {var l = this.element.length؛ for (var i = 0؛ i <l؛ i ++) {this.element ها .unload ()} this.element = ؛ this.callbacks = {}} catch (e) {}}}؛ var x = {onhover: {activator: 'onmouseenter'، غیرفعال: 'onmouseleave'} ، onactive: {activator: 'onmousedown'، deactivator: 'onmouseup'}، onfocus: {activator: 'onfocus'، deactivator: 'onblur'}}؛ عملکرد CSSHoverElement (a، b، c) {this.node = a؛ این ype = b؛ var d = new RegExp ('(^ | / s)' + c + '(s | $)'، 'g')؛

this.activator = function () {a.className + = " + c}؛ this.deactivator = function () {a.className = a.className.replace (d، ")}؛ a.attachEvent (x .activator، this.activator)؛ a.attachEvent (x .deactivator، this.deactivator)} CSSHoverElement.prototype = {unload: function () {this.node.detachEvent (x [this.type]). فعال كننده ، این فعال كننده)؛ this.node.detachEvent (x [this.type].deactivator، this.deactivator)؛ this.activator = null؛ this.deactivator = null؛ this.node = null؛ this.type = null }}؛ window.attachEvent ('onbeforeunload'، تابع () {w.unload ()})؛ بازگشت عملکرد (a، b، c، d) {if (a) {return w.patch (a، b، c) ، د)} دیگری {w.init ()}}})) ()؛

مرحله 5

این صفحه باید با نام csshover.htc ذخیره شود و در همان مکان صفحه اصلی قرار گیرد.

توصیه شده: