Делаем красивые кнопки выбора (стилизация radio input)
Сегодня я покажу пример как всего в несколько строчек кода сделать приятные и удобные кнопки выбора для вашего сайта. Они отлично впишутся как в десктопную версию вашего сайта так и в мобильную.
Не могу не отметить, что делать стандартные Radio-кнопки или, тем более, выпадающие списки для выбора из 2-4 вариантов не очень удобно и красиво. Поэтому я решил показать вам как можно сделать подобные кнопки выбора значительно удобнее.
Разметка
Нам понадобится всего несколько дополнительных элементов: при написании разметки формы, вам потребуется обернуть каждую пару input
+ label
в блочный элемент, в моём случае это div
с классом form-item
и так же поступить с этими div’ами, у меня это контейнер с классом radio-container
. Вы наверняка уже сталкивались ранее с подобным подходом, если использовали Boostrap Framework.
Я набросал макет для 2, 3 и 4 кнопок выбора (не рекомендую использовать данный подход для большего количества элементов, в таком случае лучше воспользоваться выпадающим списком):
<form> <div> <div> <input type=»radio» name=»option1″ checked> <label for=»radio1″>radio1</label> </div> <div> <input type=»radio» name=»option1″> <label for=»radio2″>radio2</label> </div> </div> </form> <br> <form> <div> <div> <input type=»radio» name=»option2″ checked> <label for=»radio3″>radio3</label> </div> <div> <input type=»radio» name=»option2″> <label for=»radio4″>radio4</label> </div> <div> <input type=»radio» name=»option2″> <label for=»radio5″>radio5</label> </div> </div> </form> <br> <form> <div> <div> <input type=»radio» name=»option3″ checked> <label for=»radio6″>radio6</label> </div> <div> <input type=»radio» name=»option3″> <label for=»radio7″>radio7</label> </div> <div> <input type=»radio» name=»option3″> <label for=»radio8″>radio8</label> </div> <div> <input type=»radio» name=»option3″> <label for=»radio9″>radio9</label> </div> </div> </form>
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
<form> <div> <div> <input type=»radio» name=»option1″ checked> <label for=»radio1″>radio1</label> </div> <div> <input type=»radio» name=»option1″> <label for=»radio2″>radio2</label> </div> </div> </form>
<br>
<form> <div> <div> <input type=»radio» name=»option2″ checked> <label for=»radio3″>radio3</label> </div> <div> <input type=»radio» name=»option2″> <label for=»radio4″>radio4</label> </div> <div> <input type=»radio» name=»option2″> <label for=»radio5″>radio5</label> </div> </div> </form>
<br>
<form> <div> <div> <input type=»radio» name=»option3″ checked> <label for=»radio6″>radio6</label> </div> <div> <input type=»radio» name=»option3″> <label for=»radio7″>radio7</label> </div> <div> <input type=»radio» name=»option3″> <label for=»radio8″>radio8</label> </div> <div> <input type=»radio» name=»option3″> <label for=»radio9″>radio9</label> </div> </div> </form> |
Стили
Для начала нам необходимо будет скрыть сами элементы выбора, я сделал это просто, при помощи свойства
. Теперь пользователю отображаются только элементы label
, если вы не допустили ошибок в разметке, то по нажатию на них, элементы выбора должны активироваться, вы можете проверить это при помощи инструментов разработчика в вашем браузере.
Далее выравниваем label
по горизонтали, вы можете сделать это несколькими способами:
- При помощи свойства
float: left;
, применённого к элементамlabel
. Я не рекомендую данный подход, так как он в некоторых ситуациях, может сломать вёрстку, и, кроме того, вам придётся использовать хак в виде дополнительного элемента clearfix. - Использовать свойство
display: inline-block;
, для элементовlabel
. Данный подход я использовал ранее, до того как практически во всех браузерах появилась поддержка flexbox. - Для родительского контейнера (в моём случае это
radio-container
) воспользоваться свойствомdisplay: flex;
Я использую третий вариант, flexbox поддерживаться практически во всех браузерах, если вы хотите поддерживать IE, этот подход вам не подойдёт.
Далее нам осталось лишь показать пользователю какой элемент активен на данный момент, сделать это очень просто, но есть один нюанс: ваш элемент
должен следовать перед элементом label
, иначе css свойство, приведённое ниже, работать не будет.
Для того чтобы выделить активный элемент используем следующий приём:
.radio-container .radio-btn input:checked + label{ background-color: #0082fe; color: #fff; }
.radio-container .radio-btn input:checked + label{ background-color: #0082fe; color: #fff; } |
Эта запись означает, что вложенные стили будут применяться только к элементу
и только в том случае, если элемент radio
, к которому относится label
, активен в данный момент.
Как видно из записи, активный элемент будет другого цвета и текст будет белым, в моём примере этого достаточно.
Результат
Я добавил ещё немного стилей для более красивого отображения элементов выбора, вот какой результат у меня получился:
Можно немного изменить стили и получить такой результат:
Как видите, вы можете легко изменить внешний вид получившихся кнопок как вам угодно.
Делаем красивые 3D-кнопки на чистом CSS
.submit {
width: 120px;
height: 32px;
padding: 0 0 2px;
font: 16px «Trebuchet MS», Tahoma, Arial, sans-serif;
outline: none;
position: relative;
cursor: pointer;
border-radius: 3px;
color: #FFF;
border: 1px solid #434343;
border-top: 1px solid #535353;
border-bottom: 1px solid #353535;
text-shadow: 1px 1px #2F2F2F;
box-shadow:
inset 0 1px #939393,
inset 1px 0 #707070,
inset -1px 0 #707070,
inset 0 -1px #5A5A5A,
0 2px #414141,
0 3px #343434,
0 4px 2px rgba(0,0,0,0. 4)
;
background: -moz-linear-gradient(top, #656565 0%, #444444 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#656565), color-stop(100%,#444444)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #656565 0%,#444444 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #656565 0%,#444444 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #656565 0%,#444444 100%); /* IE10+ */
background: linear-gradient(top, #656565 0%,#444444 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#656565′, endColorstr=’#444444′,GradientType=0 ); /* IE6-9 */
background-color: #464646;
}
.submit::-moz-focus-inner{border:0}
.submit:hover {
border-top: 1px solid #464646;
box-shadow:
inset 0 1px #818181,
inset 1px 0 #707070,
inset -1px 0 #707070,
inset 0 -1px #6B6B6B,
0 2px #414141,
0 3px #343434,
0 4px 2px rgba(0,0,0,0. 4)
;
background: -moz-linear-gradient(top, #656565 0%, #565656 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#656565), color-stop(100%,#565656)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #656565 0%,#565656 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #656565 0%,#565656 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #656565 0%,#565656 100%); /* IE10+ */
background: linear-gradient(top, #656565 0%,#565656 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#656565′, endColorstr=’#565656′,GradientType=0 ); /* IE6-9 */
background-color: #464646;
}
.submit:active {
top: 3px;
border: 1px solid #3A3A3A;
border-top: 1px solid #2F2F2F;
border-bottom: 1px solid #404040;
background: #484848;
box-shadow: inset 0 1px 2px #252525;
}
Эффекты при наведении
5 ноября 2015 Антон Кулешов 4325 0
Здравствуйте дорогие читатели! Наступило время пополнить коллекцию сайта ещё 30-тью красивыми CSS эффектами при наведении курсора на картинку. Данная тема поистине очень обширна и мы не устаем пополнять нашу библиотеку все новыми и новыми эффектами.
Продолжить читатьКак оформить ссылку на сайте? Этот вопрос наверно один из самых простых, возникающих у веб-разработчика, тем более что до недавнего времени и вопроса, как такового и не было – редко кто менял даже стандартный набор цветов. Появление CSS3 внесло значительные изменения в «серые будни» и страницы «расцвели». Мы уже рассматривали ранее множество различных ховер эффектов, сегодняшняя же CSS библиотечка – заточена под ссылки, хотя, приведенные в ней эффекты легко можно применить и для других элементов страницы. Библиотека содержит следующие эффекты: ссылки при наведении вращаются, меняют перспективу, перестраивают бордеры, фиксируют взгляд, создают эффект куба, вызывают всплывающую подсказку, заключаются в скобки и много других причудливых выделений.
Продолжить читать24 июня 2015 Антон Кулешов 3271 0
Продолжаем прокачивать дизайн наших страниц, и сегодня я хочу обратить ваше внимание на целую палитру красивых кнопок для сайта. «Правильно» расставленные кнопки – это душа продающего сайта, они должны привлекать внимание пользователя, чтобы он не смог покинуть страницу не нажав парочку из них. Маркетинг прочно впился в дизайнерскую часть и его не обойдешь стороной, если конечно вы не содержите захудалый сайт с парой-тройкой посетителей. Красивая и призывная кнопка для посетителя — как красная тряпка для быка, оно вроде ему и не надо, но манит чертовка.
Продолжить читать21 мая 2015 Антон Кулешов 7485 0
Эффекты при клике не столь популярны как hover effects, однако, сегодня мой взор упал на плагин под названием waves.
Продолжить читать1 апреля 2015 Антон Кулешов 4116 0
Продолжаем «наводить красоту» на наших сайтах, и сегодня поговорим о плагине под названием adipoli, при помощи которого можно создавать красивые hover effects.
Продолжить читать21 февраля 2015 Антон Кулешов 2800 0
Продолжаем развивать тему hover effects и обратим наше внимание на весьма интересный плагин на jQuery, при помощи которого можно реализовать кучу различных эффектов ховера.
Продолжить читать13 февраля 2015 Антон Кулешов 3407 0
Сегодня поговорим об «украшательствах» и рассмотрим довольно интересную анимацию при наведении на картинку (картинку беру как пример, в реальности эффект можно использовать на чем угодно), а также познакомимся с библиотекой MooTools.
Продолжить читатьРазличные бесплатные и полезные фишки на HTML и CSS
Здесь Вы сможете совершенно бесплатно скачать несколько кнопок, разнообразных форм, модальных окон, таблиц, и ещё нескольких классных вещей уже свёрстанных в HTML и CSS. Их только нужно скачать и использовать на сайте.
Рекомендуем также посмотреть:
1. Кнопки войти на CSS
Скачать
2. Красивая регистрационная форма на HTML
Скачать
3. Таблица с ценами на сайт
Скачать
4. Красивые выключатели на HTML и CSS
Скачать
5. Кнопки скачать на CSS3
Скачать
6. Классный лист с задачами
Скачать
7.Тёмная корзина для интернет магазина на HTML
Скачать
8. Простая форма входа на CSS
Скачать
9. Простой виджет с табами
Скачать
10. Тёмные кнопки на CSS
Скачать
11.Тёмный календарь для сайта бесплатно
Скачать
12. Стильные часы
Скачать
13.
Стеклянные и разноцветные кнопки на CSSСкачать
14. Таблицы с ценниками
Скачать
15. Социальные кнопки
Скачать
16. Форма входа в стиле Facebook на CSS и HTML
Скачать
17. Металлический прогресс бар
Скачать
18. Форма контактов в модальном окне
Скачать
19. Навигация с уведомлениями на CSS
Скачать
20. Красивый блокнот
Скачать
21. Красивые окна уведомлений
Скачать
22. Аналитический виджет в тёмном оформлении
Скачать
23. Разноцветные и красивые кнопки на CSS
Скачать
24. Тёмная навигация по страницам на сайт
Скачать
25.
Тёмный и светлый выпадающие спискиСкачать
26. Кнопки поделиться в социальных сетях
Скачать
27. Панель с настройками
Скачать
28. Тёмный калькулятор
Скачать
29. Бумажный блокнот
Скачать
Узнать больше интересного:
Создание градиентных кнопок с использованием CSS3
В этом уроке мы покажем, как использовать работающее во всех браузерах свойство градиентов CSS. Посмотрите пример, чтобы увидеть набор градиентных кнопок, созданный с использованием чистого CSS, без изображений или Javascript. Кнопки меняют размер, в зависимости от размера шрифта. Размер кнопок также можно изменять, меняя значения внутреннего отступа и размера шрифта. И этот способ может быть применен к любому элементу HTML, такому как блок, тег span, текст, ссылка, кнопка, поле ввода и т. п.
Демонстрация работы
Что особенного в этих кнопках?
- Чистый CSS: не используются изображения или Javascript.
- Градиент поддерживается большинством браузеров, включая старые версии: Internet Explorer, Firefox от версии 3.6, Chrome и Safari.
- Гибкость и масштабируемость: размер кнопки и закругление углов можно поменять, изменяя значение размера шрифта и внешних отступов.
- Есть три состояния кнопок: обычное, при наведении указателя мыши и активное.
- Может применяться к любому элементу HTML: ссылке, полю ввода, кнопке, тегу span, блоку, тексту, тегу h4 и т. п.
- Обходной путь: если CSS3 не поддерживается, будет показана простая кнопка, без градиентов и теней.
Предварительный просмотр
Изображение ниже показывает, как будет выглядеть кнопка в разных браузерах.
Состояния кнопки
- Обычное состояние — градиент с границей и стилями теней.
- При наведении указателя мыши — более темный градиент.
- Активное — градиент перевернут, кнопка сдвинута на 1px вниз и также более темный шрифт.
Общие стили кнопки
Следующий код — общие стили для класса .button. Мы использовали единицы em для значений свойств внутреннего отступа и скругления границы, чтобы кнопка меняла размер при изменении размера шрифта. Чтобы изменить закругление углов и размер кнопки, просто измените значение свойств border-radius, font-size и padding. Например, мы можем сделать маленькую кнопку, уменьшив размер шрифта и значение внутреннего отступа, посмотрите пример.
.button { display: inline-block; outline: none; cursor: pointer; text-align: center; text-decoration: none; font: 14px/100% Arial, Helvetica, sans-serif; padding: .5em 2em .55em; text-shadow: 0 1px 1px rgba(0,0,0,.3); -webkit-border-radius: .5em; -moz-border-radius: .5em; border-radius: .5em; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,. 2); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2); box-shadow: 0 1px 2px rgba(0,0,0,.2); } .button:hover { text-decoration: none; } .button:active { position: relative; top: 1px; }
Стили цветового градиента
Код ниже — это стили CSS для оранжевой кнопки. Первая строка, содержащая свойство фона, — это обходной путь для браузеров, не поддерживающих CSS3, вторая строка — для браузеров на движке Webkit, третья — для браузера Firefox и последняя — фильтр градиента для браузера Internet Explorer.
.orange { color: #fef4e9; border: solid 1px #da7c0c; background: #f78d1d; background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20)); background: -moz-linear-gradient(top, #faa51a, #f47a20); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20'); } .orange:hover { background: #f47c20; background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015)); background: -moz-linear-gradient(top, #f88e11, #f06015); filter: progid:DXImageTransform. Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015'); } .orange:active { color: #fcd3a5; background: -webkit-gradient(linear, left top, left bottom, from(#f47a20), to(#faa51a)); background: -moz-linear-gradient(top, #f47a20, #faa51a); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f47a20', endColorstr='#faa51a'); }
Как можно использовать эти кнопки?
Допустим, вам понравилась синяя кнопка, и вы хотели бы использовать ее в своем проекте. Для этого вам нужно:
- Сначала скопировать свойства CSS для классов .button и .blue из примера исходного кода.
- После этого добавить к элементу HTML, который вы хотите сделать кнопкой, например, <a href=»#»>Button</a>. Классы CSS могут быть применены к любым элементам, таким как ссылка, текст, тег span, блок, поле ввода, кнопка и т.д.
Автор урока Nick La
Перевод — Дежурка
Смотрите также:
Лучшие плагины для кастомных кнопок на WordPress
Администраторы сайтов на WordPress довольно редко сталкиваются с HTML и CSS кодом, и в этом основной секрет успеха и популярности данной платформы. Большинство предпочитает визуальный редактор и графический пользовательский интерфейс для настройки своей темы, страниц и плагинов.
Не смотря не это, можно, конечно, изменять свои страницы, создавать красивые кнопки и делать многое другое с помощью кода, но это не единственный способ. Один из вариантов создания красивых пользовательских кнопок, call-to-action и целевых страниц — использование плагинов.
Смотрите также:
На WordPress нет опции добавления пользовательских кнопок по умолчанию. Однако существует много платных и бесплатных решений для их создания. Что можно использовать на целевых страницах, а также в призывах к действию? Есть несколько плагинов на WordPress для выполнения почти всех задач. В этом посте вы узнаете, зачем нужны эти кнопки и плагины на WordPress, и как их получить.
Основные типы кнопок
В общих чертах, кнопки сопровождают посетителей с одного адреса на другой. Они следуют механизму ссылок, которые сочетают в себе две страницы и дают пользователям возможность перейти с одной на другую. По назначению кнопки бывают трех видов:
- Ссылки: вы можете просто использовать их вместо ссылок. Но, конечно, не на всех ссылках они могут быть.
- Социальные кнопки: кнопки социальных сетей позволяют пользователям обмениваться ссылками на страницах в соцсетях.
- Call-to-Action (CTA, призыв к действию): это другой тип кнопки, который оптимизирован в психологическом отношении и используется для того чтобы управлять вниманием пользователя.
Зачем вам нужны эти кастомные кнопки?
Оформление сайта является одним из самых весомых аспектов интернет-маркетинга. Доля результативности зависит от того, насколько легко ориентироваться на вашей странице, и насколько хорошо она продумана. Исследования доказывают, что вызывающие интерес страницы чаще убеждают посетителей оставлять адреса их электронной почты или покупать ваш продукт. Независимо от того, продаете ли вы что-то или нет, вы всегда делаете коммерческую работу.
Вы продаете свой бренд. Даже если посетители не до конца осведомлены, они оценивают все по дизайну сайта. Кнопки являются одним из важных элементов красивого дизайна. Если они хорошо продуманные и в целом подходят тематике блога, пользователи будут более склонны их использовать.
Поэтому вам нужны не просто кнопки. Они должны быть красивыми и давать конверсию с ваших целевых страниц. Но сначала давайте поговорим о самих кнопках.
Способы добавления кнопок на WordPress
Есть два способа добавления кнопок на WordPress:
- Код: вы можете использовать HTML и CSS для создания кнопок. Для этого знание указанных языков является обязательным.
- Плагины: просто устанавливайте плагин WordPress для добавления кнопок. Это, как обычно, самый простой способ.
На втором способе мы и остановимся в данном посте.
MaxButtons — это бесплатный WordPress плагин, который позволяет пользователям получить красивые и изящные кнопки. Он дает вам возможность создавать и добавлять красивые кнопки CSS3 в ваших постах и страницах. Также этот плагин имеет более 70,000 активных установок и является одним из самых настраиваемых на WordPress.
Основные свойства:
- Общие настройки: вы можете создавать неограниченное количество кнопок и использовать их в постах и страницах с шорткодами. Цвет кнопки, размер текста, тени и стиль границ, и множество других параметров могут меняться.
- Адаптивность: кнопки, созданные с помощью этого плагина, выглядят хорошо как на настольных, так и на портативных устройствах.
- Значки: можно добавлять значки для кнопок, настраивать их размещение и размер. Есть более 35,000 значков.
- Поддержка шрифтов Google: одной из лучших особенностей этого плагина является поддержка шрифтов Google.
- Pro версия: некоторые функции, которые были описаны, доступны только в премиум версии плагина по цене $19.
2. Buttons Shortcode and Widget
Buttons Shortcode and Widget — еще одно бесплатное решение для создания кнопок. Он имеет четкий и легкий в использовании интерфейс.
Основные свойства:
- Общие настройки: Редактируйте текст, значок, форму, цвет, размер. Также есть онлайн просмотр.
- Без необходимости кодирования: этот плагин устраняет необходимость знаний CSS и все равно создает потрясающие кнопки.
- Возможность использования в разных местах: позволяет использовать кнопки в постах, страницах, боковых панелях и даже в файлах темы. Предполагается, что плагин может работать в любом месте.
- Пользовательское оформление: каждая кнопка имеет единую категорию CSS, которая может быть использована для добавления пользовательских стилей. Или вы можете назначать каждому примеру кнопки отдельную категорию CSS для индивидуальной стилизации.
Есть также премиум-версия, которая включает в себя кучу полезных функций, таких как адаптивные кнопки.
3. Button Maker Plugin
Button Maker Plugin — простой в использовании плагин для создания кнопок в WordPress. Он не имеет внушительную пользовательскую базу и более 1000 активных установок.
Основные свойства:
- Создавайте неограниченное количество кнопок и сохраняйте их для дальнейшего использования. Их цвет, размер шрифта, направление и прочее можно менять.
- Знает, что приносит конверсию: позволяет записывать просмотры и клики на каждую кнопку, так чтобы вы знали, что преобразовывается.
- Платная версия: для расширения возможностей этого плагина вы можете приобрести премиум-версию. Button Maker Pro даст вам несколько новых функций, таких как возможность добавления многострочного текста в кнопках.
Easy Social Share Buttons for WordPress — лучший плагин для социальных кнопок на wordpress. Это комплексные и оптимальные решения для повышения социальной активности на вашем сайте. В отличие от большинства плагинов в этом списке, он не создан для построения кнопок общего пользования. Наоборот, плагин концентрируется только на кнопки с функцией «поделиться» в соц. сети.
Основные свойства:
- Плагин интегрируется с более 45 социальными сетями, имеет более 48 уникальных шаблонов, много настроек.
- Обмен контентом: возможность отображать счетчик для кнопок и разрешать посетителям управлять соц. профилями. Есть 123 способа для их отображения.
- Template Customizer (Настройщик шаблона): Такие настройки как изменение цвета или размер кнопки для шаблона можно легко сделать с помощью Template Customizer.
- Совместимость: плагин хорошо работает с BuddyPress, WooCommerce, bbPress и Easy Digital Downloads.
5. Button Pro — CSS3 Buttons
Button Pro — CSS3 Buttons — еще один плагин из CodeCanyon в этом списке. Стоит всего $4 и имеет более 1100 продаж. Плагин включает в себя простой в использовании набор кнопок на основе CSS3 и комплект кнопок для обмена в соц. сетях. Но это не WordPress плагин, так что придется немного разобраться с кодом. Но если вы знаете немного CSS, можно начать работу довольно быстро.
Основные свойства:
- Общие настройки: есть 3 размера кнопок и 11 цветовых вариаций на выбор. Вам просто нужно добавить категорию CSS, чтобы использовать плагин.
- Документация: вместе с плагином поставляется подробная документация, чтобы помочь вам сделать все как лучше.
- Адаптивность: плагин оперативно работает с основными браузерами.
Итоги
В основном, кнопки — это мелкие детали страницы. Однако они очень влияют на дизайн вашего сайта. Вот почему необходимо устанавливать плагин для кнопок на WordPress.
Смотрите также:
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/
примеров пагинации CSS
Узнайте, как создать адаптивную разбивку на страницы с помощью CSS.
Простая разбивка на страницы
Если у вас есть веб-сайт с большим количеством страниц, вы можете добавить какой-нибудь пагинация на каждую страницу:
Пример
.pagination {display: встроенный блок;
}
.pagination a {
color:
чернить;
поплавок: левый;
отступ: 8 пикселей
16px;
текст-оформление: нет;
}
Активная нумерация страниц с возможностью зависания
Выделите текущую страницу с помощью .активный
class и используйте : hover
селектор для изменения цвета каждой ссылки страницы при наведении на нее мыши:
Пример
.pagination a.active {background-color: # 4CAF50;
цвет: белый;
}
.pagination a: hover: not (.active) {background-color: #ddd;}
Попробуй сам »Закругленные активные и подвесные кнопки
Добавьте свойство border-radius
, если вы хотите закругленную кнопку «активная» и «наведение»:
Пример
. разбивка на страницы a {border-radius: 5px;
}
.pagination a.active {
border-radius: 5px;
}
Эффект зависания
Добавьте свойство transition
к ссылкам страницы, чтобы создать эффект перехода при наведении курсора:
Пагинация с границами
Используйте свойство border
, чтобы добавить границы к разбивке на страницы:
Закругленные границы
Совет: Добавьте закругленные границы к первой и последней ссылке в пагинация:
Пример
.разбивка на страницы a: first-child {border-top-left-radius: 5px;
граница-нижний-левый-радиус: 5 пикселей;
}
.pagination
а: последний ребенок {
граница-верх-правый-радиус: 5 пикселей;
граница-нижний-правый-радиус: 5 пикселей;
}
Расстояние между звеньями
Совет: Добавьте свойство margin
, если вы не хотите группировать ссылки страницы:
Пример
. pagination a {
margin: 0 4px; / * 0 для вершины
и дно.Не стесняйтесь его менять * /
}
Размер страницы
Измените размер нумерации страниц с помощью свойства font-size
:
Центрированная разбивка на страницы
Чтобы центрировать разбиение на страницы, оберните элемент контейнера (например,
text-align: center
Другие примеры
Панировочные сухари
Другой вариант разбивки на страницы — это так называемые «панировочные сухари»:
Пример
ул.хлебная крошка {padding: 8px 16px;
стиль списка: нет;
цвет фона: #eee;
}
ul.breadcrumb li {display: inline;}
ul.breadcrumb li + li: до {
отступ: 8 пикселей;
цвет: черный;
содержимое: «/ \ 00a0»;
}
40+ примеров кнопок CSS3 с эффектами и анимацией | by Bradley Nice
Вы ищете кнопки CSS3 для использования в проекте веб-сайта? Вот список тех, которые вам могут понравиться. Некоторые кнопки здесь действительно используют jQuery, но не слишком щедро, чтобы все испортить.
Прежде всего, ознакомьтесь с генератором кнопок Sanwebe CSS3.
Коллекция 3D-кнопок, созданных только с использованием CSS3.
Красиво оформленные кнопки социальных сетей, только с использованием CSS3 и иконочного шрифта.
Круговые анимированные кнопки с фоновыми узорами CSS3. Может не работать в Firefox 3.6 и IE10.
Еще одна круглая анимированная кнопка, но на этот раз вращение текста при наведении мыши дает действительно хороший эффект.
Еще один пример круглых кнопок CSS3.
Красиво созданные кнопки-переключатели, полностью созданные с использованием CSS3 и шрифта значков.
Симпатичная трехмерная кнопка, созданная с использованием шрифтов CSS3 и Google.
Кнопки демонстрируют классную анимацию с использованием различных свойств CSS3.
Легко создавайте блестящие кнопки только с помощью CSS3.
Удивительно, что вы можете сделать с псевдоэлементами CSS3 : до и : после . Оформить заказ изумительно выполненными 3d кнопками.
Пример кнопочного переключателя на чистом CSS3, без использования JavaScript.
Эффект трехмерной кнопки переворота при нажатии, созданный только с использованием CSS3.
Никаких эффектов или анимации, просто набор кнопок популярных брендов с использованием CSS и значков начальной загрузки.
Круглая кнопка. Небольшой код jQuery для создания эффекта больших двоичных объектов при нажатии.
Создано только с использованием CSS3.
Коллекция плоских кнопок на все случаи жизни, без анимации и эффектов.
Более удобная версия кнопок социальных сетей.
Кнопка «Рождество» CSS с использованием данных : URL-адреса , метод для встраивания данных изображения непосредственно в документ.
Круглая блестящая кнопка с использованием CSS3.
Кнопки используют только символы Юникода, вы также можете использовать текстовые или графические шрифты.
Еще один набор 3D-анимированных кнопок для сайтов. Анимация выполняется с использованием свойств анимации и ключевых кадров .
Коллекция металлических кнопок CSS3, символы были созданы с помощью шрифта «pictos» с использованием @ font-face. Box-shadow и linear-gradient свойства были использованы для создания металлического вида.
Еще одна коллекция закругленных анимированных кнопок, созданных с помощью CSS3.
Buttons использует простые свойства CSS3, такие как градиенты , box-shadow , text-shadow и т. Д. Hover и активные состояния также включены в этот набор.
Хорошие кнопки CSS3. Коды HTML и CSS гораздо удобнее использовать в реальных проектах.
Эти кнопки социальных сетей используют liner-gradient в качестве основного фона, box-shadow для 3D-эффекта, значки являются результатом данных : URI .
Просто несколько простых кнопок CSS для уточнения.
Другой набор кнопок социальных сетей, созданных с помощью CSS3, он использует : до и : после для создания самой кнопки.
Серия простых кнопок CSS. Их легко настроить и использовать. Может быть легко интегрирован с Font-Awesome или другой библиотекой иконок, чтобы сделать его более понятным.
Простой пример кнопки фишки для покера с использованием CSS3. Также может использоваться как кнопка с эффектом наведения.
Концепция кнопки Slidey CSS3.
Простая кнопка со сшитым видом, демонстрирующая возможности CSS3, без использования фонового изображения.
Круглая кнопка с вращающейся рамкой для индикации наведения.
Чистая программная кнопка, созданная только с использованием CSS3.
Эти пуговицы похожи на карточки, которые выскальзывают из рукава. Полезно для дразнить пользователя или для любой информации, которая должна оставаться скрытой, пока пользователь не выберет.
Анимация кнопки моноблока на чистом CSS для обозначения состояния загрузки.
Кнопки на чистом CSS3 с многоцветной кромкой кнопки.
Обратите внимание на эти великолепные 8-битные кнопки наведения.
Простые и понятные кнопки, созданные с использованием чистого CSS. Использованы иконки от FontAwesome.
Некоторые кнопки CSS со значками FontAwesome.
Обычный набор чистых кнопок для ваших веб-приложений.
Тумблер кнопки начальной загрузки.
Коллекция анимированных кнопок CSS3 для оживления вашего сайта
Коллекция различных типов кнопок CSS различных цветов.
25 лучших бесплатных кнопок HTML CSS для веб-сайтов и приложений.
Эй, вы ищете лучший дизайн кнопки призыва к действию для своего веб-сайта и приложений? Если да, то вы попали в нужное место. Потому что в этом блоге я перечислил 25 лучших бесплатных кнопок HTML, CSS, которые вы можете использовать для создания своего веб-сайта и приложений.
Если вы хотите сделать свой сайт привлекательным и современным, вы также можете использовать формы CSS.
Итак, не теряя времени, приступим.
1. Кнопка наведения
Это одна из самых универсальных кнопок CSS, вы можете использовать ее на любом типе веб-сайтов.
2. Кнопки CSS
Эти кнопки CSS используют только символы Unicode. Вы также можете использовать текстовые или графические шрифты, если хотите.
Сделано Сашей Майкл Тринкаус
3. Кнопки 3D CSS
Если вы ищете кнопку с ровными цветами и трехмерными эффектами нажатия, вы можете попробовать.
Сделано Канишк Кунал
4. Закругленные кнопки CSS
Эта закругленная кнопка CSS имеет эффект наведения курсора мыши.Вы можете использовать эту кнопку на любом типе веб-сайтов.
Сделано Пали Мадра
5. Кнопки CSS
Серия простых кнопок CSS. Их легко настроить и использовать. Вы можете легко интегрировать эти кнопки в любую часть веб-сайта.
Сделано Sazzad
6. Концепция кнопок
Эта классная маленькая кнопка CSS выглядит потрясающе и придает веб-сайту профессиональный вид.
Сделано Крисом Диси
7.
Микровзаимодействия HoverПереместите курсор в тени этой кнопки.
Подробнее / Скачать
8. Нажимаемая кнопка CSS, совместимая с iOS
«Нажимаемая» кнопка CSS отлично смотрится на мобильных устройствах.
Сделано в jemware
9. Эффект наведения кнопки CSS
Эта кнопка CSS обеспечивает эффекты тени и глубины, и она хорошо смотрится на любом типе веб-сайта.
Сделано Julia
10.Эффект наведения простой кнопки CSS
Простой, но красивый. В этом дизайне вся анимация выполняется за пределами кнопки.
Сделано Андреасом Лундгреном
11. Кнопки CSS
Эта кнопка CSS имеет множество различных анимаций и хорошо смотрится на любом типе веб-сайта.
Сделано Реми Лакорн
12. Кнопка CSS со светящимся фоном
Эта кнопка CSS имеет цветовую схему градиента, вы также можете настроить ее в соответствии со своим веб-сайтом.
Сделано Dhanish
13. Анимация кнопок CSS
Эта кнопка CSS обеспечивает различные эффекты анимации и отлично смотрится на всех типах веб-сайтов.
Сделано Alex Loomer
14. Кнопки на чистом CSS
Эта кнопка CSS создана с использованием HTML и CSS и выглядит потрясающе на слайдерах.
MAde Натан Шмидт
15. Жидкая кнопка
Эта кнопка обеспечивает плавный эффект и придает веб-сайту современный творческий вид.
Сделано Waaark
16. Кнопка CSS
Эта кнопка CSS обеспечивает очень привлекательный вид любого типа веб-сайта и построена с использованием HTML, CSS и JavaScript.
Сделано Андреасом Виркусом
17. Миксин с эффектом наведения на границу кнопки Sass
Эта кнопка CSS обеспечивает эффект смешивания цветов на своей границе.
Сделано Giana
18. Пуговицы приподнятые
Эти 3D-кнопки CSS обеспечивают легкую анимацию при наведении курсора и нажатии.
Сделано Дрю МакДауэллом
19. Коллекция Creative Button Hover
Эти кнопки Flat CSS обеспечивают различные эффекты анимации. Вы можете использовать эти кнопки на любом типе веб-сайтов.
Сделано Ясином Софаоглу
20. КНОПКИ CSS
Эти кнопки CSS используют привлекательную анимацию. вы можете использовать эти кнопки на любом типе веб-сайтов.
Сделано Дереком Морашем
21. Кнопки социальных сетей
Это несколько потрясающих кнопок CSS с анимацией при наведении, которые придают очень современный вид любому типу веб-сайта.
Сделано Din
22. Простые кнопки CSS
Если вы ищете простую кнопку CSS, вы определенно можете попробовать эту кнопку.
Сделано Daniel Constance
23. Кнопка 3D CSS
Многонаправленные кнопки CSS с эффектом скольжения при наведении курсора.
Сделано Carlos G Notario
24.
Кнопка CSS эффекта глубины Если вы ищете дизайн прямоугольной кнопки для использования на своем веб-сайте, вы можете использовать эту кнопку.Он обеспечивает потрясающий вид для любого типа веб-сайта.
Сделано Praveen Bisht
25. Нарезанная кнопка CSS
Эта кнопка CSS использует разделенную анимацию и выглядит очень привлекательно на любом типе веб-сайта.
Сделано Сарой
Итак, это все из этого блога. Надеюсь, вам понравился список из 25 лучших бесплатных дизайнов кнопок HTML и CSS, которые вы можете использовать для создания своего веб-сайта и приложений. Если вам понравилась эта статья, не забудьте поделиться ею с друзьями.
удивительных кнопок CSS — Code Pixelz
Вам нужно вдохновение для кнопок? В этой статье мы перечислим несколько замечательных кнопок, созданных с помощью CSS, которые вы можете использовать на своих веб-сайтах. У этих кнопок есть потрясающие эффекты наведения, некоторые содержат эффект градиента, 3D-эффекты, материальный дизайн и многое другое. В конце статьи вы можете оставить свой комментарий о том, какой дизайн кнопок вам больше нравится.
1) Анимированная кнопка CSS
В нем есть потрясающая коллекция анимированных кнопок, чтобы оживить ваш сайт.Просто примерь это.
2) Кнопки материального дизайна
Кнопки материалов вызывают реакцию чернил при нажатии. Они могут отображать текст, изображения или и то, и другое. Ниже — прекрасный пример кнопок с материальным дизайном.
3) Кнопки градиента и кнопки градиентного параллакса
Вы можете не только использовать цвет фона градиента на кнопке, но также можете использовать эффект параллакса на кнопке. Поверьте, сочетание того и другого выглядит просто потрясающе.
Один только с градиентным цветом фона
Один с эффектом параллакса
http: // codepen.io / DavdSm / pen / JbWqvO
4) Стильные кнопки социальных сетей
Stylish Social Buttons имеет классные эффекты наведения, которые используются в социальных иконках, и они просто потрясающе выглядят.
5) Кнопки Bootstrap 3D
Потрясающая коллекция 3D-кнопок, сделанных с помощью bootstrap framework.
6) Big Fancy 3D вращающаяся кнопка SVG
7) Эффекты при наведении курсора на кнопку
Имеет не только простой, но и приятный эффект наведения на кнопки.
Вот еще один с крутыми эффектами наведения
8) Кнопка переключения
9) Необычная кнопка
Потрясающие кнопки с крутым градиентным фоном и эффектами
10) Парение.css
Существует множество различных эффектов наведения и является открытым исходным кодом, который доступен по лицензии MIT. Легко примените их к своим элементам.
http://codepen.io/IanLunn/pen/hysxc
Вот и все. Итак, вот несколько замечательных кнопок CSS. Оставьте комментарий, какой дизайн вам больше нравится, и не забудьте поделиться своим опытом. Удачного кодирования 🙂
Psst… ищете отличные темы для своего сайта?
Связанные14 красивых кодов кнопок и шаблонов CSS / HTML
Кнопки необходимы в элементах дизайна веб-сайта. Они могут заставить пользователей просто действовать в конце веб-формы.
Раньше для кнопок использовались изображения, которые влияли на загрузку страниц веб-сайтов. Когда был недавно выпущен CSS3, анимированные кнопки активны в любом месте веб-страницы без изображений .gif.
CSS (таблицы каскадного типа) можно использовать для разработки анимированных веб-элементов, таких как кнопки. Например, вы можете создать кнопку с градиентным цветом фона, анимированными эффектами наведения, трехмерным текстом на кнопке и многим другим.
Существует множество онлайн-генераторов CSS3, фрагментов кода, шаблонов и руководств, которые можно использовать для создания красивой кнопки для своих веб-сайтов или проектов.
Превратите обычную кнопку в светящуюся современную кнопку. В сегодняшнем посте мы составили для вас список кнопок CSS / HTML. Пожалуйста, оставьте комментарий, какой была ваша любимая кнопка.
14CSS-анимированная кнопка Twitter
Несколько строк HTML и CSS популярной анимированной кнопки Twitter, разработанной Эриком Дайнером.
ЗАГРУЗИТЬ
13Flipside Button to modal
Flipside — это кнопка, которая плавно переходит от действия к подтверждению, созданному с помощью нескольких строк CSS и jQuery.
ЗАГРУЗИТЬ
12Button styles Вдохновение
Коллекция свежих дизайнов кнопок и эффектов для вашего вдохновения, построенных с помощью переходов CSS и псевдоэлементов для большинства эффектов.
ЗАГРУЗИТЬ
11UI Отзывы Идеи обратной связи для ваших кнопок
Ряд идей обратной связи для ваших кнопок, которые служат просто мотивацией для придания вашим интерфейсам большей динамики.
ЗАГРУЗИТЬ
10Создание эффектов кнопок CSS
Фрагмент CSS от Codrops, это набор потрясающих эффектов для кнопок. Эффект виден при наведении курсора на некоторые кнопки и простом нажатии на других людей.
ЗАГРУЗИТЬ
9 Кнопка загрузки PSD + CSS
Простая, но красивая кнопка загрузки, сделанная в Photoshop и готовая в коде. Бесплатная PSD + CSS выпущена Яном Эриком Вайдером.
СКАЧАТЬ
8Поделиться! Фрагмент CSS
Поделиться — это минималистичная кнопка совместного использования CSS / HTML.при наведении курсора появляется всплывающая подсказка с четырьмя социальными ссылками. Фрагмент CSS включает в себя разные дизайны.
ЗАГРУЗИТЬ
7Boot snippets CSS code snippets for Bootstrap
Boot snipp is a library free design elements and rules snippets for the Twitter Bootstrap HTML / CSS / JS framework.
ЗАГРУЗИТЬ
6 Радиокнопки Pure CSS
Некоторые плоские радиокнопки на чистом CSS с очень хорошей анимацией.Фрагмент кода, созданный DesignitCodeit.
СКАЧАТЬ
Кнопки с рисунком 5CSS3
В настоящее время использование приглушенных узоров — это круто, так что кто-то подумал, что вы захотите использовать их также в кнопках? Теоретически можно было бы создать несколько хороших кнопок с шаблоном CSS3.
ЗАГРУЗИТЬ
4 Стили кнопок выполнения
Вот несколько интересных фрагментов для создания трехмерных дизайнов кнопок выполнения, где сама кнопка функционирует как индикатор выполнения.
СКАЧАТЬ
3Кнопочные переключатели с флажками и CSS3
Кнопочные переключатели CSS с флажками от Codrops.
СКАЧАТЬ
2 Эффект морфинга кнопки Shazam
Хорошее руководство от Codrops, которое показывает вам, как сгенерировать эффект кнопки морфинга, подобный Shazam, с помощью нескольких строк HTML и CSS.
СКАЧАТЬ
Плоские переключатели 1Pure CSS
Некоторые плоские переключатели на чистом CSS с хорошей структурой и анимацией.Фрагмент CSS, созданный DesignitCodeit.
СКАЧАТЬ
кнопок CSS от CodeCanyon
кнопок CSS от CodeCanyon4 доллара США
1,2 тыс. Продаж
Последнее обновление: 19 апр 11
3 доллара США
683 Продажи
Последнее обновление: 09 июл 14
3 доллара США
580 В продаже
Последнее изменение: 23 июн 10
3 доллара США
501 Продажа
Последнее обновление: 01 авг.12
5 долларов США
393 Продажи
Последнее обновление: 27 фев 18
4 доллара США
348 В продаже
Последнее обновление: 15 дек 14
4 доллара США
226 Продажи
Последнее изменение: 17 июл.
4 доллара США
208 Продажи
Последнее обновление: 02 авг.
6 долларов
168 Продажи
Последнее изменение: 18 июн 10
5 долларов США
156 Продажи
Последнее обновление: 24 дек 15
3 доллара США
144 Продажи
Последнее изменение: 14 мар 12
3 доллара США
113 Продажи
Последнее обновление: 06 июн 13
3 доллара США
106 Продажи
Последнее изменение: 29 июл 10
3 доллара США
103 Продажи
Последнее изменение: 24 июн 10
3 доллара США
90 Продажи
Последнее изменение: 11 мар 13
4 доллара США
84 Продажи
Последнее изменение: 15 мар 14
4 доллара США
75 Продажи
Последнее обновление: 03 авг.11
4 доллара США
67 Продажи
Последнее изменение: 14 мая 19
4 доллара США
66 Продажи
Последнее обновление: 06 апр 13
4 доллара США
63 Продажи
Последнее изменение: 19 мар 15
5 долларов США
62 Продажи
Последнее обновление: 10 сен 13
4 доллара США
59 Продажи
Последнее изменение: 26 июл.
4 доллара США
39 Продажи
Последнее обновление: 29 авг 13
6 долларов
39 Продажи
Последнее обновление: 05 июн 17
5 долларов США
33 Продажи
Последнее изменение: 24 сен 16
5 долларов США
33 Продажи
Последнее изменение: 21 мар 13
4 доллара США
31 Продажи
Последнее изменение: 26 мар 15
4 доллара США
29 Продажи
Последнее обновление: 08 фев 14
8 долларов США
26 Продажи
Последнее обновление: 01 ноя 16
6 долларов
25 Продажи
Последнее обновление: 01 апр 16
Создание волшебной 3D-кнопки с помощью HTML и CSS
Недавно я понял интересную мысль: кнопки — это «убийственная функция» Интернета.
Каждая важная вещь, которую мы делаем в Интернете, от заказа еды до записи на прием и воспроизведения видео, включает нажатие кнопки. Кнопки (и формы, которые они отправляют) делают Интернет динамичным, интерактивным и мощным.
Но многие из этих кнопок тусклые. Они могут вызвать огромные изменения в реальном мире, но совсем не ощущаются осязаемыми. Ощущение, как унылые повседневные пиксели.
В этом руководстве мы создадим причудливую 3D-кнопку:
Push Me
Целевая аудиторияЭто учебное пособие среднего уровня для интерфейсных разработчиков.Он ориентирован на HTML / CSS, знания JavaScript не требуются.
Если вы относительно новичок в переходах CSS, я бы рекомендовал сначала прочитать «Интерактивное руководство по переходам CSS».
Есть один главный трюк, который мы пару раз воспользуемся в этом уроке, чтобы создать иллюзию 3D-кнопки.
Вот как это работает: когда пользователь взаимодействует с нашей кнопкой, мы перемещаем слой переднего плана вверх и вниз перед неподвижным фоном:
(Попробуйте сдвинуть ползунок «Показать», а затем взаимодействовать с кнопкой !)
Почему бы не использовать box-shadow
или границу
? Анимация этих свойств на супер, дорого стоит.Если нам нужен плавно-масляный переход на кнопке, мы добьемся большего успеха с этой стратегией.
Вот наша кнопка MVP в коде:
Наш элемент button
обеспечивает бордовый цвет фона, имитирующий нижний край нашей кнопки. Мы также убираем границы / отступы по умолчанию, которые идут с элементами button
.
. Front
— наш слой переднего плана. он получает яркий розово-малиновый цвет фона, а также некоторые стили текста.
Мы будем перемещать слой переднего плана с помощью преобразования : перевести
. Это лучший способ добиться этого эффекта, поскольку преобразования могут быть ускорены аппаратно.
Пока мышь удерживается на кнопке, применяются стили : активный
. Мы сдвинем передний слой вниз так, чтобы он находился на 2 пикселя выше нижнего. Мы могли бы уменьшить его до 0 пикселей, но я хочу, чтобы трехмерная иллюзия сохранялась постоянно.
Мы заложили прочный фундамент, и теперь пришло время построить на нем кое-что интересное!
Ссылка на этот заголовок
Контуры фокусаБольшинство браузеров добавляют контур к кнопке при ее нажатии, чтобы указать, что элемент получил фокус.
Вот как это выглядит по умолчанию в Chrome / MacOS:
В приведенном выше MVP я взял на себя смелость добавить объявление outline-offset
. Это свойство дает нашей кнопке немного буфера:
Это существенное улучшение, но все же немного раздражает глаза. Кроме того, это не работает последовательно: в Firefox смещение контура
не работает для контуров «фокуса» по умолчанию.
Мы не можем просто удалить его — этот контур super важен для людей, которые используют клавиатуру для навигации.Они полагаются на него, чтобы узнать, какой элемент сфокусирован.
К счастью, мы можем использовать шикарный псевдокласс CSS, чтобы помочь нам: : focus-visible
Это чертовски полезный селектор, поэтому давайте разберемся с ним.
Псевдокласс : focus
будет применять свои объявления, когда элемент находится в фокусе. Это работает независимо от того, находится ли элемент в фокусе, переходя к нему с клавиатуры или щелкая по нему мышью.
: focus-visible
аналогичен, но он применяется только тогда, когда элемент находится в фокусе и , пользователь может увидеть визуальный индикатор фокуса (например, потому что они используют клавиатуру для навигации).
Наконец, : not
позволяет нам смешивать некоторую логику. Стили будут применяться, когда элемент соответствует селектору : focus
, но не селектору : focus-visible
. На практике это означает, что мы будем скрывать контур, когда кнопка находится в фокусе и пользователь использует указательное устройство (например, мышь, трекпад, палец на сенсорном экране).
Скажу честно: приведенное выше правило довольно сбивает с толку!
Есть ли более ясный способ достичь того же эффекта? Что, если бы мы написали это так?
revert
— это специальное ключевое слово, которое вернется к тому значению, которое должно быть, на основе настроек браузера по умолчанию *.В Chrome на MacOS это означает сплошную синюю линию.
Все проще, правда? Мы говорим: «Скрыть контур, кроме случаев, когда он явно сфокусирован».
К сожалению, у этого альтернативного метода есть проблема: он не работает в старых браузерах .
Показать еще Щелчок и фокусВ большинстве браузеров щелчок по кнопке приводит к фокусировке. Однако в зависимости от вашего браузера и операционной системы это может быть не так!
В MDN есть отличная статья, в которой рассказывается, как разные браузеры ведут себя при нажатии кнопок.
Кроме того, в Safari, кнопки можно фокусировать с помощью «Option + Tab». В других браузерах достаточно одной клавиши «Tab».
Ссылка на этот заголовок
Состояние наведенияИтак, в реальной жизни кнопки не поднимаются, чтобы встретиться с вашим пальцем до того, как вы нажмете на него.
Но было бы здорово, если бы они сделали?
Сдвинем кнопку вверх на несколько пикселей при наведении курсора. Также давайте наложим переход
на передний слой. Это оживит изменения состояния, создавая более плавное взаимодействие.
Я добавляю объявление will-change: transform
, чтобы эту анимацию можно было аппаратно ускорить. Эта тема рассмотрена в моем «Введение в переходы CSS».
Ссылка на этот заголовок
Внедрение индивидуальности С переходом blanket : transform 250ms
, мы дали нашей кнопке анимацию, но она по-прежнему не очень похожа на индивидуальность .
Давайте рассмотрим различные действия, которые можно выполнять с этой кнопкой:
Должно ли каждое из этих действий иметь одинаковые характеристики? Я так не думаю.Я хочу, чтобы кнопка быстро опускалась при нажатии, и я хочу, чтобы она приходила в норму при отпускании. Когда курсор удаляется, я хочу, чтобы он возвращался в свое естественное положение с ледяной скоростью.
Вот как это выглядит. Попробуйте взаимодействовать с кнопкой, чтобы увидеть разницу:
Мы можем установить переопределения для каждого состояния, чтобы изменить поведение анимации. В дополнение к выбору различных скоростей, мы можем также изменить временные функции!
Наш переход по умолчанию, внутри .front
, применяется, когда мышь покидает кнопку. Это наш переход к «возвращению к равновесию». Я дал ему неторопливую продолжительность 600 мс — вечность, когда дело касается микровзаимодействий. Я также дал ему настраиваемую кривую плавности с помощью кубической кривой Безье
.
Я скоро напишу больше о кубических кривых Безье. По сути, они позволяют нам создать собственную временную кривую. Это инструмент более низкого уровня, который дает нам тонну контроля.
В случае нашей «равновесной» кривой это, по сути, более агрессивное облегчение
:
Когда мы нажимаем кнопку, мы переключаемся на наш переход : активный
.Я выбрал молниеносное время перехода 34 мс — примерно 2 кадра при 60 кадрах в секунду. Я хочу, чтобы этот был быстрым, потому что именно так люди обычно нажимают кнопки в реальной жизни!
Наконец, наш переход : hover
. Это состояние связано с двумя отдельными действиями:
В идеале я бы выбрал разные переходы для каждого из этих действий, но это невозможно в чистом CSS. Если бы я действительно хотел пройти лишнюю милю, мне нужно было бы написать JS для устранения неоднозначности между этими состояниями.
Я создал «упругую» кривую Безье, которая немного выходит за пределы. Это придает кнопке еще больше индивидуальности. Вот как выглядит эта кривая:
В конечном счете, кривые Безье никогда не будут выглядеть такими же пышными, как физика пружины, , но они могут быть довольно близки, если приложить достаточно усилий!
Ссылка на этот заголовок
Добавление тениК на самом деле продать все «3D», мы можем добавить тень:
Push Me
У вас может возникнуть соблазн дотянуться до box-shadow
, но мы добьемся большего успеха, повторив трюк, который мы видели ранее.Наша тень будет отдельным слоем, и она будет двигаться в направлении , противоположном нашему переднему слою.
Для того, чтобы это сработало, нам нужно немного реструктурировать. Вот разметка для нашей новой настройки:
Раньше мы использовали
как наш крайний слой. Теперь, однако, нам нужна тень, которая бы располагалась под ним. Наш
станет оберткой, содержащей 3 слоя, уложенных один поверх другого.
Вот CSS, некоторые элементы удалены для краткости:
Для того, чтобы складывать элементы HTML, мы используем абсолютное позиционирование.Последний слой, .front
, использует относительное позиционирование, поскольку нам нужен 1 дочерний элемент в потоке, чтобы задать ширину и высоту
.
Мы можем полагаться исключительно на DOM-заказ; Для управления порядком наложения не требуется z-index
!
С точки зрения того, как установить , перевести
: наша тень движется в противоположном направлении от нашего переднего слоя. Тень не так далеко перемещается от базовой линии: в то время как .front
перемещается вверх на 6 пикселей, .shadow
сдвигается вниз только на 4 пикселя. Это субъективный выбор; вы можете предпочесть другие ценности. Приветствуются эксперименты!
Мы также можем добавить немного размытия для более мягкой и естественной тени:
Этого можно добиться с помощью фильтра размытия:
Ссылка на этот заголовок
Цвет и эстетикаМы просто примерно там, но мы можем сделать еще две мелочи, чтобы завершить эффект.
Этот первый очень тонкий, но действительно удовлетворительный.Я применяю линейный градиент к элементу «edge», чтобы казалось, будто закругленные углы отражают меньше света:
Показать передний слой Показать градиентВот CSS для этого бита:
Мы почти у цели — давайте бросим Добавьте вишню на это мороженое и положите конец.
Последняя маленькая деталь — дополнительный эффект наведения:
Push Me
При наведении курсора кнопка светится. Оба слоя становятся светлее.
Как с этим бороться? Мы могли бы переключить цвета, но это немного усложняется из-за только что добавленного градиента.К счастью, мы можем использовать другой фильтр CSS: , яркость,
.
При наведении курсора кнопка становится на 10% ярче. Это влияет на все 3 слоя. filter
— свойство с удивительной производительностью для анимации, поэтому мы не будем слишком сильно нагружать оборудование.
Ссылка на этот заголовок
Усовершенствования для мобильных устройствПри нажатии интерактивного элемента на мобильных устройствах браузер высвечивает «прямоугольник касания» вверху:
Обратите внимание на быстро мигающий серый прямоугольник? Цвет варьируется между iOS и Android, но эффект остается неизменным.
Почему это происходит? Что ж, это поле может служить полезным отзывом, чтобы подтвердить, что вы успешно коснулись цели. Но наша кнопка предлагает множество отзывов как есть, поэтому в этом случае она нам не нужна.
Мы можем удалить его с помощью этого объявления:
Еще одна вещь: на iOS, если кнопку удерживать в течение секунды, телефон попытается выделить текст внутри кнопки:
Давайте сделаем нашу кнопку недоступной для выбора , чтобы улучшить эту ситуацию:
С большой властью приходит большая ответственность. Мы должны проявлять большую осторожность при отключении функций браузера, предназначенных для повышения удобства использования! В данном случае я вполне уверен, что мы улучшаем опыт, а не ухудшаем его, но эти свойства следует использовать крайне редко.
Это был долгий путь, но я надеюсь, вы согласитесь, что мы создали кнопку , которая очень удобна.
Тоже очень показное; вы, вероятно, захотите быть довольно избирательным в выборе того, где вы используете такую кнопку.Я бы не стал использовать эту кнопку для баннера согласия на использование файлов cookie GDPR! Но для грандиозных и захватывающих действий теперь у вас есть кнопка, которая соответствует 000
Если вы заинтересованы в повышении уровня своих навыков CSS, я работаю над курсом! Он специально разработан для разработчиков JS.