Anastasis 48 Report post Posted November 10, 2016 Ας αρχίσουμε από το σκαρί της σελίδας κώδικας: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Menu</title> </head> <body> </body> </html> Μέσα στο body θα τοποθετήσουμε το menu που επιθυμούμε με την χρήση τον elements <div>, <ul> & <li> το οποιο θα είναι αυτής της μορφής: κώδικας: <div id="Menu"> <ul> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li><a href="#">Link 4</a></li> </ul> </div> Έπειτα θα προσθέσουμε ένα Stylesheet με το όνομα Menu.css κώδικας: #Menu { float: left; width: 200px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 0.8em; } #Menu ul { margin: 0px; padding: 0px; list-style-type: none; } #Menu li { margin: 0px; } #Menu a { display: block; padding: 4px 4px 4px 25px; border-right: 1px solid #000000; border-left: 1px solid #000000; border-bottom: 1px solid #000000; background-color: #599d7e; color: #ffffff; } #Menu a:link, #Menu a:visited { color: #ffffff; background-color: #599d7e; text-decoration: none; } #Menu a:hover, #Menu a:active { color: #333333; background-color: #599d7e; text-decoration: none; } Τώρα θα εισάγουμε το StyleSheet που φτιάξαμε μέσα στην σελίδα μας, οποτε πάνω από το </head> τοποθετούμε τον ακόλουθο κώδικα: κώδικας: <style type="text/css"> <!-- @import url(Menu.css); --> </style> Τώρα το menu αυτό λειτουργεί σε Firefox και σε Opera (μπορεί και αλλου αλλα δεν έχω δοκιμάσει άλλους) για να λειτουργήσει σε IE 5 πρέπει να εισάγουμε ένα CSS hack το οποιο θα το εισάγουμε μέσα σε Conditional Commentο κώδικας θα τοποθετηθεί πάνω από το </head> κώδικας: <!--[if IE 5]> <style type="text/css"> #Menu a { height: 1em; float: left; clear: both; width: 100%; } </style> <![endif]--> το StyleSheet αυτό θα λειτουργήσει μονο όταν η έκδοση του IE είναι η έκδοση 5 Παρ' ολ' αυτά το menu δεν λειτουργεί σε IE 6 και σε IE 7 οποτε θα πρέπει να ορίσουμε άλλο ένα CSS Hack το οποιο θα είναι μέσα σε Conditional Comment κώδικας: <!--[if gte IE 6]> <style type="text/css"> #Menu a { height: 1em; } </style> <![endif]--> το StyleSheet αυτό θα λειτουργήσει μονο όταν η έκδοση του IE είναι 6 η μεγαλύτερηgte = greater than or equal to (=μεγαλύτερο η ίσο με) Τώρα με μερικές αλλαγές στον κώδικα μπορούμε να μετατρέψουμε το κάθετο menu σε οριζόντιο. στο Menu.css θα πρέπει να εφαρμόσουμε τις εξής αλλαγές: από: κώδικας: #Menu { float: left; width: 200px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 0.8em; } σε: κώδικας: #Menu { float: left; width: 100%; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 0.8em; } από: κώδικας: #Menu li { margin: 0px; } σε: κώδικας: #Menu li { float: left; white-space: nowrap; margin: 0 0 1em 0; padding: 0; } από: κώδικας: #Menu a { display: block; padding: 4px 4px 4px 25px; border-right: 1px solid #000000; border-left: 1px solid #000000; border-bottom: 1px solid #000000; background-color: #599d7e; color: #ffffff; } σε: κώδικας: #Menu a { padding: 4px 50px 4px 25px; border-right: 1px solid #000000; border-left: 1px solid #000000; border-bottom: 1px solid #000000; background-color: #599d7e; color: #ffffff; } από: κώδικας: <!--[if IE 5]> <style type="text/css"> #Menu a { height: 1em; float: left; clear: both; width: 100%; } </style> <![endif]--> <!--[if gte IE 6]> <style type="text/css"> #Menu a { height: 1em; } </style> <![endif]--> σε: κώδικας: <!--[if gte IE 5]> <style type="text/css"> #Menu a { position: relative; height: 1em; } </style> <![endif]--> και έτσι έχουμε δημιουργήσει ένα οριζόντιο menu απλά και γρήγορα! Με τον ίδιο τρόπο μπορούμε να φτιάξουμε και dropdown menusmanu.html κώδικας: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Menu</title> <style type="text/css"> <!-- @import url(menu.css); --> </style> <script type="text/javascript"> <!-- subHover = function() { var subEls = document.getElementById("Menu").getElementsByTagName("LI"); for (var i=0; i<subEls.length; i++) { subEls.onmouseover=function() { this.className+=" subhover"; } subEls.onmouseout=function() { this.className=this.className.replace(new RegExp("subhover\\b"), ""); } } } if (window.attachEvent) window.attachEvent("onload", subHover); //--> </script> </head> <body> <div id="Menu"> <ul> <li><a href="#">Category 1</a></li> <li><a href="#">Category 2</a> <ul> <li><a href="#">Sub Category 1</a></li> <li><a href="#">Sub Category 2</a> <ul> <li><a href="#">Sub Category 2.1</a></li> <li><a href="#">Sub Category 2.2</a></li> </ul> </li> </ul> </li> <li><a href="#">Category 3</a></li> <li><a href="#">Category 4</a></li> </ul> </div> </body> </html> menu.css κώδικας: #Menu, #Menu ul { list-style: none; padding: 0; margin: 0 0 1em 0; width: 60em; line-height: 1em; } #Menu li { float: left; white-space: nowrap; margin: 0; padding: 0; width: 10em; } #Menu a { background-color: #599d7e; color: #ffffff; padding: 4px 70px 4px 25px; border-right: 1px solid #000000; border-left: 1px solid #000000; border-bottom: 1px solid #000000; display: block; width: 10em; text-decoration: none; /*/*/ width: 6em; /* */ } #Menu a:link, #Menu a:visited { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 0.8em; color: #ffffff; background-color: #599d7e; white-space: nowrap; } #Menu a:hover, #Menu a:active { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 0.8em; color: #000000; background-color: #599d7e; white-space: nowrap; } #Menu a.parentItem { background: url(images/arrow.gif) center right no-repeat; } #Menu li ul { position: absolute; left: -999em; height: auto; width: 8em; margin: 0; } #Menu li:hover ul ul, #Menu li.subhover ul ul { left: -999em; } #Menu li:hover ul, #Menu li li:hover ul, #Menu li.subhover ul, #Menu li li.subhover ul { left: auto; } #Menu li:hover ul ul, #Menu li:hover ul ul ul, #Menu li.subhover ul ul, #Menu li.subhover ul ul ul { left: -999em; } #Menu li:hover ul, #Menu li li:hover ul, #Menu li li li:hover ul, #Menu li.subhover ul, #Menu li li.subhover ul, #Menu li li li.subhover ul { left: auto; } #Menu li li { padding-right: 0; width: 8em; } #Menu li li a { width: 10em; width: 4em; } #Menu li ul ul { margin: -1.55em 0 0 8.8em; } 1 Quote Share this post Link to post Share on other sites