Sådan Oprettes En Undermenu

Indholdsfortegnelse:

Sådan Oprettes En Undermenu
Sådan Oprettes En Undermenu

Video: Sådan Oprettes En Undermenu

Video: Sådan Oprettes En Undermenu
Video: Padstack Editor - Sådan oprettes en SMD padstack 2024, Kan
Anonim

En menu med drop-down undermenu sektioner bruges i webstedslayout for mere tydeligt at præsentere strukturen for sektioner og underafsnit, samtidig med at der spares plads på siden. Det er ikke så svært at implementere en sådan mekanisme: et af implementeringseksemplerne er givet i artiklen.

Sådan oprettes en undermenu
Sådan oprettes en undermenu

Instruktioner

Trin 1

Nedenfor er den komplette kildekode på siden. Beskrivelser af typografier placeres direkte i sidens tekst. Hverken html eller css i denne variant af menuimplementeringen indeholder komplekse konstruktioner, der kræver detaljeret forklaring.

Trin 2

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

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

Enkel rullemenu med underafsnit

* {

font-familie: arial;

skriftstørrelse: 16 pixel;

}

/ * til ældre IE-browsere * /

krop {adfærd: url ("csshover.htc");}

ul, li, en {

display: blok;

margen: 0;

polstring: 0;

grænse: 0;

}

ul {

bredde: 150px;

kant: 1 px solid sølv;

baggrund: hvid;

liste-stil: ingen;

}

li {

position: relativ;

polstring: 1px;

baggrundsfarve: sølv;

z-indeks: 9;

}

li.mappe {baggrundsfarve: sølv;}

li.mappe ul {

position: absolut;

venstre: 111px; / * Kun IE * /

top: 5 px;

}

li.folder> ul {venstre: 140px;} / * for andre * /

en {

polstring: 2 px;

kant: 1 px solid hvid;

tekst-dekoration: ingen;

farve: sort;

font-vægt: fed;

bredde: 100%; / * for IE * /

}

li> a {bredde: auto;} / * for andre * /

li a {

display: blok;

bredde: 140px;

}

li a.submenu {

baggrundsfarve: gul;

}

/ * Kapitler * /

a: svæv {

kant-farve: grå;

baggrundsfarve: rød;

farve: sort;

}

li.mappe a: svæv {

baggrundsfarve: rød;

}

/ * Sektioner * /

li.mappe: svæver {z-indeks: 10;}

ul ul, li: svæver ul ul {display: none;}

li: svæver ul, li: svæver li: svæver ul {display: blok;}

  • 1. Kapitel
  • 2. Afsnit

    • 2.1 Kapitel
    • 2.2 Afsnit

      • 2.2.1 Kapitel
      • 2.2.2 Kapitel
      • 2.2.3 Kapitel
    • 2.3 Kapitel
  • 3. Afsnit

    • 3.1 Kapitel
    • 3.2 Kapitel
    • 3.3 Kapitel
  • 4. Kapitel
Menu med rullelister over undermenuer
Menu med rullelister over undermenuer

Trin 3

Hvis du vil bruge muligheden for at understøtte allerede forældede browserændringer, skal der tilføjes en ekstra linje til stilbeskrivelsesblokken (umiddelbart efter) (du behøver ikke tilføje en kommentar):

/ * til ældre IE-browsere * /

krop {adfærd: url ("csshover.htc");}

Trin 4

Opret derefter en separat side, hvis indhold vises nedenfor.

vindue. CSSHover = (funktion () {var m = / (^ | / s) ((([^ a] ([^] +)?) | (a ([^ #.] [^] +) +)):(svæver | aktiv | fokus)) / i; var n = / (. *?):(svæver | aktiv | fokus) / i; var o = / [^:] +: ([az / -] +). * / i; var p = / (. ([a-z0-9 _ / -] +): [az] +) | (: [az] +) / gi; var q = / \. ([a-z0-9 _ / -] * on (svæver | aktiv | fokus)) / i; var s = / msie (5 | 6 | 7) / i; var t = / backcompat / i; var u = {index: 0, liste: ['text-kashida', 'text-kashida-space', 'text-justify'], get: function () {returner this.list [(this.index ++)% dette. list.length]}}; var v = funktion (c) {return c.replace (/-(.)/ mg, function (a, b) {return b.toUpperCase ()})}; var w = {elements: , callbacks: {}, init: funktion () {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: function (a) {if (a.imports) {try {var b = a. import; var l = b.length; for (var i = 0; i <l; i ++) {this.parseStylesheet (a.imports )}} catch (securityException) {} } prøv {var c = a. regler; var r = c.length; for (var j = 0; j <r; j ++) {this.parseCSSRule (c [j], a)}} ca tch (someException) {}}, parseCSSRule: funktion (a, b) {var c = a.selectorText; hvis (m.test (c)) {var d = a.style.cssText; var e = n.exec (c) [1]; var f = c.placering (o, 'på $ 1'); var g = c.placering (p, '. $ 2' + f); var h = q.exec (g) [1]; var i = e + h; hvis (! This.callbacks ) {var j = u.get (); var k = v (j); b.addRule (e, j + ': udtryk (CSSHover (dette, "'+ f +'", "'+ h +'", "'+ k +'")) '); this.callbacks = true} b.addRule (g, d)} }, patch: funktion (a, b, c, d) {prøv {var f = a.parentNode.currentStyle [d]; a.style [d] = f} fangst (e) {a.runtimeStyle [d] = ''} hvis (! a.csshover) {a.csshover = } hvis (! a.csshover [c]) {a.csshover [c] = sand; var g = ny CSSHoverElement (a, b, c); this.elements.push (g)} return b}, unload: function () {prøv {var l = this.elements.length; for (var i = 0; i <l; i ++) {this.elements .unload ()} this.elements =; this.callbacks = {}} fangst (e) {}}}; var x = {onhover: {aktivator: 'onmouseenter', deaktivering: 'onmouseleave'}, onactive: {activator: 'onmousedown', deactivator: 'onmouseup'}, onfocus: {activator: 'onfocus', deactivator: 'onblur'}}; function CSSHoverElement (a, b, c) {this.node = a; this.t ype = b; var d = ny RegExp ('(^ | / s)' + c + '(s | $)', 'g');

this.activator = funktion () {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]. activator, this.activator); this.node.detachEvent (x [this.type].deactivator, this.deactivator); this.activator = null; this.deactivator = null; this.node = null; this.type = null }}; window.attachEvent ('onbeforeunload', function () {w.unload ()}); returfunktion (a, b, c, d) {if (a) {return w.patch (a, b, c, d)} andet {w.init ()}}}) ();

Trin 5

Denne side skal gemmes med navnet csshover.htc og placeres på samme sted som hovedsiden.

Anbefalede: