Эффект назван «аккордеоном» потому, что принцип его работы похож на работу музыкального инструмента аккордеона.
Для того чтобы добыть звук, играющий растягивает и стягивает мехи аккордеона. А на сайте это выглядит так: например, есть несколько вкладок со скрытым текстом – значит, мехи «аккордеона» сжаты; а при нажатии на вкладку, текст открывается – мехи растянулись.
Где можно использовать эффект «Аккордеон» на сайте:
- для меню;
- для страницы FAQ (ответы на часто задаваемые вопросы);
- для формы с комментариями;
- для вывода на странице полезных или последних материалов;
- и прочее
Разобрались!
Теперь пришло время рассказать о трех способах, с помощью которых можно создать эффект «Аккордеон» на сайте:
- с помощью jQuery;
- с помощью CSS3;
- с помощью HTML5.
Способ №1 (с помощью jQuery)
Подключаем библиотеку jQuery, если не знаете, как это делать, читайте здесь:
<script ENGINE="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
Теперь сам скрипт:
<script type="text/javascript"> $(document).ready(function(){ $('#accordion-js').find('h2').click(function(){ $(this).next().stop().slideToggle(); }).next().stop().hide(); }); </script>
HTML код:
<div id="accordion-js" class="accordion"> <h2>Заголовок 1</h2> <p>Здесь находится контент...</p> <h2>Заголовок 2</h2> <p>Здесь находится контент...</h2> <h2>Заголовок 3</h2> <div> <p>Здесь находится контент...</p> </div> </div>
CSS:
h2 { color: #002850; font-size: 30px; font-weight: normal; padding: 45px 0 15px;cursor:pointer; } .accordion { border: 1px solid #ddd; border-top: none; margin: 10px 0; float: left; width: 470px; position: relative; } .accordion a { display: block; text-decoration: none; } .accordion h2, .accordion a{ background-color: #fff; background-image: url(gradient.jpg); background-image: -moz-linear-gradient(bottom, #f1f1f1, #fff); background-image: -ms-linear-gradient(bottom, #f1f1f1, #fff); background-image: -o-linear-gradient(bottom, #f1f1f1, #fff); background-image: -webkit-linear-gradient(bottom, #f1f1f1, #fff); background-image: linear-gradient(bottom, #f1f1f1, #fff); border-top: 1px solid #ddd; color: #222; font: 14px/30px 'Verdana', sans-serif; height: 30px; margin: 0; padding: 0; text-indent: 10px; } p { color: #555; font: 12px/18px 'Verdana', sans-serif; padding: 20px 10px; }
Способ №2 (с помощью CSS3)
HTML код:
<div id="accordion-css3" class="accordion"> <a href="#accordion-1">Заголовок 1</a> <p id="accordion-1">Здесь находится контент...</p> <a href="#accordion-2">Заголовок 2</a> <p id="accordion-2">Здесь находится контент...</p> <a href="#accordion-3">Заголовок 3</a> <div id="accordion-3"> <p>Здесь находится контент...</p> <p>Здесь находится контент...</p> </div> </div>
CSS:
h2 { color: #002850; font-size: 30px; font-weight: normal; padding: 45px 0 15px;cursor:pointer; } .accordion { border: 1px solid #ddd; border-top: none; margin: 10px 0; float: left; width: 470px; position: relative; } .accordion a { display: block; text-decoration: none; } .accordion h2, .accordion a{ background-color: #fff; background-image: url(gradient.jpg); background-image: -moz-linear-gradient(bottom, #f1f1f1, #fff); background-image: -ms-linear-gradient(bottom, #f1f1f1, #fff); background-image: -o-linear-gradient(bottom, #f1f1f1, #fff); background-image: -webkit-linear-gradient(bottom, #f1f1f1, #fff); background-image: linear-gradient(bottom, #f1f1f1, #fff); border-top: 1px solid #ddd; color: #222; font: 14px/30px 'Verdana', sans-serif; height: 30px; margin: 0; padding: 0; text-indent: 10px; } p { color: #555; font: 12px/18px 'Verdana', sans-serif; padding: 20px 10px; } a[href^="#accordion"] + *{display: none;} #accordion-css3 :target{display: block;}
Способ №3 (с помощью HTML5)
HTML код:
<div id="accordion-html5" class="accordion"> <details> <summary><h2>Заголовок 1</h2></summary> <p>Здесь находится контент...</p> </details> <details> <summary><h2>Заголовок 2</h2></summary> <p>Здесь находится контент...</p> </details> <details> <summary><h2>Заголовок 3</h2></summary> <p>Здесь находится контент...</p> </details> </div>
CSS:
h2 { color: #002850; font-size: 30px; font-weight: normal; padding: 45px 0 15px;cursor:pointer; } .accordion { border: 1px solid #ddd; border-top: none; margin: 10px 0; float: left; width: 470px; position: relative; } .accordion a { display: block; text-decoration: none; } .accordion h2, .accordion a{ background-color: #fff; background-image: url(gradient.jpg); background-image: -moz-linear-gradient(bottom, #f1f1f1, #fff); background-image: -ms-linear-gradient(bottom, #f1f1f1, #fff); background-image: -o-linear-gradient(bottom, #f1f1f1, #fff); background-image: -webkit-linear-gradient(bottom, #f1f1f1, #fff); background-image: linear-gradient(bottom, #f1f1f1, #fff); border-top: 1px solid #ddd; color: #222; font: 14px/30px 'Verdana', sans-serif; height: 30px; margin: 0; padding: 0; text-indent: 10px; } p { color: #555; font: 12px/18px 'Verdana', sans-serif; padding: 20px 10px; } #accordion-html5{clear: both; margin-top: 20px;} details summary::-webkit-details-marker{display: none;}
Вы можете посмотреть демонстрацию эффекта «Аккордеон» либо скачать готовый код:
[посмотреть пример] или [скачать файл]
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 329386 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274099 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 218697 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186296 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 176785
Добавить комментарий
Метки: css, html, javascript, Вебмастеру, для сайта, эффекты для сайта
Спасибо, Александр за комментарий. Планирую еще пару постов для WooCommerce…
⇒ Открыть статью ⇐