Обзор беспроводной гарнитуры Tronsmart Apollo Q10: шикарный дизайн, потрясающая автономность и сенсорное управление
Всех приветствую, кто заглянул на огонек. Речь в обзоре пойдет, как вы наверно уже догадались, о полноразмерной беспроводной гарнитуре (наушниках) Tronsmart Apollo Q10. Из отличительных особенностей модели можно отметить хорошее звучание, передачу звука по Bluetooth-соединению, шикарную автономность (до 100 часов), поворотные чашки и сенсорное управление. И самое главное, совсем недорого. Кому интересно, милости прошу…
Посмотреть подробную информацию можно на сайте производителя здесь
Характеристики:
Комплектация:
Беспроводная гарнитура (наушники) Tronsmart Apollo Q10 поставляется в фирменной красочной коробке с указанием основных возможностей изделия:
Для дополнительной защиты она помещена в пластиковый защитный бокс:
Учитывая презентабельный внешний вид коробки и хорошие возможности гарнитуры, ее можно смело рекомендовать в качестве очень хорошего подарка родным и близким.
Комплектация стандартная, помимо зарядного кабеля и инструкции присутствует удобный чехол из прорезиненной ткани:
Внешний вид:
Беспроводная гарнитура (наушники) Tronsmart Apollo Q10 имеет шикарный внешний вид:
Корпус выполнен из темного матового пластика, который придает некоторую солидность, а также позволяет скрыть небольшие потертости, царапины и видимые отпечатки пальцев. Глянец используется только с внешней стороны оголовья, акцентируя внимание на производителе:
С внутренней стороны оголовья присутствует мягкая подкладка из экокожи со специальной пеной с эффектом памяти, призванная смягчить и без того малое давление на голову:
Применение высокопрочного пластика позволило снизить итоговый вес гарнитуры, а вместе с тем и усталость шеи и головы при длительном их ношении. С другой стороны прослеживается некоторая тенденция «экономии на спичках», поскольку при таком варианте ключевые элементы наиболее подвержены поломке. В частности, регулировочные ножки чашек выполнены из пластика и только лишь усилены ребрами жесткости, что не придает этой конструкции особой надежности:
При небрежном отношении или резких рывках, особенно на морозе, они легко могут выйти из строя, поэтому будьте аккуратнее! Не знаю почему производитель решил сэкономить, но, например, предыдущая модель Tronsmart Encore S6 имела стальные ножки и не поломалась до сих пор, хотя и эксплуатируется ребенком.
Что касается настроек положения, то пользователю доступны регулировки по длине, наклон и поворот чашек на угол до 90 градусов в одну сторону. Ход регулировки составляет 30мм, что в совокупности позволяет носить гарнитуру на голове как взрослого человека, так и ребенка. Небольшой наклон позволяет более удобно расположить гарнитуру в зависимости от обхвата головы и создать равномерный прижим к уху:
В свою очередь поворот чашек позволит «повесить» гарнитуру на шею когда в ней нет необходимости:
Внутри чашек традиционно присутствует маркировка левого и правого канала:
Используя свою гарнитуру HyperX Cloud Flight каждый день, я уже настолько привык к этой функции, что не представляю использование какой-либо другой модели без нее. К тому же с ее помощью можно легко и быстро прослушать короткую аудиозапись одним ухом, не снимая наушники с шеи.
Данная функция реализована с помощью специального шарнира, опять же пластикового:
Складной дизайн придется по вкусу, как минимум, любителям активного отдыха и путешествий:
При этом гарнитура складывается в компактный «комочек», который не займет много места в багажной сумке или кармане:
Амбушюры:
Амбушюры выполнены из экокожи. Они также содержат пену с эффектом памяти и достаточно мягкие на ощупь. Швы качественные, перекосов и неровностей не наблюдается:
Поскольку перед нами полноразмерные наушники, полностью закрывающие ушную раковину, то и размер амбушюр соответствующий (60мм*38мм):
От себя добавлю, что амбушюры мягкие, уши не устают и не потеют, хотя как будут вести себя жарким летом сказать не могу. Главный плюс в том, что амбушюры съемные и при необходимости могут быть заменены на новые аналогичного размера и формы. К сожалению, запасных амбушюр в комплекте нет.
До настоящего момента я активно пользовался беспроводной гарнитурой HyperX Cloud Flight, поэтому бегло сравню их между собой. Обе гарнитуры являются полноразмерными и поддерживают поворот чашек на 90 градусов:
Оголовье и амбушюры содержат пену с эффектом памяти, неудобств не возникает. Размеры амбушюр практически одинаковые, но у HyperX они все же чуть больше:
Органы управления:
Беспроводная гарнитура Tronsmart Apollo Q10 имеет как механическое, так и сенсорное управление. Механических кнопок управления всего две: кнопка питания и кнопка вызова голосового помощника. Расположены они с торца правой чашки:
Короткое нажатие кнопки питания включает/выключает гарнитуру, длительное переводит в режим поиска. Кнопка «MFB» вызывает голосового помощника.
Сенсорные панели, предназначенные для управлением воспроизведением и громкостью, расположены с внешней стороны обеих чашек:
Скажу прямо, поначалу управление непривычное, поскольку большинство моделей гарнитур на рынке имеют стандартный механический регулятор (энкодер или переменный резистор) и объединенные кнопки управления (4 и 5 кнопок) и многие пользователи к этому привыкли. Здесь все наоборот и все управление осуществляется с помощью нажатия или «свайпа» по сенсорной панели:
Основные команды следующие:
Большинство команд меняется в приложении.
Из разъемов подключения доступен лишь USB Type C, предназначенный для заряда встроенного аккумулятора:
Почему производитель решил отказаться от привычного проводного подключения через разъем miniJack 3,5мм (TRRS), для меня осталось загадкой. Как минимум, для многих это серьезный минус и это стоит учитывать при покупке. С другой стороны он нивелируется впечатляющим временем автономной работы и быстрой зарядкой, но только при использовании в паре со смартфоном или планшетом. Если планируется использовать гарнитуру с внешним аудиоплеером или ЦАПом, то здесь вас ждет полное разочарование, ибо подключить ее не получится, а значит не удастся насладиться качественным звучанием. Надеюсь, в следующей модели производитель исправит этот серьезный «косяк».
Микрофонов в данной модели аж шесть штук, но для разговора используется лишь один:
Остальные используются для обеспечения корректной работы функции шумоподавления, позволяя снизить уровень посторонних шумов:
Функция действительно работает и активно используется. Смысл технологии заключается в наложении специально сгенерированного звука, чтобы устранить нежелательный шум. Звук представляет собой волну, которая принимается микрофоном, обрабатывается специальным контроллером и подается в инвертированном виде (в противофазе) вместе с основным звуковым потоком. В итоге на выходе получаем минимум шумов. Схематически данная технология работает следующим образом:
Питание и автономность:
Беспроводная гарнитура Tronsmart Apollo Q10 может похвастаться впечатляющим временем работы без подзарядки. При уровне громкости 50% в режиме воспроизведения гарнитура может проработать до 100 часов, что в несколько раз выше по сравнению с популярными «долгоиграющими» моделями других фирм:
При этом непродолжительная зарядка в течение 10 минут позволит проработать наушникам еще около 3 часов.
Для заряда встроенного в гарнитуру Li-Ion аккумулятора предназначен USB-кабель длиной 40см:
Подойдет и любой другой кабель с разъемом USB Type C на конце. Ток заряда составляет около 0,5А, заявленная емкость Li-Ion аккумулятора 1200mah:
Полный заряд длится менее 3 часов.
Разборка:
Конструкция беспроводной гарнитуры Tronsmart Apollo Q10 достаточно сложная. Усугубляет ситуацию наличие пяти микрофонов в разных частях корпуса для более правильной работы шумоподавления, поэтому полностью ее разбирать я не рискнул. Снял только амбушюры, под которыми скрываются 40мм динамики:
Доскональную разборку «по винтикам» можете посмотреть по этой ссылке (фото не мои):
От себя отмечу лишь, что в гарнитуре установлены высококачественные 40мм динамики с неодимовыми магнитами, обеспечивающие высокое качество звука с хорошей детализацией:
Программное обеспечение:
Беспроводная гарнитура (наушники) Tronsmart Apollo Q10 соединяется с устройством посредством Bluetooth соединения:
Управление и дополнительная настройка осуществляется с помощью приложения Tronsmart:
Приложение небольшое и обладает лишь базовым функционалом, но позволяет просматривать уровень заряда аккумулятора, выбирать режим работы шумоподавления, выбирать стиль звучания (эквалайзер), редактировать сенсорное управление и обновлять прошивку. Согласитесь, немного, но основные функции доступны. Огорчило отсутствие эквалайзера как такового, поэтому если хочется немного изменить звучание, придется делать это при помощи системного эквалайзера на каждом устройстве. Думаю, пользовательский эквалайзер добавят в приложение чуть позже. С другой стороны, звучание гарнитуры отличное и один раз настроив сенсорное управление, к приложению можно и не обращаться.
Единственный момент, который меня опечалил – отсутствие поддержки aptX, призванного обеспечить передачу Hi-Res-аудио по Bluetooth. Учитывая тот факт, что даже бюджетная гарнитура Tronsmart Encore S6 его поддерживала, отсутствие его в топовой версии, как минимум, странно. В качестве альтернативы имеется поддержка AAC протокола, который лишь немногим проигрывает пресловутому aptX.
Впечатления от работы гарнитуры:
Хоть я и не обладаю музыкальным слухом, но звучание очень приятное, к тому же при использовании эквалайзера можно сделать акцент на тот или иной стиль воспроизведения. Особой разницы с брендовой гарнитурой HyperX Cloud Flight я не слышу, но у обозреваемой басы более выражены. При прослушивании различной музыки звучание оптимальное, «скрипы» на высоких отсутствуют, «бубнежа» при «басистых» композициях также нет, «середина» не проваливается. Даже при использовании предустановки эквалайзера «Глубокий бас» на максимальной громкости характерных «хрипов» не слышно, что еще раз подтверждает хорошее качество сборки. Звучание чистое, сигнал без проблем пробивает стандартную стену советской постройки, далее возможны проблемы с воспроизведением. В современных домах, думаю, через две стены будет без проблем пробивать.
К микрофону претензий нет. Со слов собеседника, звук практически ничем не отличается, никакого эха нет вообще.
Автономность просто отличная. За время тестирования я так и не смог высадить аккумулятор. Если вы будете использовать гарнитуру на производстве, на 3-4 дня рабочих дня ее хватит точно. Ну а функция шумоподавления будет как раз кстати. У нас по соседству есть цех по производству ПВХ окон и цех малой механизации, так вот там эта гарнитура с ANC покажет себя во всей красе. Там многие станки пневматические и постоянно стоит характерный гул, от которого без наушников или беруш можно сойти с ума.
Вывод:
Гарнитура получилась достаточно интересной, но не без замечаний. Главный из них – это конечно же отсутствие проводного подключения. При использовании Hi-Res плеера или внешнего аудио ЦАПа гарнитуру уже не послушать, да и при разряде встроенного аккумулятора придется искать соответствующую зарядку. Это самый главный «косяк», который бросается в глаза. Из незначительных можно отметить пластиковые ножки, не отличающиеся надежностью и отсутствие Hi-Res кодеков (AptX). В остальном все шикарно: удобный складной дизайн, поворотные чашки, приятное звучание и что самое главное, дичайшая автономность, которой могут похвастаться единицы. Именно впечатляющая автономность является визитной карточкой данной модели и если этот параметр для вас критичен – покупайте не раздумывая, тем более стоимость невысокая. Данная гарнитура оставила приятное впечатление, поэтому могу рекомендовать к покупке…
Посмотреть подробную информацию можно на сайте производителя здесь
Инструкция для беспроводных наушников Capsule Pro IP010-X
Благодарим вас за покупку беспроводных стереонаушников. Внимательно прочитайте данное руководство, это поможет вам избежать проблем при использовании наушников и предотвратить возможные поломки. Сохраните данное руководство для использования в будущем.
Подготовка наушников к работе
Снимите изоляционную пленку с зарядных контактов наушников перед началом работы.
Включение/отключение
Мультифункциональная кнопка
Включение (вариант А или Б)
a. Нажмите или удерживайте кнопку в течение 2-х секунд, светодиод начнет мигать синим и белым цветом, прибор подаст звуковой сигнал о готовности к работе.
b. Откройте зарядное устройство, вставленные внутрь наушники включатся автоматически, светодиод начнет мигать синим и белым цветом.
Отключение (вариант А или Б)
a. Нажмите и удерживайте кнопку в течение 8 секунд, светодиод мигнет и погаснет, прибор подаст звуковой сигнал об отключении.
b. Установите наушники внутрь зарядного устройства и закройте крышку. Наушники отключатся автоматически.
Соединение
Способ 1
Когда наушники отключены и не находятся в зарядном устройстве, нажмите и удерживайте кнопку на каждом наушнике в течение 2-х секунд, светодиоды начнут мигать синим и белым цветом, соединение наушников завершится тогда, когда правый наушник будет мигать только белым цветом, а левый – синим и белым.
Способ 2
Когда наушники внутри зарядного устройства, откройте его крышку, светодиоды наушников начнут мигать синим и белым цветом, соединение наушников завершится тогда, когда правый наушник будет мигать только белым цветом, а левый – синим и белым.
Вне зависимости от выбранного метода соединения, далее потребуется подключить наушники к смартфону через Bluetooth по названию устройства «IP010X». Если будет затребован пин номер, введите «0000» чтобы соединить наушники.
Важное примечание: если наушники не удается соединить друг с другом, возьмите любой из наушников, нажмите и удерживайте его кнопку в течение 6 секунд, будет подан звуковой сигнал о запуске, после этого нажмите и удерживайте кнопку в течение 8 секунд, после того как прозвучит уведомление о включении питания и готовности к соединению, динамик начнет подавать сигнал звучащий как «ду-ду-ду-ду». Когда этот сигнал исчезнет, отпустите кнопку, верните наушник в зарядное устройство и повторите данную операцию со вторым наушником. После этого наушники будут соединяться друг с другом автоматически.
Звонки
1. Ответ на звонок / завершение звонка
Нажмите на кнопку любого наушника, чтобы принять входящий звонок. Когда вы разговариваете, снова нажмите на кнопку любого наушника, чтобы положить трубку.
2. Отклонение звонка
Когда на смартфон приходит входящий звонок, дважды нажмите на кнопку любого наушника, чтобы отклонить звонок.
3. Управление громкостью
Громкость настраивается через смартфон, к которому подключены наушники. Примечание: во время звонка управление наушниками происходит только через главный (левый) наушник.
Голосовой звонок
Убедитесь что ваш смартфон поддерживает данную функцию.
1. Нажмите и удерживайте кнопку MFB в течение 3 секунд чтобы начать голосовой звонок. Чтобы завершить звонок нажмите на кнопку MFB ещё раз.
Настройка громкости и проигрывание музыки
1. Чтобы возобновить или поставить проигрывание музыки на паузу нажмите на кнопку любого наушника.
2. Дважды нажмите на кнопку левого наушника чтобы переключиться на трек назад, и правого – чтобы переключиться на трек вперед.
3. Настройка громкости возможна только через смартфон.
Зарядка и индикатор батареи
Зарядка наушников: на то чтобы полностью зарядить наушники требуется около 1 часа, когда оба наушника будут заряжены на 100%, на них включатся белые индикаторы.
Зарядка устройства для зарядки: на то чтобы полностью зарядить устройство для зарядки требуется около 2-х часов. Когда устройство будет заряжено на 100%, индикатор на середине прибора будет постоянно гореть синим цветом.
Характеристики
• Версия беспроводного соединения: 5.0
• Поддержка HFP, AVRCP профилей.
• Поддержка индикации батарей iPhone и iPad.
• Дистанция беспроводной связи: до 10 метров.
• Емкость батарей: батареи наушников – 50мА, батарея зарядного устройства – 1000мА.
• Время работы при прослушивании музыки / разговоре: 5-6 часов.
• Время работы в режиме ожидания: 240 часов.
• Поддержка голосовых подсказок
• Параметры входящего тока не должны превышать 5В 1А, превышение приведет к повреждению устройств.
Когда следует использовать элемент Button
Вы используете его, хм … ну, когда хотите разместить на странице кнопку, по которой пользователь может кликнуть, не так ли? К сожалению, все немного сложнее. В принципе это близко к истине, но давайте изучим вопрос глубже.
Сам элемент выглядит таким образом:
Что является самым распространенным результатом клика на что-нибудь на веб-сайте? Переход на новый URL-адрес, как если бы вы нажали ссылку.
Элемент сам по себе, не может этого сделать. Было много разговоров о том, чтобы разрешить « href везде », но ничего из этого так и не вышло.
При нажатии на кнопку действительно производятся определенные действия, если используется соответствующий контекст…
Кнопка – это элемент формы
Веб-формы могут содержать кнопки для выполнения (подтверждения) действий. Вы можете подумать, что это выглядит приблизительно так:
Однако формы также могут иметь кнопки отмены. Вы можете дублировать вид действия кнопки, изменив поведение по умолчанию с выполнения (подтверждения) действия на отмену:
Кнопки могут содержать контент
Основной причиной использования элемента является то, что он содержит и открывающийся, и закрывающийся теги ( ). А это значит, что его можно разграничить с любым другим кодом. На практике часто возникает такая ситуация:
Насколько я могу судить, не существует особых ограничений относительно того, что вы можете разместить внутри кнопки, так что вы можете поместить туда что угодно, создав действительно причудливые кнопки. Возможно использование также и псевдо элементов.
Учтите: «если кнопка не имеет валидного href, это просто элемент »
Ссылка в этой кнопке не имеет смысла. 0 использован только для того, чтобы не осуществлялся переход на другую страницу, потому что идентификаторы не могут начинаться с этой цифры.
Скорее всего, выше приведенный код означает что-то типа: Я собираюсь кликнуть кнопку, чтобы сделать что-то с JavaScript. Так или иначе, это, кажется, лучше, чем использовать обычный
Если вам не нравятся эти бессмысленные ссылки, для существует неплохая альтернатива. Но, к сожалению, вне контекста блока
Mfb button что это
NoiseHush N620 Bluetooth автомобильная громкая связь премиум класса.
Спикерфон или Car Kit. Производство USA.
Инструкция пользователя.
Благодарим Вас за покупку NoiseHush N620 Bluetooth громкая связь!
NoiseHush N620 имеет стильный дизайн и прост в использовании, не требует сложной установки. Ваши звонки будут кристально чистыми со встроенным высокочувствительным микрофоном, при новейших DSP технологиях шумоподавления. Многоточечная функция позволяет синхронизировать его с двумя Bluetooth устройствами. Теперь вы можете наслаждаться вашими телефонными звонками в дороге, дома, на работе, в школе и других местах.
Комплект поставки:
• Bluetooth устройство громкой связи
• Автомобильное зарядное устройство
• Клипса для крепления
• Инструкция по эксплуатации
Установка клипсы:
Вставьте клипсу в пазы устройства на задней крышке, нужной для вас стороной. Вы услышите щелчок, уведомляющее о том, что устройство заблокировано на месте. Теперь Вы можете прикрепить устройство к солнцезащитному козырьку вашего автомобиля.
Примечание: Для использования дома или в офисе, вы можете снять клипсу в случае необходимости.
Многоточечная характеристика:
Многоточечная технология позволяет подключить два мобильных телефонов одновременно.
1. Соедините первый телефон с NoiseHush N620 в соответствии с инструкциями выше.
2. Для сопряжения второго телефона, сначала отключите функцию Bluetooth вашего первого телефона.
3. Создайте пару со вторым телефоном, по инструкции приведенной выше.
4. Теперь включите Bluetooth функцию первого телефона.
5. Выберите «NoiseHush N620» в списоке обнаруженных устройств на ваших телефонах и нажмите для подтверждения.
Оба телефона теперь в паре с NoiseHush N620.
Использование функции многоточечной связи: При подключении к двум Bluetooth-телефонами, первый спаренный телефон, считается основным телефоном. Чтобы ответить на вызов вторичного телефона, пока вы разговариваете по основному телефону, пожалуйста, выполните следующие действия:
1. Во время разговора по первому телефону, нажмите кнопку MFB один раз, устройство переключит связь на второй телефон. Основной телефон войдет в режим ожидания.
2. Нажмите кнопку MFB еще раз, чтобы вернуться к предыдущему телефонному разговору с основным телефоном. Вы можете повторять это сколько вам нужно, чтобы переключиться между разговорами по разным телефонам.
3. Нажмите и удерживайте кнопку MFB в течение 2 секунд, чтобы завершить текущий телефонный звонок, и возврата к предыдущему вызову.
Зарядка NoiseHush N620: ваш NoiseHush N620 может быть заряжено либо с помощью входящего в комплект автомобильного зарядного устройства или вы можете заряжать устройства с помощью прилагаемого кабеля USB через USB-порт компьютера или любого USB AC зарядного устройства. Когда светодиодный индикатор светится красным светом – идет зарядка. Синий свет будет означать, что устройство полностью заряжено.
Спящий режим (Автовыключение) функции:
При отсутствии подключения к телефону (или ваш телефон находится вне рабочего диапазона), NoiseHush N620 автоматически выключится через 15 минут, чтобы сохранить заряд аккумулятора. Вы можете включить его обратно нажатием на кнопку MFB. Вы можете вручную инициировать поиск последнего подключенного телефона, нажав и удерживая MFB.
Стилизация старого доброго элемента button
Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого мы публикуем, речь пойдёт о тонкостях стилизации элемента button и о том, как оформлять кнопки с учётом того, чтобы они хорошо работали бы в любых браузерах. Кроме того, тут будет рассмотрено большинство часто используемых стилей кнопок. Поговорим мы здесь и о некоторых сложностях, которые возникают при работе с кнопками.
Стили, применяемые к кнопкам по умолчанию
Может, разговор о «стандартных стилях» покажется кому-то обсуждением каких-то элементарных вещей, но, на самом деле, поговорить об этом довольно интересно. Вот стандартная таблица стилей для кнопок из пользовательского агента Google Chrome.
А вот как выглядит стандартная кнопка, при выводе которой стили по умолчанию не менялись.
Простая кнопка, к которой применены стандартные стили
Свойство appearance этих кнопок установлено в none
Кнопка после сброса свойств
Теперь, когда мы сбросили стандартные стили кнопки, пришло время двигаться дальше. А именно, я хочу рассказать о том, как стилизовать кнопки, основываясь требованиях, предъявляемых к их дизайну.
Стилизация обычных кнопок
Начнём с базового примера, поговорив о стилизации обычных кнопок, на которых выводится лишь текст. На следующем рисунке представлена «анатомия» обычной кнопки.
Цвет текста (Text Color), размер шрифта (Font Size), фон (Background), скругление углов (Roundness), внутренний отступ (Padding)
Имея вышеприведённый CSS-код, мы можем получить кнопку, похожую на ту, которая показана на предыдущем рисунке. После того, как базовый стиль кнопки задан, нужно позаботиться о внешнем виде кнопки в различных состояниях.
Обычное состояние кнопки (Normal), получение фокуса (Focus), наведение на кнопку указателя мыши (Hover), отключение кнопки (Disabled)
▍Стили, применяемые к кнопкам при наведении на них мыши и при получении ими фокуса
Для того чтобы указать пользователю на то, что на кнопку наведён указатель мыши, важно оснастить кнопку стилем, рассчитанным на это событие. То же самое касается и изменения внешнего вида кнопки при получении ей фокуса в ситуации, когда со страницей работает пользователь, применяющий клавиатуру.
Этот материал указывает на то, что важен порядок добавления стилей, применяемых к кнопке при наведении на неё мыши ( hover ) и при получении ей фокуса ( focus ).
Хорошо, если сначала идёт стиль hover, а потом — стиль focus
Вот как выглядит правильный порядок описания стилей:
▍Минимальная ширина кнопки
Для того чтобы кнопка хорошо выглядела, она должна иметь определённую ширину. Важно заранее об этом подумать и принять во внимание длинные и короткие надписи, которые могут содержаться на кнопках. Благодаря свойству min-width можно установить минимальную ширину кнопки. Вот моя статья, где в подробностях обсуждается это и другие подобные свойства.
Стоит задавать свойство кнопок min-width
▍Внутренние отступы
Привлекательной может выглядеть идея, в соответствии с которой кнопкам не назначают горизонтальные внутренние отступы. Ведь кнопки имеют определённую ширину, а значит — между краями кнопок и надписями, содержащимися на них, будет достаточно места. Так? Нет, не так. Реализация этой идеи может иметь негативные последствия в тех случаях, когда надпись на кнопке меняется.
Взглянем на следующий рисунок.
Рекомендовано назначать кнопкам внутренние отступы
▍Семейство шрифта, используемого для надписей, расположенных на кнопках
▍Стилизация отключённых кнопок
Для того чтобы указать пользователю на то, что кнопка отключена, к ней можно добавить атрибут disabled и стилизовать кнопку средствами CSS.
Вот HTML-код, описывающий отключённую кнопку:
Вот CSS-код стилизации такой кнопки:
Когда кнопка отключена, она не может получить фокус с клавиатуры и удаляется из дерева доступности элементов страницы.
▍Внешний вид указателя мыши при наведении его на кнопку
Стандартный указатель мыши, наведённый на кнопку, выглядит как стрелка. Мне нравится этот ответ на StackOverflow: «Кнопки — это традиционный элемент управления настольных программ. Это — среда, в которой указатель в виде руки никогда не использовался до наступления эры интернета. Когда на веб-страницах стали применять тот же самый элемент управления, разработчики просто пытались сделать так, чтобы кнопки выглядели так же, как в настольных приложениях».
Для того чтобы переопределить обычное поведение указателя, рекомендовано поменять стандартный курсор-стрелку на курсор в виде руки.
Стандартный курсор-стрелка и улучшенный курсор в виде руки.
Теперь, когда мы обсудили базовые вопросы стилизации кнопок, приведём полный CSS-код, включающий в себя всё то, чего мы коснулись выше:
В следующих разделах мы поговорим о разных стилях и типах кнопок, которые вы можете использовать в своих проектах.
Кнопки со значком
Иногда нужно, чтобы на кнопке был бы некий значок. Это может понадобиться для того, чтобы выделить кнопку, или чтобы лучше проинформировать пользователя о роли кнопки. Важно, чтобы кнопки со значками были бы доступны пользователям с ограниченными возможностями.
Примеры кнопок со значками
Обратите внимание на то, что я воспользовался стилем vertical-align: middle для того чтобы выровнять значок и содержимое кнопки по вертикали.
Вот HTML-код кнопки, о которой идёт речь:
Может показаться, что теперь достаточно просто скрыть элемент span и дело будет сделано:
Хотя при таком подходе текст пропадает, а значок остаётся, это очень плохо в плане доступности контента. Кнопку уже «не видят» инструменты для чтения с экрана. Например, VoiceOver в macOS сообщает о том, что такая кнопка — это просто «Button», без каких-либо подробностей о ней. У этой проблемы есть несколько решений.
▍Использование SVG-значков
▍Настройка размеров кнопки со значком
Кнопка, у которой задано CSS-свойство min-width, и кнопка, у которой это свойство не задано
▍Визуальное скрытие текста
▍Установка размера шрифта в 0
▍Использование атрибута aria-label
Если вы хотите больше узнать о кнопках со значками — взгляните на этот материал.
Кнопки, содержащие несколько строк текста
В некоторых случаях может понадобиться, чтобы кнопка содержала бы две строки текста. Ниже показан пример такой кнопки.
Кнопка, содержащая две строки текста
Тут показана кнопка для формы подписки, содержащая основной и вспомогательный текст. Как сделать такую кнопку и при этом не забыть о её доступности для людей с ограниченными возможностями? Вот соответствующий HTML-код:
Средство для чтения с экрана «озвучит» эту кнопку как «Subscribe to our newsletter 240K+ subscribers». Когда пользователь это услышит, это его может запутать, так как ничто не будет разделять две строки текста, выводимые на кнопке. Взгляните на скриншот инструмента Chrome для исследования доступности элементов.
Исследование доступности элементов в Chrome
Для того чтобы не путать пользователей, я предпочёл бы скрыть вторую строку текста от средств для чтения с экрана. Сделать это можно, использовав атрибут aria-hidden в соответствующем элементе :
Если по какой-то причине изменить HTML-разметку нельзя, есть и другой способ добавления дополнительного текста на кнопку. Решение этой проблемы, которое показалось мне интересным, я нашёл на сайте Smashing Magazine. Оно заключается в том, чтобы размещать содержимое, пользуясь псевдоэлементами. При таком подходе средства для чтения с экрана не будут видеть ничего лишнего. Вот CSS-код этого решения:
Ссылки () или кнопки ( )?
Когда стоит пользоваться ссылками, а когда — кнопками? Для начала давайте поговорим о том, чем они отличаются друг от друга.
▍Ссылки
▍Кнопки
Использование ссылок и кнопок
▍Элемент не обязан выглядеть как кнопка
Мне нравится этот пример, в котором, с учётом требований доступности контента, реализована панель-«аккордеон». Вначале, если представить, что JavaScript недоступен, результат рендеринга разметки выглядит так, как показано ниже.
Материалы страницы в условиях недоступности JavaScript
Вот HTML-код фрагмента такой разметки:
В случае доступности JavaScript вышеприведённая разметка позволит описать элементы, которые могут сворачиваться и раскрываться. Достигается это путём создания кнопки и добавления её в элемент
Материалы страницы в условиях, когда JavaScript-функциональность доступна
В данном случае можно сказать, что использование элемента — это правильный выбор, так как кнопка решает задачу разворачивания и сворачивания блоков текста.
▍Кнопка загрузки
Ссылка для загрузки документа, оформленная как кнопка
Вот код этой ссылки:
При таком подходе в нашем распоряжении оказывается ссылка, стилизованная как кнопка, которая делает своё дело, используя лишь семантические структуры HTML.
Кнопки с обводкой
Обычная кнопка при наведении на неё мыши становится кнопкой с обводкой
Благодаря такому подходу в нашем распоряжении оказывается кнопка, вокруг которой, при наведении на неё мыши, выводятся её границы. При этом фон кнопки становится прозрачным.
Градиентные кнопки
Когда я работал над статьёй о позиционировании элементов, мне понадобилась кнопка с градиентным заполнением.
Мне было нужно нечто, подобное следующему рисунку.
Градиентная кнопка и её вариант с обводкой
Тут представлены два варианта кнопки — градиентная кнопка и кнопка с обводкой. Для того чтобы добиться такого внешнего вида кнопки, мне нужно было, чтобы у базовой (градиентной) кнопки имелась бы прозрачная граница. Эта граница будет показана только для кнопки с обводкой.
Тут всё, вроде бы, выглядит разумно, но в ходе работы я столкнулся со странной проблемой. Я даже попытался решить её, попросив помощи у пользователей Twitter. Эта проблема представлена на следующем рисунке.
Обычная кнопка, кнопка с градиентом (граница, на самом деле, прозрачная; цветом она выведена лишь для наглядности), кнопка со странными краями
Теперь, когда мы разобрались с тем, как выглядит градиентная кнопка с прозрачной границей, позвольте мне рассказать о причинах вышеописанных странностей.
Я попробовал добавить к кнопке широкую границу для того чтобы понаблюдать за тем, что из этого получится. Обратите внимание на то, как повторяется градиент, и на то, что его размер соответствует свойству padding кнопки.
Кнопка с широкими границами и градиент
Вот, если хотите поэкспериментировать, пример на CodePen.
Что лучше — height или padding?
▍Фиксированная высота
Предположим, что у нас имеется кнопка, стилизованная следующим образом:
При таком подходе текст не выравнивается по центру. Выглядит всё это так, как показано ниже.
Кнопка, текст которой не выровнен по центру
Но у этого метода есть минусы:
▍Вертикальный внутренний отступ
Существуют шрифты, которые центруются очень хорошо. А есть такие, которые ведут себя иначе. Иногда для достижения цели одно из значений вертикального внутреннего отступа нужно немного изменить. Взгляните на следующую кнопку.
Попытка центровки текста кнопки
Вот CSS-код стилизации этой кнопки:
В этом случае содержимое кнопки выглядит слегка смещённым. Значение верхнего внутреннего отступа нужно немного уменьшить:
Оборачивание содержимого кнопки в тег
В ходе экспериментов я выяснил, что центровка текста кнопок Adobe немного сбита. Вот как это выглядит.
Центровка немного сбита
Я исследовал эти кнопки и заметил интересный паттерн. Содержимое обёрнуто в элемент с указанием фиксированной высоты для кнопки.
Изменение высоты кнопки и автоматическое центрирование её содержимого
Вот и всё. Хочу отметить, что при написании данного раздела мне помогла эта статья.
Кнопки внутри flexbox- или grid-контейнеров
Тут у вас может появиться вопрос о том, какое отношение кнопки имеют к flex- и grid-макетам. Позвольте мне прояснить этот вопрос.
Я работал над разделом одного проекта. Мне нужно было вертикально центрировать его содержимое. Поэтому я использовал flex-макет:
То, что у меня получилось, меня несколько удивило.
Результат использования flex-макета
По умолчанию каждый flex-элемент растягивается в пределах ширины родительского элемента. Именно это и произошло с кнопкой, представленной на предыдущем рисунке. Для того чтобы избежать этой неприятности, нужно настроить свойство align-self :
Вот как кнопка будет выглядеть после этого.
Кнопка выглядит гораздо лучше
Кнопка, растянутая по высоте
Задавая выравнивание кнопки относительно центра контейнера, мы решаем проблему. Вот как теперь будет выглядеть тот же пример.
Решение проблемы растянутой кнопки
Использование единиц измерения em
Единицу измерения em можно использовать для правильной настройки размеров кнопок. Эта единица измерения в такой ситуации весьма полезна. Единица измерения em равна font-size элемента ( px или rem ). Взглянем на следующий пример:
Кнопки разных размеров
А вот фрагменты CSS-кода, в котором используется единица измерения em :
Для кнопок разного типа нужно создать классы, в которых задаётся разный размер шрифта:
→ Вот пример использования подобных кнопок на CodePen
→ Вот моя статья на эту тему. Рекомендую с ней ознакомиться
Анимация и переходы
Для того чтобы пользователю было бы приятнее работать со страницей важно подумать о том, чтобы при наведении мыши на кнопку использовался бы некий переход. Проще всего это сделать, организовав изменение цвета фона. Вот пример на CodePen, где можно увидеть реализацию этой идеи.
Итоги
Мне было очень приятно работать над этим материалом. Его написание заняло у меня больше года. Я счастлив от того, что он, наконец, опубликован. Надеюсь, вы нашли здесь что-то такое, что вам пригодится.
Уважаемые читатели! Известны ли вам какие-нибудь полезные способы работы с кнопками, которые остались за рамками этой статьи?













