четверг, сентября 18, 2008

Горизонтальное выпадающее меню для блога на Wordpress

Для начала, вот как это будет выглядеть: горизонтальное меню + выпадающее меню горизонтальным списком:

Чтобы сделать подобное, нам понадобиться внести изменения в исходный код меню блога. Обычно это в файле header.php. Находим нужное место и заменяем следующим кодом, который выведет весь список страниц/категорий и подкатегорий.

 <ul id="nav2" class="clearfloat"> <li><a href="<?php echo get_option('home'); ?>/" class="on">Home</a></li> <?php wp_list_categories('orderby=name&exlude=181&title_li=');  	$this_category = get_category($cat);  	if (get_category_children($this_category->cat_ID) != "") {  		echo "<ul>"; wp_list_categories('orderby=id&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID);  		echo "</ul>";  	} 	?> </ul>

свадьба - самое прекрасное событие в жизни невесты, поэтому надо хорошо подготовиться и посмотреть красивые свадебные платье.

Компания “Софт-Сервис” успешно проводит профессиональное обслуживание компьютеров уже более 4-х лет.

Нужен Автоинструктор - обучение вождению автомобиля, автомат, АКПП.

Отпуск в Одессе будет беззаботным, если заранее позаботиться о квартире, пока недвижимость в Одессе доступна по низким ценам.

мягкие игрушки - самый лучший подарок для малышей. Теперь приобрести игрушку еще проще, когда есть Интернет-магазин Darling Toy.

Все еще ремонтируете? Тогда мы идем к вам! Советы и рекомендации о ремонте.

Теперь пропишем стили для нашего меню, кроме того, мы можем оформить и выпадающее меню, без использования JS (за исключением IE6).

#nav2{         background-color: #202020;         display: block;         font-size:1.1em;         height:50px;         width:100%; }  #nav2, #nav2 ul { 	line-height: 1; 	list-style: none; }  #nav2 a ,#nav2 a:hover{ 	border:none; 	display: block; 	text-decoration: none; }  #nav2 li { 	float: left; 	list-style:none; }  #nav2 a,#nav2 a:visited { 	color:#109dd0; 	display:block; 	font-weight:bold; 	padding:6px 12px; }  #nav2 a:hover, #nav2 a:active { 	color:#fff; 	text-decoration:none }	  #nav2 li ul { 	border-bottom: 1px solid #a9a9a9; 	height: auto; 	left: -999em; 	position: absolute; 	width: 900px; 	z-index:999; }  #nav2 li li { 	width: auto; }  #nav2 li li a,#nav2 li li a:visited {         color:#109dd0; 	font-weight:normal; 	font-size:0.9em; }  #nav2 li li a:hover,#nav2 li li a:active { 	color:#fff; }	  #nav2 li:hover ul, #nav2 li li:hover ul, #nav2 li li li:hover ul, #nav2 li.sfhover ul, #nav2 li li.sfhover ul, #nav2 li li li.sfhover ul { 	left: 30px; }

Как только вы добавите CSS код в ваш файл стилей, у вас получиться замечательное xhtml/css валидное выпадающее меню. Если вам нужна поддержка IE6, то придется добавить еще несколько строчек JS кода:

 <!--//--><![CDATA[//><!--  sfHover = function() { 	var sfEls = document.getElementById("nav2").getElementsByTagName("LI"); 	for (var i=0; i<sfEls.length; i++) { 		sfEls[i].onmouseover=function() { 			this.className+=" sfhover"; 		} 		sfEls[i].onmouseout=function() { 			this.className=this.className.replace(new RegExp(" sfhover\\b"), ""); 		} 	} } if (window.attachEvent) window.attachEvent("onload", sfHover);  //--><!]]>

Готово!

P.S. Осталось 3 дня до окончания конкурса! Читайте 4ю подсказку в RSS и заберите свой приз! :)

Здесь можно оставить свои комментарии. Выпуск подготовленплагином wordpress для subscribe.ru