Webmaster общности: Predpriemach.com | SearchEngines.bg

    Хоризонтално CSS меню

    Автор: doki

    Здравейте, тук ще ви покажа как да си направите едно чудесно хоризонтално меню чрез CSS.

    Сега си правим един .css файл с примерно име:

    menu.css

    ul#navmenu {
    margin: 0;
    border: 0 none;
    padding: 0;
    width: 500px; /*за KHTML*/
    list-style: none;
    height: 24px;
    }
    
    ul#navmenu li {
    margin: 0;
    border: 0 none;
    padding: 0;
    float: left; /*за Gecko*/
    display: inline;
    list-style: none;
    position: relative;
    height: 24px;
    }
    
    ul#navmenu ul {
    margin: 0;
    border: 0 none;
    padding: 0;
    width: 160px;
    list-style: none;
    display: none;
    position: absolute;
    top: 24px;
    left: 0;
    }
    
    ul#navmenu ul:after /*за IE 7*/{
    clear: both;
    display: block;
    font: 1px/0px serif;
    content: ".";
    height: 0;
    visibility: hidden;
    }
    
    ul#navmenu ul li {
    width: 160px;
    float: left; /*за IE 7*/
    display: block !important;
    display: inline; /*за IE*/
    }
    
    /* Root Menu */
    ul#navmenu a {
    border: 1px solid #FFF;
    border-right-color: #CCC;
    border-bottom-color: #CCC;
    padding: 0 6px;
    float: none !important; /*за Opera*/
    float: left; /*за IE*/
    display: block;
    background: #EEE;
    color: #666;
    font: bold 10px/22px Verdana, Arial, Helvetica, sans-serif;
    text-decoration: none;
    height: auto !important;
    height: 1%; /*For IE*/
    }
    
    
    ul#navmenu a:hover,
    ul#navmenu li:hover a,
    ul#navmenu li.iehover a {
    background: #CCC;
    color: #FFF;
    }
    
    
    ul#navmenu li:hover li a,
    ul#navmenu li.iehover li a {
    float: none;
    background: #EEE;
    color: #666;
    }
    
    
    ul#navmenu li:hover li a:hover,
    ul#navmenu li:hover li:hover a,
    ul#navmenu li.iehover li a:hover,
    ul#navmenu li.iehover li.iehover a {
    background: #CCC;
    color: #FFF;
    }
    
    
    ul#navmenu li:hover li:hover li a,
    ul#navmenu li.iehover li.iehover li a {
    background: #EEE;
    color: #666;
    }
    
    
    ul#navmenu li:hover li:hover li a:hover,
    ul#navmenu li:hover li:hover li:hover a,
    ul#navmenu li.iehover li.iehover li a:hover,
    ul#navmenu li.iehover li.iehover li.iehover a {
    background: #CCC;
    color: #FFF;
    }
    
    
    ul#navmenu li:hover li:hover li:hover li a,
    ul#navmenu li.iehover li.iehover li.iehover li a {
    background: #EEE;
    color: #666;
    }
    
    
    ul#navmenu li:hover li:hover li:hover li a:hover,
    ul#navmenu li.iehover li.iehover li.iehover li a:hover {
    background: #CCC;
    color: #FFF;
    }
    
    ul#navmenu ul ul,
    ul#navmenu ul ul ul {
    display: none;
    position: absolute;
    top: 0;
    left: 160px;
    }
    
    
    ul#navmenu li:hover ul ul,
    ul#navmenu li:hover ul ul ul,
    ul#navmenu li.iehover ul ul,
    ul#navmenu li.iehover ul ul ul {
    display: none;
    }
    
    ul#navmenu li:hover ul,
    ul#navmenu ul li:hover ul,
    ul#navmenu ul ul li:hover ul,
    ul#navmenu li.iehover ul,
    ul#navmenu ul li.iehover ul,
    ul#navmenu ul ul li.iehover ul {
    display: block;
    }

    Така сега за да работи под Internet Explorer менюто трябва да сложите и следния javascript в на HTML документа:

    navHover = function() {
    var lis = document.getElementById("navmenu").getElementsByTagName("LI");
    for (var i=0; i<lis.length; i++) {
    lis[i].onmouseover=function() {
    this.className+=" iehover";
    }
    lis[i].onmouseout=function() {
    this.className=this.className.replace(new RegExp(" iehover\\b"), "");
    }
    }
    }
    if (window.attachEvent) window.attachEvent("onload", navHover);

    Ето ви и примерен .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" xml:lang="en" lang="bg">
    <head>
    
    <meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />
    
    <title>Zon.bg</title>
    
    <link type="text/css" rel="stylesheet" href="menu.css" />
    
    <script language="JavaScript" src="dhtml.js" type="text/JavaScript">
    navHover = function() {
    var lis = document.getElementById("navmenu").getElementsByTagName("LI");
    for (var i=0; i<lis.length; i++) {
    lis[i].onmouseover=function() {
    this.className+=" iehover";
    }
    lis[i].onmouseout=function() {
    this.className=this.className.replace(new RegExp(" iehover\\b"), "");
    }
    }
    }
    if (window.attachEvent) window.attachEvent("onload", navHover);
    </script>
    
    </head>
    
    <body>
    
    <ul id="navmenu">
    <li><a href="#">начало</a></li>
    
    <li><a href="#">уроци</a>
    <ul>
    <li><a href="#">php $ mysql</a>
    <ul>
    <li><a href="#">подменю 2</a></li>
    <li><a href="#">под меню 3</a></li>
    <li><a href="#">под меню 4</a></li>
    
    <li><a href="#">под меню5</a></li>
    </ul>
    </li>
    <li><a href="#">Photoshop</a></li>
    <li><a href="#">Flash</a></li>
    </ul>
    </li>
    
    <li><a href="#">Още едно меню</a>
    <ul>
    <li><a href="#">И пак меню</a>
    <ul>
    <li><a href="#">Меню</a></li>
    <li><a href="#">Меню2</a></li>
    <li><a href="#">Меню3</a></li>
    
    <li><a href="#">Меню4</a></li>
    <li><a href="#">Меню5</a></li>
    </ul>
    </li>
    <li><a href="#">Меню отново</a>
    <ul>
    <li><a href="#">дасдодад</a></li>
    
    <li><a href="#">дасдада</a></li>
    <li><a href="#">дасдасдадас</a></li>
    </ul>
    </li>
    </ul>
    </li>
    <li><a href="#">инфо</a></li>
    
    <li><a href="#">контакти</a></li>
    </ul>
    </body>
    </html>

    Този документ макар и да не е валиден xhtml strict го давам само за пример.

    Успех!

    Оставете коментар