Хоризонтално CSS меню
Здравейте, тук ще ви покажа как да си направите едно чудесно хоризонтално меню чрез 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 в <head> на 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 го давам само за пример.

Успех!




/ Трябва да сте регистриран за да напишете коментар /
От: Anrth
9:54 17-04-2010
демо?
От: batmanabg
13:19 22-07-2011
Полезен урок.
От: nikssa23
6:08 01-08-2011
дай демо за да знаем има ли смисъл да тестваме !!
1