Главная » Файлы » Прочие скрипты » CSS |
Анимированные вкладки (табы) на CSS3 для uCoz
24.06.14, 18:49:11 | |
Классное решение. Всё больше понимаю, что настала эра CSS3 и то, что раньше нельзя было сделать без использования скрипта, теперь вполне реализуемо лишь с использованием мощи css Для начала посмотрите ДЕМО Моё тестирование в фидле: КЛИК Установка: В самый низ вашего css вставляйте: Код .tabs { position: relative; margin: 40px auto; width: 750px; } .tabs input { position: absolute; z-index: 1000; width: 120px; height: 40px; left: 0px; top: 0px; opacity: 0; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); cursor: pointer; } .tabs input#tab-2 { left: 120px; } .tabs input#tab-3 { left: 240px; } .tabs input#tab-4 { left: 360px; } .tabs label { background: #5ba4a4; background: -moz-linear-gradient(top, #5ba4a4 0%, #4e8c8a 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5ba4a4), color-stop(100%, #4e8c8a)); background: -webkit-linear-gradient(top, #5ba4a4 0%, #4e8c8a 100%); background: -o-linear-gradient(top, #5ba4a4 0%, #4e8c8a 100%); background: -ms-linear-gradient(top, #5ba4a4 0%, #4e8c8a 100%); background: linear-gradient(top, #5ba4a4 0%, #4e8c8a 100%); font-size: 15px; line-height: 40px; height: 40px; position: relative; padding: 0 20px; float: left; display: block; width: 80px; color: #385c5b; letter-spacing: 1px; text-transform: uppercase; font-weight: bold; text-align: center; text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.3); border-radius: 3px 3px 0 0; box-shadow: 2px 0 2px rgba(0, 0, 0, 0.1), -2px 0 2px rgba(0, 0, 0, 0.1); } .tabs label:after { content:''; background: #fff; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; display: block; } .tabs input:hover + label { background: #5ba4a4; } .tabs label:first-of-type { z-index: 4; box-shadow: 2px 0 2px rgba(0, 0, 0, 0.1); } .tab-label-2 { z-index: 3; } .tab-label-3 { z-index: 2; } .tab-label-4 { z-index: 1; } .tabs input:checked + label { background: #fff; z-index: 6; -webkit-animation: page 0.2s linear; -moz-animation: page 0.2s linear; -ms-animation: page 0.2s linear; -o-animation: page 0.2s linear; animation: page 0.2s linear; } .clear-shadow { clear: both; } .content { background: #fff; position: relative; width: 100%; height: 370px; z-index: 5; overflow: hidden; box-shadow: 0 -2px 3px -2px rgba(0, 0, 0, 0.2), 0 2px 2px rgba(0, 0, 0, 0.1); border-radius: 0 3px 3px 3px; } .content div { position: absolute; top: 0; padding: 10px 40px; z-index: 1; opacity: 0; -webkit-transition: all linear 0.3s; -moz-transition: all linear 0.3s; -o-transition: all linear 0.3s; -ms-transition: all linear 0.3s; transition: all linear 0.3s; } .content-1, .content-3 { -webkit-transform: translateX(-250px); -moz-transform: translateX(-250px); -o-transform: translateX(-250px); -ms-transform: translateX(-250px); transform: translateX(-250px); } .content-2, .content-4 { -webkit-transform: translateX(250px); -moz-transform: translateX(250px); -o-transform: translateX(250px); -ms-transform: translateX(250px); transform: translateX(250px); } .tabs input.tab-selector-1:checked ~ .content .content-1, .tabs input.tab-selector-2:checked ~ .content .content-2, .tabs input.tab-selector-3:checked ~ .content .content-3, .tabs input.tab-selector-4:checked ~ .content .content-4 { -webkit-transform: translateX(0px); -moz-transform: translateX(0px); -o-transform: translateX(0px); -ms-transform: translateX(0px); transform: translateX(0px); z-index: 100; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: alpha(opacity=100); opacity: 1; -webkit-transition: all ease-out 0.2s 0.1s; -moz-transition: all ease-out 0.2s 0.1s; -o-transition: all ease-out 0.2s 0.1s; -ms-transition: all ease-out 0.2s 0.1s; transition: all ease-out 0.2s 0.1s; } .content div h2, .content div h3 { color: #398080; } .content div p { font-size: 14px; line-height: 22px; font-style: italic; text-align: left; margin: 0; color: #777; padding-left: 15px; font-family: Cambria, Georgia, serif; border-left: 8px solid rgba(63, 148, 148, 0.1); } @keyframes"page" { 0% { left: 0; } 50% { left: 10px; } 100% { left: 0; } } @-moz-keyframes page { 0% { left: 0; } 50% { left: 10px; } 100% { left: 0; } } @-webkit-keyframes"page" { 0% { left: 0; } 50% { left: 10px; } 100% { left: 0; } } @-ms-keyframes"page" { 0% { left: 0; } 50% { left: 10px; } 100% { left: 0; } } @-o-keyframes"page" { 0% { left: 0; } 50% { left: 10px; } 100% { left: 0; } } Следующий код в то место, где должен быть блок со вкладками: Код <section class="tabs"> <input id="tab-1" type="radio" name="radio-set" class="tab-selector-1" checked="checked" /> <label for="tab-1" class="tab-label-1">Вкладка 1</label> <input id="tab-2" type="radio" name="radio-set" class="tab-selector-2" /> <label for="tab-2" class="tab-label-2">Вкладка 2</label> <input id="tab-3" type="radio" name="radio-set" class="tab-selector-3" /> <label for="tab-3" class="tab-label-3">Вкладка 3</label> <input id="tab-4" type="radio" name="radio-set" class="tab-selector-4" /> <label for="tab-4" class="tab-label-4">Вкладка 4</label> <div class="clear-shadow"></div> <div class="content"> <div class="content-1"> <h2>apo-ucoz.com</h2> Только у нас лучшие уникальные скрипты</p> <h3>Немного подробнее...</h3> Скриптов очень много и все они провренны перед публикацией</p> </div> <div class="content-2"> <h2>Заголовок 2</h2> Текст 2</p> <h3>Подзаголовок 2</h3> Доп. текст 2</p> </div> <div class="content-3"> <h2>Заголовок 3</h2> Текст 3</p> <h3>Подзаголовок 3</h3> Доп. текст 3</p> </div> <div class="content-4"> <h2>Заголовок 4</h2> Текст 4</p> <h3>Подзаголовок 4</h3> Доп. текст 4</p> </div> </div> </section> Материал подготовлен Apocalypse | |
Просмотров: 706 | Загрузок: 0 | |
Всего комментариев: 0 | |
| |