Секреты браузерных инструментов разработчика (часть 2)

Установка кнопки Вверх с иконками Fontawesome

Шрифт Font Awesome – это коллекция масштабируемых иконок, которые были разработаны для уникализации дизайна веб-страниц. Это разные варианты изображений, которые форматируются с изменением цвета, размера и других параметров.

Чтобы подключить доступ к иконкам, введите код:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

CSS

#button-up{
  display: none;
  position: fixed;
  right: 20px;
  bottom: 100px;			
  color: #fff;
  background-color: #000;
  text-align: center;
  font-size: 30px;
  padding: 15px;
  transition: .3s;
}
 
#button-up:hover{
  cursor: pointer;
  background-color: #FF0000;
  transition: .3s;
}

Примеры необычных кнопок

Я рассказал вам все необходимое в области теории, а теперь приступим к практике. Хочу показать 2 интересных решения представления кнопок.

Данная программа создает объемную анимированную кнопку, при кликаньe на которую последняя «нажимается» за счет свойства transform.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Пример 2</title>
  <style>
 button {
  font-weight: bold;
  color: #ffd;
  padding: 16px;
  text-shadow: 3px -1px 1px rgba(0,0,0,.7);
  border-radius: 7px;
  border: 1px solid #2E8B57;
  background: #3CB372 linear-gradient(#3CB372, #2E8B57 75%);
  box-shadow:
   0 6px #008B49,
   inset 0 1px rgba(250,250,250,.7),
   inset 0 0 4px rgba(255,255,255,.7),
   2px 2px 25px rgba(0,0,0,.4);
  transition: 0.3s;
} 
button:hover {
  background: #43CD80 linear-gradient(#43CD80, #008B45 75%);
}
button:active {
  background: #43CD80 linear-gradient(#43CD80 10%, #008B45);
  box-shadow:
   inset 0 1px rgba(250,250,250,.7),
   inset 0 0 4px rgba(255,255,255,.7),
   0 2px rgb(80,30,10),
   0 1px 6px rgba(0,0,0,.9);
  transform: translate(0, 5px);
  -webkit-transform: translate(0, 5px);
}
  </style>
 </head>
  <body>
    <button>Я выполнена тегом Button</button>
 </body>
</html>

Хочу заметить, что <button> поддерживает и отображение изображений. Поэтому следующий пример я написал на основе предыдущего, дополнив некоторые моменты.

Хвалю всех, кто запустил мои примеры в браузере!

Не забывайте подписываться на мои обновления и делиться ссылкой с друзьями. Пока-пока!

Прочитано: 651 раз

Колпачки для кнопочек tact button

Каждый радиолюбитель при изготовлении поделок сталкивается с необходимостью красиво оформить переднюю панель, в частности — кнопочки. Данный обзор посвящен как раз таким разноцветным колпачкам для тактильных (или, как их неправильно у нас называют, — «тактовых») кнопок. Поставляются колпачки в достаточно плотном (как ни странно) пакете с зиплоком:

В «наборе» 7 цветов: 25 красных, 34 синих, 33 зеленых, 30 желтых, 22 серых, 26 белых и 33 черных колпачка. Итого 203.

Попалась парочка бракованных, которые на самом деле вполне можно применять и это не будет заметно. На следующем фото — белый как раз с браком, есть еще один красный сналогичного вида:

По виду сделаны весьма качественно, фактура матовая, приятная для рук и для глаза. Материал по-моему ПВХ. Размеры:

Подходят к кнопкам с длиной штока от 6мм и выше, на шток длиной 4.5мм и меньше не налазят вообще, на 6мм — очень туго, на 10мм и длиннее — просто отлично. При этом можно ведь и рассверлить, а можно, собственно, и не надевать на шток, а просто поджать вставленный в панель колпачок штоком кнопки изнутри. Кстати, продавец предлагает и другие размеры внутреннего отверстия, но по моему мнению лучше меньше — всегда можно рассверлить.

Подытоживая: колпачки весьма годные, приятные и на вид и наощупь. Думаю что и на кнопки с фиксацией подойдут при необходимости — все размеры есть, можно прикинуть к своим потребностям, если диаметр малый — то рассверлить, если большой — то термопистолет и/или термоусадку никто не отменял.

Несомненно, можно просто просверлиться и вывести на переднюю панель сами толкатели, можно выточить из нержавейки, напечатать на 3д принтере, вылепить из жувачки, отлить при помощи какой-то формы и термопистолета или придумать что-то еще — например сделать плёночную переднюю панель. Тем не менее, использование данных кнопочек придаст устройству красивый, профессиональный и законченный вид. К сожалению, сейчас у меня ничего такого нет в разработке, чтобы продемонстрировать, но поверьте — будет здорово.

К покупке рекомендую, однозначно маст хэв для любого рукодела-электронщика. При этом, несомненно, при наличии таких или похожих кнопок в ближайшем хозмаге, чипдипе, терре или еще каком леруа за углом, да еще и дешевле вчетверо — брать нужно именно на месте, а не ждать месяц из китая.

UPD: для людей без фотошопа и фантазии — фото в пластике. пожелания поменять цвета, сфоткать на фоне голой жены, повернуть на 90 градусов, перетасовать кнопки, изменить толщину панели, вставить в корпус и т.д. — не принимаются.

Источник

Создание кнопки вверх для сайта

Процесс создания кнопки вверх начнём с HTML разметки. В качестве изображения будем использовать иконку в формате шрифта (Glyphicon Halflings, Font Awesome или др.).

<div class="scrollup">
  <!-- Иконка fa-chevron-up (Font Awesome) -->
  <i class="fa fa-chevron-up"></i>
</div>

Внимание: Шрифт Font Awesome и стили CSS должны быть подключены к странице.

После создания разметки напишем стили CSS, которые будут располагать нашу кнопку в нужном месте, задавать ей оформление и изменять цвет её фона при наведении курсора.

div.scrollup {
  position: fixed; /* фиксированная позиция */
  color: #fff; /* цвет текста */
  background-color: #286090; /* цвет заднего фона */
  right: 20px; /* расстояние от правого края */
  bottom: 0px; /* расстояние от нижнего края */
  padding: 4px 10px; /* отступы до содержимого блока */
  font-size: 20px; /* размер шрифта (иконки) */
  border-top-left-radius: 4px; /* скругление верхнего левого угла */
  border-top-right-radius: 4px; /* скругление верхнего правого угла */
  cursor: pointer; /* форма курсора */
  display: none; /* не отображать элемент */
  text-align: center; /*выравнивание содержимого элемента по центру */
}
div.scrollup:hover {
  background-color: #000; /* цвет заднего фона при наведении */
}

Единственное что нам осталось ещё сделать, это написать скрипт на языке JavaScript (+ библиотека jQuery), который будет выполнять следующее:

  • отображать кнопку или нет, в зависимости от того прокрутил ли пользователь страницу больше чем на 200px вниз от верхнего края или нет;
  • при нажатии на кнопку прокручивать страницу вверх с анимацией.
<script>
$(function() {
  // при нажатии на кнопку scrollup
  $('.scrollup').click(function() {
    // переместиться в верхнюю часть страницы
    $("html, body").animate({
      scrollTop:0
    },1000);
  })
})
// при прокрутке окна (window)
$(window).scroll(function() {
  // если пользователь прокрутил страницу более чем на 200px
  if ($(this).scrollTop()>200) {
    // то сделать кнопку scrollup видимой
    $('.scrollup').fadeIn();
  }
  // иначе скрыть кнопку scrollup
  else {
    $('.scrollup').fadeOut();
  }
});
</script>

В вышеприведённом примере была использована иконка из шрифта Font Awesome. Кроме этой иконки, можно использовать любую другую иконку из этого шрифта или любого другого.

Изменение цвета кнопки вверх

При необходимости Вы можете настроить цвет, размер, расположение и многие другие параметры кнопки вверх, просто изменив настройки вышепредставленных правил CSS. Например, изменяя цвет заднего фона (background-color) Вы можете получить следующие кнопки:

Общие стили кнопок

В этом разделе мы рассмотрим общие стили кнопок. Стиль – это просто эстетика кнопки, а не то как ее следует использовать.

Все просто, сплошные кнопки – это кнопки со сплошной заливкой.

Сплошная кнопка.

Контурные и призрачные кнопки

Контурные кнопки – это кнопки без заливки. Несмотря на то, что они часто используются взаимозаменяемо, контурные кнопки обычно светлого цвета (с темным контуром и текстом), а кнопки-призраки – темного цвета (со светлым контуром и текстом).

Контурная кнопка (слева) и призрачная кнопка (справа).

Закругленные кнопки

Закругленные кнопки – это кнопки, у которых радиус углов максимально скруглен.

Закругленная кнопка.

Примечание: Расположенные рядом закругленные кнопки выглядят ужасно. Каждый раз, когда вы располагаете рядом несколько закругленных кнопок, где-нибудь плачет UI дизайнер.

FAB (плавающая кнопка действия)

Плавающие кнопки действий – это продуманное дизайнерское решение, популярное в Google Material Design. Хотя они могут выглядеть как кнопка со значком, фактически они используются для первичного действия на экране.

Кнопка FAB.

Текстовая ссылка

Текстовые ссылки – это очень простой тип кнопок. Есть несколько способов показать, что надпись является ссылкой. Это может быть цвет, подчеркивание, положение ссылки, или просто сам текст (например, «Читать дальше»).

Оформление текстовых ссылок.

Когда дело касается цвета, большинство сайтов используют синий, так как он наиболее идентифицируем как ссылка.

Кнопка “значок с надписью”

Популярность кнопок-значков возросла, но некоторые кнопки все еще нуждаются в надписи, чтобы правильно передать сообщение.

Кнопка “значок с надписью”

Самое сложное в работе с такими кнопками – найти правильное соотношение иконки и шрифта.

  • Вариант 1: размер иконки соответствует высоте заглавных букв.
  • Вариант 2: размер иконки намного больше высоты строки.

Предупреждение: Если значок лишь немного больше высоты заглавных букв, он будет выглядеть негармонично.

Кнопка-значок

На кнопке-значке нет надписи, присутствует только иконка. Благодаря этому они экономят много места в интерфейсе. Также они позволяют размещать на небольшом пространстве и другие кнопки-значки.

Кнопки-значки в разных стилях.

Предупреждение: Если вы разрабатываете продукт для плохо разбирающихся в компьютерах людей, используйте кнопку с надписью. Особенно для кнопок с более абстрактным содержанием.

Иконка рядом с текстовой ссылкой

Некоторые текстовые ссылки могут дополняться иконкой. Обычно они не выходят за высоту строки.

Кнопки ссылки с иконками.

Bookwidgets

Конструктор предлагает целый ряд функциональных возможностей. Он подойдет как для создания больших интерактивных учебных пособий, так и для отдельного использования каждого модуля.

В разделе Виджеты – Примеры вы найдете более 20 разных упражнений, которые можно дублировать и редактировать.

Задания сгруппированы по отделам. Один из них можете увидеть на скриншоте выше. Под каждым заданием ее краткое описание.

При нажатии кнопки Show откроется пример и возможность сделать копию задания. Если открыть вкладку рядом с Show, отобразятся разные варианты этого задания, которые можно посмотреть и затем выбрать нужный.

Если вы работаете с классом или небольшой группой, платформа дает возможность следить за работой каждого ученика. С помощью других полезных функций этого конструктора вы можете создавать учебные пособия не только для дистанционного, но и смешанного обучения: например, распечатать задания или выполнять их на интерактивной доске.

Первые 30 дней все функции бесплатны. После окончания срока, при желании продолжать работать с конструктором, нужно выбрать один из предлагаемых тарифов.

Ссылка на сайт: BookWidgets

Самодельный звонок беспроводного типа

Рассмотрим одну из самодельных микросхем беспроводного аналога подобного устройства. В основном принципе работы они похожи, но есть некоторые отличия. Основным отличием становится частота, на которой сигнал передается с передатчика на принимающее устройство – 87.9 МГц. Само устройство состоит из следующих основных модулей:

  • Схемы управления,
  • Звукового чипа,
  • Передатчика,
  • Источника питания.

Рассмотрим каждый элемент схемы более подробно.


Схема самодельного дверного радиозвонка.

Управление устройством осуществляется посредством кнопки S1. По сути, она запускает музыкальный чип и таймер передатчика. Когда она находится в нажатом состоянии на выводы 6 и 13 идет напряжение. Также здесь присутствует микросхема на резисторе R2 и двух диодах VD1 и VD2. Она лимитирует верхнее значение напряжения на выводах 6 и 13. Это необходимо, так как микросхемы УСМ и К561 отличаются логическим уровнем. Само устройство управления применяется на основе микросхемы D1. Она играет роль таймера, который включает передатчик на несколько секунд, после того как нажата кнопка S1.

Посредством элементов D1.1 и D1.2 генерируется одиночные положительные импульсы

Их длительность напрямую связана с постоянной времени в цепи С1-R4 (беря во внимание значения, указанные на схеме, можно сказать, что длительность импульсов порядка двадцати секунд). Импульс меняет полярность, попадая на инвертор D1.3, и далее идет на ключ VT1

Источник питания бестрансформаторного типа, а установленный конденсатор C5 гасит излишнее напряжения.

Важно! В этой схеме полярные конденсаторы применяются электролитического типа, C11 и С12 – керамические, остальные же – любые. Необходимо, чтобы все конденсаторы имели напряжение не меньше 16V, а для C5 – минимум 300V

Катушки L1 и L2 обматываются тонким проводом: на первую – 6 витков, на вторую – два. Обе они бескаркасные, а внутренний диаметр – семь миллиметров.

Какие бывают кнопки?

В моем представлении кнопки бываю двух типов, для каждого из них я использую соответствующие HTML-теги:


Кнопки-ссылки
нужны для привлечения внимания к ссылке. Побуждают пользователя перейти на какую-либо страницу, например, страницу регистрации. Для них я использую тег . 


Кнопки-действия
нужны для совершения какого-либо действия на странице (отправка формы, открытие модального окна и т.д.). Для этого можно использовать теги или . Я предпочитаю второй вариант, т.к. он гораздо более гибкий в настройке. 

Хотя оба этих типа могут выглядеть одинаково (при помощи CSS), принципиальное их отличие в том, что важнейшим атрибутом тега является (цель ссылки), без которого этот тег даже не воспринимается браузером как ссылка и курсор при наведении на него не меняется на pointer. Это поведение, конечно, можно изменить при помощи “костылей” 

или

В то же время атрибут является невалидным для тега , поэтому его не стоит использовать в качестве кнопки-ссылки. Опять же, можно сделать кнопку ссылкой, придумав какие-нибудь “костыли” типа

Но зачем это нужно. Все гораздо проще и понятнее.

Для чего нужна кнопка Вверх для сайта?

Польза для посетителей

Кнопка Вверх помогает быстро перемещаться по экрану без лишних усилий. Например, он читает достаточно длинный текст на сайте, и потом хочет подняться вверх – чтобы перейти на другой раздел или посмотреть контакты и другую информацию, расположенную в шапке. Ему нужно скроллить (прокручивать) текст или же упростить все и использовать кнопку Вверх.

Такие элементы делают работу пользователя с ресурсом более комфортной. Если при разработке и наполнении сайта все продумано и ориентировано на пользователя, это повышает лояльность к предлагаемым товарам и услугам, увеличивает объемы продаж.

Польза для сайта

Удобство пользования ресурсом является одним из важнейших факторов ранжирования. В частности, Яндекс, являющийся наиболее популярной поисковой системой рунета, ставит во главу угла именно поведенческие факторы.

Если обеспечить пользователю комфорт нахождения на сайте, он будет с удовольствием читать его, переходя со страницы на страницу (чем повышает глубину просмотра и повышает рейтинг ресурса). Кроме того, если сайт удобный и полезный, пользователь будет снова возвращаться на него, что также учитывается при ранжировании поисковиками.

Когда кнопка не нужна?

Если на сайте нет длинных постов, статей  и публикаций, для прочтения которых нужно долго прокручивать колесиков вниз страницы. В тех случаях, когда контент на информационных сайтах и блогах размещается не в одно полотно на странице, а структурируется по подразделам.

Выбор цвета и стиля кнопки

При дизайне кнопок необходимо учитывать несколько факторов.

1. Цвет

Во время дизайна продукта вы всегда должны думать о людях недостатками. Чтобы убедиться, что цвета доступны каждому, вы можете использовать онлайн-сервис для проверки контрастности. Вот тот, который я использую.

Разноцветные кнопки.

Кроме того, при выборе цветовой палитры следует учесть язык цвета. Так, как несогласованность контекста и цвета может вызвать путаницу.

Кнопки «Удалить», «Просмотреть предупреждения», «Сохранить» и «Еще».

Например, зеленая кнопка «Удалить» собьет с толку любого пользователя, как и красная «Сохранить».

2. Закругление углов

Закругление углов, а именно свойство border-radius – это то, что придает кнопкам индивидуальность. Кнопки с острыми краями выглядят более серьезно, а с закруглением более непринужденно.

Кнопки с разными настройками радиуса скругления.

Примечание: как упоминалось ранее, не располагайте несколько закругленных кнопок рядом, поскольку это режет глаз.

3. Тень

Тень на кнопке создает ощущение, будто кнопка находится за пределами страницы, и это действительно привлекает внимание. Тени также могут быть использованы для обозначения различных состояний

Material Design использует тень очень органично, делая кнопку «ближе» при наведении курсора.

Кнопки с разными настройками тени.

4. Стиль надписи

Стиль надписи зависит от шрифта и от того, насколько легко его читать. При выборе шрифта убедитесь, что он разборчивый.

Кнопки с разными стилями надписей.

Вот несколько простых способов сделать шрифт читабельным:

  1. Лучше использовать заглавные буквы в начале каждого предложения или капитализировать начальные буквы всех слов в предложении, чем делать все буквы заглавными. (Хотя Material Design использует кнопки со всеми заглавными буквами).
  2. Убедитесь, что цвет надписи выделяется на фоне кнопки. В этом поможет этот инструмент.
  3. Выбирая шрифт убедитесь, что он разборчивый и достаточно большой. Также шрифт должен быть средней плотности.

5. Вертикальный отступ

Размер кнопки играет большую роль в доступности интерфейса. Большинство неопытных дизайнеров скажут что-то вроде «Кнопки должны иметь высоту 36 пикселей». Это не лучшее решение, особенно для веб-дизайна. Всегда нужно учитывать высоту строки используемого вами шрифта и добавлять к нему единицу измерения. Например: «Надпись моей кнопки имеет высоту строки 20 пикселей, а отступ по вертикали 8 пикселей».

Кнопки с разным вертикальным отступом.

Спросите зачем? Существует две причины:

  • Люди с нарушениями зрения могут увеличить шрифт в браузере, следовательно, нужно изменить размер шрифта без сокращения высоты кнопки.
  • Так разработчики создают кнопки – они добавляют отступы к блочным элементам верстки, а не к высоте строки.

6. Горизонтальный отступ

Первый вариант:

Выровняйте ширину кнопки по сетке. Это хороший способ, который позволяет сохранить все кнопки одинаковой длины. Однако это ограничивает количество слов, которые вы можете использовать.

Кнопки, ширина которых определяется сеткой.

Второй вариант:

Настройка отступа по бокам. Я обычно устанавливаю некий стандарт минимальной ширины кнопки, чтобы не было очень маленьких кнопок. Хотя этот способ дает возможность вместить любое количество текста, кнопки могут получиться очень неровными.

Кнопки, ширина которых определяется отступом и длиной надписи.

Способ №1. Двухклавишный переключатель

Данный метод позволяет получить проходные выключатели из обычных двухклавишных моделей. Это особенно удобно, если вы не хотите тратить время на сложные изменения их конструкции или у вас нет соответствующего инструмента.

Рис. 2. Двухклавишная модель проходного выключателя

Для реализации этой модели проходного выключателя вам потребуется два двухклавишных устройства, соединительные провода и источник освещения.

Собрав все необходимое, выполните такую последовательность действий:

  1. Отключите напряжение на щитке при помощи автоматического выключателя – это предотвратит поражение электротоком при монтажных работах. Будет надежнее, если одновременно вы отключите и нулевой и фазный проводник для соответствующего светильника.
  2. Подключите первый из двухклавишных переключателей к фазному проводу трехжильного кабеля. Для этого отпустите клемму на выключателе и заведите туда жилу. Зажимается жила до получения надежного контакта с минимальным сопротивлением электрическому току.
  3. К каждому из выходных контактов также подключите по проводу. Далее проведите их к выходным контактам второго двухклавишного выключателя.
  4. От вводной клеммы второго коммутатора отведите провод к прибору освещения.

Если система освещения проводится в рамках капитального ремонта и замены всех светильников и приборов в доме, то для разводки электропитания штробятся стены. В противном случае можно обойтись наружной прокладкой в кабельном канале. В случае большой протяженности между точками переключения, проводку лучше выполнять трехжильным кабелем. Так как для промежуточного соединения проводов оптимально расходуется три провода.

В противном случае логика схемы нарушиться и в следующий раз вам попросту не удастся отключить лампочку. Поэтому если другие домочадцы могут халатно относиться к подобным переключениям, лучше переделать конструкцию устройства на одноклавишный вариант.

Звонок из ненужных приборов

Если у вас имеется старый телефон или сломанная компьютерная мышь и их ремонт нецелесообразен, то они пригодятся, если вы решите сделать собственный беспроводной звонок на дверь. Рассмотрим вариант изготовления подобного устройства из мыши:

  • Из корпуса удаляются все внутренности кроме контактных кнопок.
  • На плате две клавиши соединяются со звонковым устройством, а оставшиеся части убираются.
  • Колесико разрезается пополам и одна часть вклеивается обратно.
  • На плате пульта к звуковой кнопке припаивается витая пара. Она соединяет кнопку с клавишами мышки.
  • Припаиваем оставшиеся концы к контактам клавиш – один к крайнему, второй к любому из оставшихся двух.
  • Последний контакт из трех соединяется проводом с противоположным. Таким образом будут срабатывать обе кнопки.

Оригинальный звонок готов.

Блоки страницы

При верстке посадочных страниц можно встретить блоки с большим количеством свободного пространства внутри. Пример:

Лучше всего оформить это в CSS так:

<div class=»greeting»>

 <h1 class=»greeting__title»>

   Поздравляю, вы стали обладателем квартиры в Сызрани!

 </h1>

</div>

.greeting {

 /* задаём геометрию */

 height: 200px;

 padding: 20px;

 /* центрируем содержимое по вертикали и горизонтали */

 display: flex;

 align-items: center;

 justify-content: center;

 /* учитываем последующее добавление элементов */

 flex-direction: column;

 background: blue;

}

.greeting__title {

 color: #fff;

 font-family: Arial;

 font-size: 20px;

}

Вот что у нас получилось:

Проблема

Возможно, позже в этот блок понадобится добавить описание. При большом количестве текста с нашими жесткими размерами все пойдет наперекосяк:

Такое происходит при переполнении контейнера .greeting. Некоторые начинающие специалисты могут просто поставить overflow:hidden, но это не решит проблему.

Решение

Ставим min-height и отступы на случай, если содержимого станет слишком много:

.greeting {

 /* задаём геометрию */

 min-height: 200px;

 padding: 20px;

 /* код без изменения */

}

padding > min-*

А что, если задать размеры отступов, значительно превышающие в сумме минимальную ширину или высоту?

.greeting {

 /* задаём геометрию */

 min-height: 40px;

 /* тут речь идет только о box-sizing:content-box */

 padding: 80px;

 /* код без изменения */

}

Начальное поведение у элементов в обоих случаях будет одинаковым, а вот поведение при превышении минимального значения контейнера — разным.

Код примера

Внешние отступы

А что там с margin’ами? Можно ли их подвязать на замену padding? Нет. Внешние отступы имеет смысл использовать, чтобы задать расстояния между несколькими логически законченными блоками. Не делайте так:

<div class=»greeting»>

 <div class=»greeting__container»>

   <h1 class=»greeting__title»>

     Поздравляю, вы стали обладателем квартиры в Сызрани!

   </h1>

 </div>

</div>

И так тоже не делайте:

.greeting {

 /* задаём геометрию */

 min-height: 40px;

 /* не задаём никакие отступы в родительском элементе */

 /* код без изменения */

}

.greeting__container {

 margin: 80px;

}

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: