Анимированная кнопка скачать для аттачмента Дле

Симпатичные кнопки скачивания аттачмента Dle с 6ю разными вариациями! Сделано на чистом HTML и CSS.

Видео можно глянуть на youtube

По умолчанию стоит вариант с двумя полосками в бок!
Кнопки работают даже в IE 8!

Установка для версии 9.6. В более ранних версиях возможно, есть небольшие отличия в коде.

В engine\modules\functions.php примерно на 621 строке. Заменяем всё, что между этим:

} elseif( $config['files_count'] == 'yes' ) {

и этим:
} else {


на это:

			$replace_1[] = "<div class=\"button_download\">
			<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\">{$row['name']}</a>
		  <div class=\"leftbt\">{$lang['att_dcount']} {$row['dcount']}</div>
	      <div class=\"rightbt\">{$size}</div>
			</div>";
			
			$replace_2[] = "<div class=\"button_download\">
			<a href=\"{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}\" >\\1</a>
			<div class=\"leftbt\">{$lang['att_dcount']} {$row['dcount']}</div>
			<div class=\"rightbt\">{$size}</div>
			</div>";

Если хотите изменить стиль кнопки, например, что бы выскакивал текст снизу - меняем
<div class=\"rightbt\">
на
<div class=\"bottombt\">
, а
<div class=\"leftbt\">{$lang['att_dcount']} {$row['dcount']}</div>
удаляем!
Таким образом можно поэкспериментировать, и сделать например, сверху и справа или слева и снизу!

В engine.css ищем "Вложения" или "attachment" и удаляем всё с ними связанное!
Вставляем это:

.button_download {
  width: 200px;
  margin: 50px;
}
.button_download a {
  display: block;
  height: 50px;
  width: 200px;
  
  /*TYPE*/
  color: white;
  font: 17px/50px Helvetica, Verdana, sans-serif;
  text-decoration: none;
  text-align: center;
  text-transform: uppercase;
  
  /*GRADIENT*/  
  background: #00b7ea; /* Old browsers */
  background: -moz-linear-gradient(top, #00b7ea 0%, #009ec3 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00b7ea), color-stop(100%,#009ec3)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* IE10+ */
  background: linear-gradient(top, #00b7ea 0%,#009ec3 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b7ea', endColorstr='#009ec3',GradientType=0 ); /* IE6-9 */
}
.button_download div {
    -webkit-border-radius: 10px;
     -moz-border-radius: 10px;
          border-radius: 10px;
  
  -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
     -moz-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
          box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
}
.button_download a {
    -webkit-border-radius: 10px;
     -moz-border-radius: 10px;
          border-radius: 10px;
  
  -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
     -moz-box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
          box-shadow: 2px 2px 8px rgba(0,0,0,0.2);
}

.leftbt,.rightbt,.topbt,.bottombt {
  background: #222;
  display: block;
  height: 40px;
  width: 180px; 
  margin: -45px 0 0 10px;
  
  /*TYPE*/
  text-align: center;
  font: 12px/45px Helvetica, Verdana, sans-serif;
  color: #fff;
  
  /*POSITION*/
  position: absolute;
  z-index: -1;
  
  /*TRANSITION*/  
  -webkit-transition: all 0.5s ease;
     -moz-transition: all 0.5s ease;
       -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

/*HOVER*/
.button_download:hover .bottombt {
  margin: -10px 0 0 10px;
}
.button_download:hover .topbt {
  margin: -80px 0 0 10px;
  line-height: 35px;
}
.button_download:hover .rightbt {
  margin: -45px 0 0 190px;
  width: 100px;
}
.button_download:hover .leftbt {
  margin: -45px 0 0 -100px;
  width: 110px;
}
/*ACTIVE*/
.buttonn1 a:active {
background: #00b7ea; /* Old browsers */
background: -moz-linear-gradient(top,  #00b7ea 36%, #009ec3 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(36%,#00b7ea), color-stop(100%,#009ec3)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #00b7ea 36%,#009ec3 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #00b7ea 36%,#009ec3 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #00b7ea 36%,#009ec3 100%); /* IE10+ */
background: linear-gradient(top,  #00b7ea 36%,#009ec3 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00b7ea', endColorstr='#009ec3',GradientType=0 ); /* IE6-9 */
}
.button_download:active .bottombt {
  margin: -20px 0 0 10px;
}
.button_download:active .topbt {
  margin: -70px 0 0 10px;
}
.button_download:active .rightbt {
  margin: -45px 0 0 170px;
  width: 100px;
}
.button_download:active .leftbt {
  margin: -45px 0 0 -70px;
  width: 100px;
}


Если у вас слишком длинные названия файлов, которые не умещаются на кнопке, вы можете дописать к классу .button_download a это:
overflow: hidden;

Таким образом, всё лишнее будет скрыто.

Прикрутил к dle я, Jerry. Просьба указывать при перепосте!


Добавить комментарий

34 Комментария

  1. lev78
    Спасибо за статью, но у меня проблемка возникла
    кнопка при наведении не выдвигается, DLE 9.6
    фон сайта белый, так что черная кнопка должна появится
  2. Jerry Пользователь offline автор
    lev78, у меня тоже 9.6 и всё работает отлично :)
    Дай ссылку на сайт, гляну.
  3. Jerry Пользователь offline автор
    Всего есть 4 значения:
    rightbt, bottombt, leftbt, topbt

    справа, внизу, слева, вверху.

    С ними можно смело экспериментировать!
  4. retyui Пользователь offline
    Jerry,
    как на дле 9.4 поставить..
    когда я по инструкции ставил то когда но водишь на ссылку дополнения не выскакивали!
  5. Jerry Пользователь offline автор
    retyui, это не из-за версии движка!
    Возможно конфликт в стилях. У меня тоже на стандартном шаблоне не работает. Проблема примерно в стилях ".leftbt, .rightbt, .topbt, .bottombt".
    Сейчас к сожалению нет времени рыться в коде.
  6. Михаил
    Здравствуйте, у меня вопрос, после того как мы это все пропишем, как сделать что бы кнопка на сайте отображалась ?

Добавление комментария

Я бы хотел услышать Ваши мысли. Не стесняйтесь оставить свой комментарий и присоединиться к беседе!

Чей это блог?
Введите код: * Кликните на изображение чтобы обновить код, если он неразборчив