После публикации статьи 5 способов создать вертикальный аккордеон решил поискать способ создания горизонтального аккордиона. И нашел довольно простой способ здесь. Аккордеон создан с использованием JQuery. Единственным недостатком было использование графических элементов для секций аккордеона. Немного изменил код, тем более, что CSS3 позволяет создать вертикальный текст.
Итак, создаем простую основу html:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="container">
	<ul id="accordion">
      <li>
      	<div class="column1">
      	<p class="css-vertical-text">Раздел 1</p>
      	</div>
      	<div class="column2">
      	<strong>Заголовок 1</strong><br/>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. In iaculis volutpat quam, non suscipit arcu accumsan at. Aliquam pellentesque.
        </div>
      </li>
      <li>
      	<div class="column1">
      		<p class="css-vertical-text">Раздел 2</p>
      	</div>
      	<div class="column2">
        <strong>Заголовок 2</strong><br/>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. In iaculis volutpat quam, non suscipit arcu accumsan at. Aliquam pellentesque.
        </div>
      </li>
      <li>
      	<div class="column1">
      		<p class="css-vertical-text">Раздел 3</p>
      	</div>
      	<div class="column2">
        	<strong>Заголовок 3</strong><br/>
        	Lorem ipsum dolor sit amet, consectetur adipiscing elit. In iaculis volutpat quam, non suscipit arcu accumsan at. Aliquam pellentesque.
        </div>
      </li>
      <li>
      	<div class="column1">
      		<p class="css-vertical-text">Раздел 4</p>
      	</div>
      	<div class="column2">
        	<strong>Заголовок 4</strong><br/>
        	Lorem ipsum dolor sit amet, consectetur adipiscing elit. In iaculis volutpat quam, non suscipit arcu accumsan at. Aliquam pellentesque.
        </div>
    </li>
  </ul>
</div>
</body>
</html>

Подключаем JQuery и добавляем простой JavaScript код:

<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
<script>
	$(document).ready(function(){

    	activeItem = $("#accordion li:first");
    	$(activeItem).addClass('active');

    	$("#accordion li").hover(function(){
        	$(activeItem).animate({width: "50px"}, {duration:300, queue:false});
        	$(this).animate({width: "450px"}, {duration:300, queue:false});
        	activeItem = this;
    	});

	});
</script>

Добавляем стили для элементов:

<style>
body {
	font: 13px Arial, Helvetica, sans-serif;
	color: #1e1e1e;
}
#container {
	width: 610px;
}
#accordion {
list-style: none;
margin: 30px 0;
padding: 0;
height: 200px;
overflow: hidden;
background: #7d8d96;}

#accordion li {
float: left;
border-left:
display: block;
height: 170px;
width: 50px;
padding: 15px 0;
overflow: hidden;
color: #fff;
text-decoration: none;
font-size: 16px;
line-height: 1.5em;
border-left: 1px solid #fff;}

#accordion li.active {
width: 450px;
}
p.css-vertical-text {
	color:#333;
	border:0px solid red;
	writing-mode:tb-rl;
	-webkit-transform:rotate(270deg);
	-moz-transform:rotate(270deg);
	-o-transform: rotate(270deg);
	white-space:nowrap;
	display:block;
	bottom: 0;
	margin:0;
	width:130px;
	height:110px;
	font-family: ‘Trebuchet MS’, Helvetica, sans-serif;
	font-size:24px;
	font-weight:normal;
	text-shadow: 0px 0px 1px #333;
	text-align: left;
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);

}
.column1 {
	float: left;
	width: 50px;
	height: 190px;
.column2 {
	float: right;
	width: 400px;
	height: 170px;
}
</style>

Здесь стиль параграфа позволяет создать вертикальный текст раздела.
Строки

-webkit-transform:rotate(270deg);
-moz-transform:rotate(270deg);
-o-transform: rotate(270deg);

разворачивают текст параграфа на 270 градусов.
Строка

filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);

добавлена для получения нужного эффекта в IE.
Пример горизонтального аккордеона смотрим здесь.

Похожие сообщения:

  1. 5 способов создать вертикальный аккордеон.
  2. Динамическое меню с jQuery
просмотров:2 121