Аккордион

Вертикальный аккордеон.

Рассмотрим реализацию аккордеона на CSS. Его можно применять для создания вертикального меню, которое раскрывается вниз.



Упрощённо можно представить так (только для изображений).
<style type="text/css">
.gallery {width: 480px; line-height: 0px;} 

.gallery img, .gallery:hover img:first-child {height: 30px; width: 480px;} 

.gallery img:hover, .gallery img:first-child, .gallery:hover img:first-child:hover {height: 333px;} 
</style>

<div class="gallery">
<img alt="" src="URL_изо"/>
<img alt="" src="URL_изо"/>
<img alt="" src="URL_изо"/>
<img alt="" src="URL_изо"/>
</div>





Горизонтальный аккордеон.

Далее по аналогии.
<style type="text/css">
.galleryh {width: 490px;} 

.galleryh img, .galleryh:hover img:first-child {height: 333px; width: 30px; padding: 0px; outline: groove #9a3425;} 

.galleryh img:hover, .galleryh img:first-child, .galleryh:hover img:first-child:hover {width: 400px;} 
</style>

<div class="galleryh">
<img alt="" src="URL_изо"/><img alt="" src="URL_изо"/><img alt="" src="URL_изо"/><img alt="" src="URL_изо"/></div>

Кот в мискеКот и мышьКот и мышиСпящий кот


  • HTML
    <ul class="horizontalaccordion1">
    <li id="raz1"><a href="#raz1">HTML</a><div>Информация первого слайда.</div></li>
    <li id="dva1"><a href="#dva1">CSS</a><div>Информация второго слайда.</div></li>
    <li id="tri1"><a href="#tri1">Автор</a><div>Информация третьего слайда.</div></li>
    </ul>
  • CSS
    <style type="text/css">
    .horizontalaccordion1 {
      margin: 0; padding: 0;
      height: 300px;
    }

    .horizontalaccordion1>li {
      overflow: hidden;
      float:left;
      margin: 0; padding: 0;
      list-style:none;
      width:40px;
      height: 300px;
      background:#f0f0f0;
      transition: width 0.3s; -moz-transition: width 0.3s; -webkit-transition: width 0.3s; -o-transition: width 0.3s;
    }

    .horizontalaccordion1>li>a {
      display: inline-block;
      margin: 0; padding: 10px;
      height: 19px;
      width: 280px;
      border-left:#f0f0f0 1px solid;
      font-family: Arial, Helvetica, sans-serif;
      text-decoration: none;
      color: #000;
      background: #ccc;
      white-space:nowrap;
      background: -moz-linear-gradient(#999999, #cccccc);
      background: -ms-linear-gradient(#999999, #cccccc);
      background: -o-linear-gradient(#999999, #cccccc);
      background: -webkit-linear-gradient(#999999, #cccccc);
      -moz-transform: rotate(90.0deg) translate(-40px,0px); /* FF3.5+ */
      -moz-transform-origin: 0 100%;
      -o-transform: rotate(90.0deg) translate(-40px,0px); /* Opera 10.5 */
      -o-transform-origin: 0 100%;
      -webkit-transform: rotate(90.0deg) translate(-40px,0px); /* Saf3.1+, Chrome */
      -webkit-transform-origin: 0 100%;
      transform: rotate(90.0deg) translate(-40px,0px); /* Saf3.1+, Chrome */
      transform-origin: 0 100%;
      filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0)
              progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff999999, endColorstr=#ffcccccc); /* IE6,IE7 */
      -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0)"
                  "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff999999, endColorstr=#ffcccccc)"; /* IE8 */
    }

    .horizontalaccordion1>li>div {
      display: inline-block;
      overflow: auto;
      position:relative; top:-40px; left:40px;
      *top:0px; *left:0px; /* IE7 Hack */
      margin:0;
      width:320px;
      height:280px;
      padding:10px;
    }

    .horizontalaccordion1>li:target {
      overflow: hidden;
      width: 380px;
    }

    .horizontalaccordion1>li:target>a {
      color:#fff;
      background: #000;
      background: -moz-linear-gradient(#454545, #000000);
      background: -ms-linear-gradient(#454545, #000000);
      background: -o-linear-gradient(#454545, #000000);
      background: -webkit-linear-gradient(#454545, #000000);
      filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0) progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff454545, endColorstr=#ff000000); /* IE 5.5 - IE 7 */
      -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0)"
      "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff454545, endColorstr=#ff000000)"; /* IE 8 */
    }
    </style>
  • Автор
    См. ниже, только немного подкорректирован.


  • HTML
    <ul class="horizontalaccordion">
    <li><strong>HTML</strong><div>Информация первого слайда.</div></li>
    <li><strong>CSS</strong><div>Информация второго слайда.</div></li>
    <li><strong>Автор</strong><div>Информация третьего слайда.</div></li>
    </ul>
  • CSS
    <style type="text/css">
    .horizontalaccordion {
      margin: 0; padding: 0;
      height: 300px; width:460px;
    }

    .horizontalaccordion>li, .horizontalaccordion:hover>li:last-child {
      overflow: hidden;
      float:left;
      margin: 0; padding: 0;
      list-style:none;
      width:40px;
      height: 300px;
      background:#f0f0f0;
      transition: width 0.3s; -moz-transition: width 0.3s; -webkit-transition: width 0.3s; -o-transition: width 0.3s;
    }

    .horizontalaccordion>li>strong, .horizontalaccordion:hover>li:last-child>strong {
      display: inline-block;
      margin: 0; padding: 10px;
      height: 19px;
      width: 280px;
      border-left:#f0f0f0 1px solid;
      font-family: Arial, Helvetica, sans-serif;
      text-decoration: none;
      color: #000;
      background: #ccc;
      white-space:nowrap;
      background: -moz-linear-gradient(#999999, #cccccc);
      background: -ms-linear-gradient(#999999, #cccccc);
      background: -o-linear-gradient(#999999, #cccccc);
      background: -webkit-linear-gradient(#999999, #cccccc);
      -moz-transform: rotate(90.0deg) translate(-40px,0px); /* FF3.5+ */
      -moz-transform-origin: 0 100%;
      -o-transform: rotate(90.0deg) translate(-40px,0px); /* Opera 10.5 */
      -o-transform-origin: 0 100%;
      -webkit-transform: rotate(90.0deg) translate(-40px,0px); /* Saf3.1+, Chrome */
      -webkit-transform-origin: 0 100%;
      transform: rotate(90.0deg) translate(-40px,0px); /* Saf3.1+, Chrome */
      transform-origin: 0 100%;
      filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0)
              progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff999999, endColorstr=#ffcccccc); /* IE6,IE7 */
      -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0)"
                  "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff999999, endColorstr=#ffcccccc)"; /* IE8 */
    }

    .horizontalaccordion>li>div, .horizontalaccordion:hover>li:last-child>div {
      font: 13px normal helvetica, sans-serif;
      display:none;
      overflow: auto;
      position:relative; top:-40px; left:40px;
      *top:0px; *left:0px; /* IE7 Hack */
      margin:0;
      width:320px;
      height:280px;
      padding:10px;
    }

    .horizontalaccordion>li:hover, .horizontalaccordion>li:last-child, .horizontalaccordion:hover>li:last-child:hover {
      overflow: hidden;
      width: 380px;
    }

    .horizontalaccordion:hover>li:hover>div, .horizontalaccordion>li:last-child>div, .horizontalaccordion:hover>li:last-child:hover>div {
      display: inline-block;
    }

    .horizontalaccordion:hover>li:hover>strong, .horizontalaccordion>li:last-child>strong, .horizontalaccordion:hover>li:last-child:hover>strong {
      color:#fff;
      background: #000;
      background: -moz-linear-gradient(#454545, #000000);
      background: -ms-linear-gradient(#454545, #000000);
      background: -o-linear-gradient(#454545, #000000);
      background: -webkit-linear-gradient(#454545, #000000);
      filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0) progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff454545, endColorstr=#ff000000); /* IE 5.5 - IE 7 */
      -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1.0)"
      "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff454545, endColorstr=#ff000000)"; /* IE 8 */
    }

    .horizontalaccordion>li>strong:hover {
      cursor:pointer;
    }
    </style>
  • Автор




Похожие материалы: