[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » КОМПЬЮТЕРЫ И ИНТЕРНЕТ » WWW лайфхаки » Всё до кучи
Всё до кучи
СталкерДата: Суббота, 25.03.2017, 15:58 | Сообщение # 1
Старейшина
Сообщений: 1050
Награды: 25
Репутация: 19
Статус: Offline
Пока у нас немного полезных советов, то кидаем все в одну тему...
Скрипты представлены в ознакомительных целях и носят сугубо информационный характер.

Автоматическое перенаправление на другой URL
Accordion меню на чистом CSS
Аккордеон простой вертикальный CSS3
Сколько времени Вы провели на странице сайта
Спойлер HTML
Тряска окна браузера
СталкерДата: Суббота, 25.03.2017, 16:08 | Сообщение # 2
Старейшина
Сообщений: 1050
Награды: 25
Репутация: 19
Статус: Offline
Спойлер изначально закрыт

Код
<details>
    <summary>Открыть спойлер</summary>
    <pre>появляющаяся информация</pre>
    <p>появляющийся объект
</details>


Спойлер изначально открыт

Код

<details open>
    <summary>Закрыть спойлер</summary>
    <pre>исчезающая информация</pre>
    <p>исчезающий текст
</details>
СталкерДата: Суббота, 21.10.2017, 10:08 | Сообщение # 3
Старейшина
Сообщений: 1050
Награды: 25
Репутация: 19
Статус: Offline
Accordion меню на чистом CSS

HTML разметка

Само меню будет находиться в с классом ac-container. Внутри каждого раздела разместим checkbox и , который будет привязан к input по соответствующему ID.
Код
<section class="ac-container">
    <div>
        <input id="ac-1" name="accordion-1" type="checkbox" checked />
        <label for="ac-1">О нас</label>
        <article>
            <p>Какой нибудь замечательный текст... </p>
        </article>
    </div>
    <div>
        <input id="ac-2" name="accordion-1" type="checkbox" />
        <label for="ac-2">Услуги</label>
        <article>
            <p>Какой нибудь замечательный текст...</p>
        </article>
    </div>
    <div>
        <input id="ac-3" name="accordion-1" type="checkbox" />
        <label for="ac-3">Портфолио</label>
        <article>
            <p>Какой нибудь замечательный текст...</p>
        </article>
    </div>
    <div>
        <input id="ac-4" name="accordion-1" type="checkbox" />
        <label for="ac-4">Контакты</label>
        <article>
            <p>Какой нибудь замечательный текст...</p>
        </article>
    </div>
</section>


CSS стили

Укажем ширину основного блока и размести его по центру страницы
Код

.ac-container{
    width: 400px;
    margin: 10px auto 30px auto;
}

Простилизуем
. C помощью него мы будем симулировать нажатие на input. Добавим относительное позиционирование и z-index. Для красоты отображения укажем градиент:
Код

.ac-container label{
    font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;
    padding: 5px 20px;
    position: relative;
    z-index: 20;
    display: block;
    height: 30px;
    cursor: pointer;
    color: #777;
    text-shadow: 1px 1px 1px rgba(255,255,255,0.8);
    line-height: 33px;
    font-size: 19px;
    background: -moz-linear-gradient(top, #ffffff 1%, #eaeaea 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,#ffffff), color-stop(100%,#eaeaea));
    background: -webkit-linear-gradient(top, #ffffff 1%,#eaeaea 100%);
    background: -o-linear-gradient(top, #ffffff 1%,#eaeaea 100%);
    background: -ms-linear-gradient(top, #ffffff 1%,#eaeaea 100%);
    background: linear-gradient(top, #ffffff 1%,#eaeaea 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaeaea',GradientType=0 );
    box-shadow:
  0px 0px 0px 1px rgba(155,155,155,0.3),
  1px 0px 0px 0px rgba(255,255,255,0.9) inset,
  0px 2px 2px rgba(0,0,0,0.1);
}
}

.ac-container label:hover{
    background: #fff;
}


При нажатом input добавим стиль для соотвествующего выделенного
при открытом блоке меню:
Код

.ac-container input:checked + label,
.ac-container input:checked + label:hover{
    background: #c6e1ec;
    color: #3d7489;
    text-shadow: 0px 1px 1px rgba(255,255,255, 0.6);
    box-shadow:
        0px 0px 0px 1px rgba(155,155,155,0.3),
        0px 2px 2px rgba(0,0,0,0.1);
}

С помощью псевдо-класса :after добавим иконки стрелочек вверх и вниз для label при наведении
Код

.ac-container label:hover:after,
.ac-container input:checked + label:hover:after{
    content: '';
    position: absolute;
    width: 24px;
    height: 24px;
    right: 13px;
    top: 7px;
    background: transparent url(http://netcribe.com/example/arrow_down.png) no-repeat center center;  
}

.ac-container input:checked + label:hover:after {
    background-image: url(http://netcribe.com/example/arrow_up.png);
}


Прячем input и стилизуем article:
.
Код
ac-container input{
    display: none;
}

.ac-container article{
    background: rgba(255, 255, 255, 0.5);
    margin-top: -1px;
    overflow: hidden;
    height: 0px;
    position: relative;
    z-index: 10;
    -webkit-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -moz-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -o-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -ms-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
}
.ac-container input:checked ~ article{
     -webkit-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -moz-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -o-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    -ms-transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
    box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3);
    height 100px;
}

.ac-container article p{
    font-style: italic;
    color: #777;
    line-height: 23px;
    font-size: 14px;
    padding: 20px;
    text-shadow: 1px 1px 1px rgba(255,255,255,0.8);
}


Обидно только, что для article необходимо указывать фиксированную высоту. Если параметр height будет auto то анимация не будет работать.

источник: https://m.habrahabr.ru/post/174029/
СталкерДата: Суббота, 21.10.2017, 10:14 | Сообщение # 4
Старейшина
Сообщений: 1050
Награды: 25
Репутация: 19
Статус: Offline
Простой вертикальный CSS3 аккордеон
1. CSS
Код
.accordion {   background-color: #eee;    border: 1px solid #ccc;   width: 600px;   padding: 10px;   margin: 50px auto;   -moz-border-radius: 3px;   -webkit-border-radius: 3px;   border-radius: 3px;   -moz-box-shadow: 0 1px 0 #999;   -webkit-box-shadow: 0 1px 0 #999;   box-shadow: 0 1px 0 #999;   }.accordion section {    border-bottom: 1px solid #ccc;   margin: 5px;   background-color: #fff;   background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));   background-image: -webkit-linear-gradient(top, #fff, #eee);   background-image:    -moz-linear-gradient(top, #fff, #eee);   background-image:     -ms-linear-gradient(top, #fff, #eee);   background-image:      -o-linear-gradient(top, #fff, #eee);   background-image:         linear-gradient(top, #fff, #eee);     -moz-border-radius: 5px;   -webkit-border-radius: 5px;   border-radius: 5px;   }.accordion h2, .accordion p {   margin: 0;   }.accordion p {   padding: 10px;   }.accordion h2 a {   display: block;   position: relative;   font: 14px/1 'Trebuchet MS', 'Lucida Sans';   padding: 10px;   color: #333;   text-decoration: none;   -moz-border-radius: 5px;   -webkit-border-radius: 5px;   border-radius: 5px;   }.accordion h2 a:hover {   background: #fff;   }.accordion h2 + div {   height: 0;   overflow: hidden;   -moz-transition: height 0.3s ease-in-out;   -webkit-transition: height 0.3s ease-in-out;   -o-transition: height 0.3s ease-in-out;   transition: height 0.3s ease-in-out;   }.accordion :target h2 a:after {   content: '';   position: absolute;   right: 10px;   top: 50%;   margin-top: -3px;   border-top: 5px solid #333;   border-left: 5px solid transparent;   border-right: 5px solid transparent;   }.accordion :target h2 + div {   height: 200px;   }

2. HTML
Код
<div class="accordion">   <section id="one">      <h2><a href="#one">Заголовок 1</a></h2>      <div>         <p>Рыба представляет собой бессмысленный текст, который нужен для наполнения шаблона, создания нескольких тестовых постов, на примере которых можно проверить, как будет выглядеть сайт. Еще одной целью использования текстовой рыбы является естественное распределение пробелов и букв в абзацах, которого невозможно достигнуть, если использовать короткий осмысленный текст, размноженный дублированием. Наверняка вы уже догадались, что речь идет о Lorem Ipsum - это словосочетание часто встречается на демо-сайтах.</p>      </div>   </section>   <section id="two">      <h2><a href="#two">Заголовок 2</a></h2>      <div>         <p>Рыба представляет собой бессмысленный текст, который нужен для наполнения шаблона, создания нескольких тестовых постов, на примере которых можно проверить, как будет выглядеть сайт. Еще одной целью использования текстовой рыбы является естественное распределение пробелов и букв в абзацах, которого невозможно достигнуть, если использовать короткий осмысленный текст, размноженный дублированием. Наверняка вы уже догадались, что речь идет о Lorem Ipsum - это словосочетание часто встречается на демо-сайтах.</p>      </div>   </section>   <section id="three">      <h2><a href="#three">Заголовок 3</a></h2>      <div>         <p>Рыба представляет собой бессмысленный текст, который нужен для наполнения шаблона, создания нескольких тестовых постов, на примере которых можно проверить, как будет выглядеть сайт. Еще одной целью использования текстовой рыбы является естественное распределение пробелов и букв в абзацах, которого невозможно достигнуть, если использовать короткий осмысленный текст, размноженный дублированием. Наверняка вы уже догадались, что речь идет о Lorem Ipsum - это словосочетание часто встречается на демо-сайтах.</p>      </div>   </section>   <section id="four">      <h2><a href="#four">Заголовок 4</a></h2>      <div>         <p>Рыба представляет собой бессмысленный текст, который нужен для наполнения шаблона, создания нескольких тестовых постов, на примере которых можно проверить, как будет выглядеть сайт. Еще одной целью использования текстовой рыбы является естественное распределение пробелов и букв в абзацах, которого невозможно достигнуть, если использовать короткий осмысленный текст, размноженный дублированием. Наверняка вы уже догадались, что речь идет о Lorem Ipsum - это словосочетание часто встречается на демо-сайтах.</p>      </div>   </section>   <section id="five">      <h2><a href="#five">Заголовок 5</a></h2>      <div>         <p>Рыба представляет собой бессмысленный текст, который нужен для наполнения шаблона, создания нескольких тестовых постов, на примере которых можно проверить, как будет выглядеть сайт. Еще одной целью использования текстовой рыбы является естественное распределение пробелов и букв в абзацах, которого невозможно достигнуть, если использовать короткий осмысленный текст, размноженный дублированием. Наверняка вы уже догадались, что речь идет о Lorem Ipsum - это словосочетание часто встречается на демо-сайтах.</p>      </div>   </section></div>

источник: http://jemand.ru/prostoj-vertikalnyj-css3-akkordeon/
пример: http://jemand.ru/examples/prostoj-vertikalnyj-css3-akkordeon.html
ВоронДата: Суббота, 13.01.2018, 10:08 | Сообщение # 5
Завсегдатай
Сообщений: 302
Награды: 1
Репутация: 0
Статус: Offline
Автоматическое перенаправление на другой URL

эта часть вставляется в head:
Код

<script language="JavaScript">
<!--
// время паузы перед перенаправлением в секундах
//     0 =  0 секунд
//  5000 =  5 секунд
// 10000 = 10 секунд
pause_time = 5000;

// URL - куда идет перенаправление
transfer_location = "http://www.новый_адрес.com";

function transfer() {
if (document.images)
  setTimeout('location.replace("'+transfer_location+'");',pause_time);
else
  setTimeout('location.href = transfer_location;',pause_time);
}
// -->
</script>

эта строка дописывается к body:
Код
onLoad="transfer()"

СталкерДата: Вторник, 10.04.2018, 16:13 | Сообщение # 6
Старейшина
Сообщений: 1050
Награды: 25
Репутация: 19
Статус: Offline
тряска окна браузера

Веселый скрипт. При нажатии на кнопку окно браузера начинает трястись.

эта часть вставляется в head:
Код

<script language="JavaScript1.2">
<!-- Begin
function shake(n) {
if (parent.moveBy) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
parent.moveBy(0,i);
parent.moveBy(i,0);
parent.moveBy(0,-i);
parent.moveBy(-i,0);
         }
      }
   }
}
// End -->
</script>

эта часть вставляется в body:
Код

<form>
<input type="button" onClick="shake(2)" value="потряси!!!">
</form>
СталкерДата: Вторник, 10.04.2018, 16:15 | Сообщение # 7
Старейшина
Сообщений: 1050
Награды: 25
Репутация: 19
Статус: Offline
показывает, сколько времени Вы провели на странице сайта


эта часть вставляется в head:
Код

<script language="Javascript">
<!-- Begin
pageOpen = new Date();
function bye() {
pageClose = new Date();
minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
time = (seconds + (minutes * 60));
if (time == 1) {
time = (time + " секунд");
}
else {
time = (time + " секунды");
   }
alert('Вы пробыли на сайте ' + time + ' В следующий раз оставайтесь дольше!');
}
// End -->
</script>

эта строка дописывается к body:

Код
OnUnload="bye()"


Форум » КОМПЬЮТЕРЫ И ИНТЕРНЕТ » WWW лайфхаки » Всё до кучи
  • Страница 1 из 1
  • 1
Поиск: