Тег: бот

Заменяем аватар на цветной кружок с буквой с помощью JavaScript

Новый тренд в дизайне - милые цветные кружочки (квадратики) различного цвета с первой или двумя первыми буквами имени. Так сейчас делают все: браузер Сафари, почтовые клиенты, социальные сети.

Здесь я покажу как это сделать с помощью JavaScript. Главный вопрос – подбор цвета?

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

Вот так будет выглядеть наш HTML:

<div class="user-info">
    <div class="user-info-avatar" id="avatar"></div>
    <div class="user-info-name" id="name"></div>
</div>

Добавим немного CSS-стилей:

.user-info-avatar {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 15px;
    text-align: center;
    margin-right: 10px;
    color: white;
}
.user-info-name {
    display: inline-block;
}

А теперь JavaScript:

var stringToColor = function stringToColor(str) {
    var hash = 0;
    var color = '#';
    var i;
    var value;
    var strLength;

    if(!str) {
        return color + '333333';
    }

    strLength = str.length;

    for (i = 0; i < strLength; i++) {
        hash = str.charCodeAt(i) + ((hash << 5) - hash);
    }

    for (i = 0; i < 3; i++) {
        value = (hash >> (i * 8)) & 0xFF;
        color += ('00' + value.toString(16)).substr(-2);
    }

    return color;
};

var name = 'Михаил';
var letter = name.substr(0, 1);
var backgroundColor = stringToColor(name);
var elementAvatar = document.getElementById('avatar');
var elementName = document.getElementById('name');

elementName.innerHTML = name;
elementAvatar.innerHTML = letter;
elementAvatar.style.backgroundColor = backgroundColor;

За генерирование цвета отвечает функция stringToColor. Она принимает строку с именем (любую строку), переводит ее в биты и уже из них в HEX-цвет. Если мы не передадим в функцию ничего, то получим в ответ цвет по умолчанию – в данном примере, #333333.

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

02 июля 2015
14.2 тыс.
2 мин

HTML5 video и кнопка для AirPlay

Menu AirPlay

В грядущем обновлении Mac OS, с номером 10.11 и названием El Capitan, придет и новая версия браузера Safari – 9.0.

Список нововведений не слишком чтобы внушительный, но интересные вещи там присутствуют. Одна из них – возможность добавить кнопку airplay в любое видео, вставленное с помощью тега video.

17 июня 2015
10.5 тыс.
7 мин

Отзывчивые сайты для больших экранов

Адаптивный веб-дизайн (англ. Adaptive Web Design) — дизайн веб-страниц, обеспечивающий корректное отображение сайта на различных устройствах, подключённых к интернету и динамически подстраивающийся под заданные размеры окна браузера.

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

Wiki

Мы все уже привыкли, что большинство современных сайтов замечательно работают и хорошо читаются на наших мобильных устройствах и ноутбуках. Все вокруг говорят о мобильных версиях сайтов, но почему-то никто (или почти никто) не задумывается о том, что сайты / приложения должны хорошо выглядеть на больших экранах. Я говорю не только про Full HD мониторы и телевиозы, но и про набирающие популярность разрешния больше 2500 пикселей.

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

  • 2560x1440
  • 3200x2048
  • 3840x2160
  • 4096x3112
  • 5120x2880

Страшные цифры. Еще 10 лет назад приделом мечтаний был монитор с оптимальным разрешением 1024x768, а уже сегодня каждый хочет себе монитор с разрешением UHD и телевизор с 4K.

А что делают дизайнеры, разрабатывающие UI для отзывчивых сайтов? Они используют три брейкпоинта для своих творений:

  • 320-767
  • 768-1024
  • 1024+

Иногда попадаются какие-то промежуточные значения, но редко кто-то выходит за пределы 1280 пикселей. И если два года назад это было нормально (самая популярная ширина экрана – 1366, самая большая – 1920), то сегодня все больше и больше людей начинают использовать свои современные телевизоры с 4K для выхода в интернет, а производители мониторов старательно выпускают на рынок можели с UHD (2560+).

Вот так выглядит на большом мониторе «икона» современного дизайна. Сказать «ужасно» – это не сказать ничего.

А вот так – один из самых популярных новостных порталов США.

Популярный сервис для просмотра видео.

Хотя зачем ходить далеко.

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

Простите, но зачем пользователю эти незанятые «сельскохозяйственные поля» по краям? Зато в центре каша из текста маленького размера и картинок, которые и с микроскоп-то трудно рассмотреть. Сколько полезной информации (читай рекламы) можно было бы поместить на свободные места.

А теперь несколько примеров сайтов, где современные экраны были учтены:

К чему все это? Пора уже не задумываться о дизайне для больших разрешений – поздно, – пора начинать действовать. Аудитория нынче очень требовательная и злопамятная, если их один раз не устроит то, что они увидят, они могут уже не вернуться даже после того, как их предпочтения будут учтены.

20 мая 2015
4.5 тыс.
4 мин

Переезд в Нидерланды. Один обычный рабочий день

Обычно я встаю с будильником в 6:30. Но в этот четверг мне было как-то лень, посему проснулся ближе к 8 утра. Каждый день я прихожу на работу около 9. Поэтому ранние подъемы дают мне возможность принять душ, позавтракать и неспеша двинуться в офис. Дорога до офиса занимает от 30 до 40 минут, в зависимости от выбранного маршрута и стыковок общественного транспорта. Такой вот поздний подъём лишил меня душа и нормального завтрака.

13 мая 2015
6.4 тыс.
4 мин

Переезд в Нидерланды. Город и туристы

К Амстердаму можно относиться по-разному. Кто-то его любит, кто-то нет. Попробую высказать своё мнение по этому поводу.

Начну с того, что город совершенно небольшой. Здесь официально проживает порядка 830 тысяч человек. Если сравнивать его территорию с Минском, то кажется, что весь Амстердам — это спальный район белорусской столицы. Добраться до центра из любого уголка можно за 15-20 минут.

29 апреля 2015
4 тыс.
6 мин

Переезд в Нидерланды. Жилье и русский язык

Жилье

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

Этот вопрос – единственный, который не сомнении меня волнует. Я уже три недели в Нидерландах, но особо не продвинулся в поисках постоянного места жизни.

Здесь есть два варианты аренды: у частного лица и у компании застройщика. У обоих есть как плюсы так и минусы.

21 апреля 2015
7.5 тыс.
6 мин

Переезд в Нидерланды. Первые дни

Мой первый рабочий день должен был быть 1-го апреля. Естественно мне необходимы были несколько дней для адаптации в новой обстановке. По сей причине билет в Амстердам я купил на утро 30 марта. Имея последний день марта в наличии, я договорился о встрече в Экспатцентре и в банке. Экспатцентр занимается выдачей ID (паспорт местный) и регистрации в органах муниципальной власти.

11 апреля 2015
4.6 тыс.
4 мин

Переезд в Нидерланды. Начало

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

Меня это вообще никак не беспокоило, пока в один прекрасный момент руководство страны не ввело 30% налог на покупку валюты. Если кто не знает, у нас, несмотря на зарплату привязанную к доллару (как было у меня), получать ее я можно только в белорусских рублях. Я как порядочный гражданин своей страны все деньги хранил в долларах. Тут-то я прикинул, что на свою зарплату я теперь могу купить на 30 процентов меньше валюты.

Естественно я незамедлительно отреагировал на это психологически. В это же время (в 20-х числах декабря) я получил письмо из Лондона с вакансией в Амстердаме. Мою неустойчивое психологическое состояние не позволило мне трезво оценить это предложение, и я согласился попробовать.

04 апреля 2015
4.8 тыс.
5 мин

CSS стилизация checkbox и radio для мобильных устройств

Сделать чекбоксы input[type="checkbox"] и радиокнопки input[type="radio"] красивыми – задача не сложная. Однако, чаще всего, за этим следует добавление новых элементов, а следовательно и усложнение DOM-структуры документа.

Для современных мобильных браузеров, а также декстопных браузеров на основе WebKit и Blink (Chrome, Opera, Vivaldi и т.д.), для некоторых типов инпутов можо создавать псевдо-элементы after и before.

06 февраля 2015
7.1 тыс.
3 мин

Placeholder с поведением в стиле Material Design

Кто видел Material Design от Google, тот знает, что там есть довольно забавное поведение placeholder-а для поля ввода. Я решил попробовать сделать такое на CSS, но столкнулся с некоторыми проблемами (легко решаются с JavaScript).

Давайте посмотрим, что у меня получилось – ДЕМО.

04 февраля 2015
6.4 тыс.
2 мин