Содержание

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

 

Приветствую всех читающих эту публикацию, а также моих горячо любимых подписчиков! Сегодня я хочу рассказать вам об одном модном и симпатичном объекте, который можно встретить на страницах интернет-магазинов знаменитых брендов. А теперь внимание! Я покажу, как создается прозрачная кнопка css свойствами.

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

А вот и прародитель дизайна!

Не удивительно, что в мире веб-программирования трудно запечатлеть в истории всех создателей каких-то элементов дизайна. Однако с данной кнопкой все иначе. Первый онлайн-ресурс, который использовал «призрачную кнопку» стал Tumblr. После дебюта на таком знаменитом сайте дизайн начал взлетать по ступенькам популярности.

Следующей его использовала компания Apple для представления кнопок в интерфейсах браузера Safari и операционной системы iOS. По сути именно благодаря Apple прозрачные объекты стали модными. На сегодняшний день все прибыльные коммерческие сервисы используют данную технологию.

Особенности «кнопки призрака»

Из-за своего внешнего вида полупрозрачный button стали называть «кнопкой призраком». И действительно, особенностями такого объекта являются:

  • Тонкая контурная линия;
  • Преобладание черно-белой палитры цветов;
  • Прозрачный фон;
  • Масштаб больше стандартного.

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

ПлюсыМинусы
·       Использование минимального количества css-свойств, украшений и отвлекающих анимаций;

·       Простота и лаконичность;

 

·       Отлично привлекает внимание пользователей при правильном использовании;

·       Не отвлекает от важного контента.

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

Пример прозрачной кнопки

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

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

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
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta charset=utf-8" />
  <title>Пример сайта с призрачной кнопкой</title>
  <style type="text/css">
  BODY {
  background: url(http://modoza. ru/mail_images/menu/rasprodazha-menu.png) no-repeat;
  background-size:100%
  }
a.b-ghost {
  display: block;
  margin-top:45px;
  width: 350px;
  padding: 15px;
  color: 	#1C1C1C;
  font-weight: bold;
  font-family: Arial Unicode MS, sans-serif;
  border: 3px solid 	#363636;
  text-align: center;
  outline:  1px solid #828282;
  text-decoration: none;
  transition: background-color 0.8s ease-in-out,
              color 0.8s ease-in-out;
}
.b-ghost:hover,.b-ghost:active {
  background-color: #363636;
 border: 3px solid 	#CFCFCF;
  color: #CFCFCF;
  transition: background-color 0.6s ease-in-out,
              color 0.6s ease-in-out;
}
  </style>
  </head>
  <body>
  <div >
<a href="#">Мужская одежда</a>
   <a href="#">Женская одежда</a> 
  </div>
  </body>
</html>

<!DOCTYPE html> <html xmlns=»http://www. w3.org/1999/xhtml»> <head> <meta charset=utf-8″ /> <title>Пример сайта с призрачной кнопкой</title> <style type=»text/css»> BODY { background: url(http://modoza.ru/mail_images/menu/rasprodazha-menu.png) no-repeat; background-size:100% } a.b-ghost { display: block; margin-top:45px; width: 350px; padding: 15px; color: #1C1C1C; font-weight: bold; font-family: Arial Unicode MS, sans-serif; border: 3px solid #363636; text-align: center; outline: 1px solid #828282; text-decoration: none; transition: background-color 0.8s ease-in-out, color 0.8s ease-in-out; } .b-ghost:hover,.b-ghost:active { background-color: #363636; border: 3px solid #CFCFCF; color: #CFCFCF; transition: background-color 0.6s ease-in-out, color 0.6s ease-in-out; } </style> </head> <body> <div > <a href=»#»>Мужская одежда</a> <a href=»#»>Женская одежда</a> </div> </body> </html>

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

Пока-пока!

С уважением, Роман Чуешов

 

 

Загрузка…

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

Кнопки закрытия на CSS

.cl-btn-1 {

    margin: 20px;

    position: relative;

    display: flex;

    justify-content: center;

    height: 112px;

}    

.cl-btn-1 div {

    width: 100px;

    height: 100px;

    position: absolute;

    background-image: radial-gradient(#FFF, #BFE2FF);

    border-radius: 50%;

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    border: 6px solid #337AB7;

    cursor: pointer;

}

.cl-btn-1 div > span {

    background-color: #337AB7;

    display: block;

    height: 12px;

    border-radius: 6px;

    position: relative;

    transition: all 0. 4s cubic-bezier(0.215, 0.61, 0.355, 1);

    position: absolute;

    top: 50%;

    margin-top: -6px;

    left: 18px;

    width: 64px;

}

.cl-btn-1 div > span span {

    display: block;

    background-color: #215b8c;

    width: 12px;

    height: 12px;

    border-radius: 6px;

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    position: absolute;

    left: 0;

    top: 0;

}

.cl-btn-1 div > span.left {

    transform: rotate(45deg);

    transform-origin: center;

}

.cl-btn-1 div > span.left .circle-left {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 0;

}

.cl-btn-1 div > span.left .circle-right {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 52px;

}

.cl-btn-1 div > span.right {

    transform: rotate(-45deg);

    transform-origin: center;

}

. cl-btn-1 div > span.right .circle-left {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 0;

}

.cl-btn-1 div > span.right .circle-right {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 52px;

}

.cl-btn-1 div:hover > span {

    background-color: #215b8c;

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

}

.cl-btn-1 div:hover > span span {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    background-color: #337AB7;

}

.cl-btn-1 div:hover > span.left .circle-left {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 52px;

}

.cl-btn-1 div:hover > span.left .circle-right {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 0;

}

.cl-btn-1 div:hover > span.right .circle-left {

    transition: all 0. 4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 52px;

}

.cl-btn-1 div:hover > span.right .circle-right {

    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);

    margin-left: 0;

}

Как сделать кнопку полупрозрачной?

Как сделать кнопку полупрозрачной?

02.02.2018 14:51

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

Для того, чтобы сделать кнопку полупрозрачной, потребуется CSS и HTML. Как сделать кнопку непрозрачной, можно прочесть на странице http://askdev.info/questions/151/how-to-make-button-non-transparent.

HTML

В разметке будет необходим лишь один HTML компонент. Это компонент Button. Вы можете заменить его на input или button.

CSS

В CSS свойством, которое отвечает за создание прозрачных эффектов, является background. Для улучшения аффорданси кнопки необходимо установить конкретные стили для псевдо-классов. Если пользователь наведет курсор на кнопочку или кликнет по ней, то кнопка будет менять почти прозрачный фон на сплошной. Так можно будет понять, что с этой кнопкой возможно взаимодействие.

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

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

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

Сделать кнопку полупрозрачной можно при помощи обозначения свойств Opacity элемента. У любого элемента есть это свойство. Прозрачность является не целым значением, которое находится в промежутке от 0 до 1. Значение 1 говорит об абсолютной непрозрачности. А значение 0 — это полная прозрачность. Если установить значение прозрачности на уровне 0,9, то можно будет получить видимость 90%. Установив таким образом прозрачность, можно повлиять на визуальное содержимое компонента.

Прозрачные кнопки в веб-дизайне

Большие кнопки в веб-дизайне — это тренд. Однако не только мода стоит за решениями веб-дизайнеров. Такие кнопки отличное решение для элементом call-to-action, они заметны и на них хочется нажать. Сегодня мы собрали примеры сайтов, на которых использованы прозрачные кнопки. Их преимущество в том, что они не перетягивают излишнее внимание с остального контента, однако остаются достаточно заметными и призывающими к действию.

 

 


softgames. de


taffy8.com


yelloistanbul.com


johnelliott.co


corum.ch


raysrestaurants.com


dedalx.com


martialytics.com


dahafazlaheyecan.com


nativevsweb.com


homeaway.com


luneteyewear.com


biamar.com.br


annualreport.stlouischildrens.org


atelierstersi. fr


lacroixdesign.net 


smartcodes.co.tz


mobivy.com


designarethemes.net


where2getit.com

Автор подборки — Дежурка

Смотрите также:

  • Модные кнопки в веб-дизайне
  • Сайты с размытым фоном
  • Руководство по дизайну кнопок «Call to action»

Создание сияющих кнопок с использованием CSS

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

 


Вот пример кнопок, которые мы создадим:

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

Демонстрация работы

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

Код HTML 

Для начала мы добавим странице код HTML:

<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>
<a href="#"><div></div>Click Here</a>

Стоит отметить, что в находящемся выше коде HTML используются классы для ссылок. У всех кнопок есть класс button (кнопка), чтобы у них всех были одинаковые свойства, нужные для кнопок. А чтобы они выглядели по-разному, добавлен класс, который изменяет цвет кнопок.

У каждой кнопки также есть блок, вложенный в ссылку, класса light (свечение), который придает сияние кнопке, о нем будет подробно рассказано далее.

Стили CSS 

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

Сначала рассмотрим сами кнопки, все они используют класс CSS button, который задает размеры. Цвет фона задается другим классом CSS, называющимися как соответствующий цвет.

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

.button{
	height:2em;
	padding:15px 50px;
	margin:20px 40px;
	cursor:pointer;
	display:inline-block;
	color:#FFF;
	font-size:1em;
	border:1px solid #eee;
	background:#eee;
	border-radius:4px;
	line-height:2em;
	border:1px solid #aaa;
	text-decoration:none;
	-webkit-transition: all 0. 3s linear;
     -khtml-transition: all 0.3s linear;
       -moz-transition: all 0.3s linear;
         -o-transition: all 0.3s linear;
            transition: all 0.3s linear;
} 

Как видите, при помощи кода CSS выше задается высота и внутренние отступы кнопки. Еще с помощью класса CSS button устанавливается свойство переходов CSS, которое используется, чтобы при наведении указателя мыши появилась тень блока.

Цвета кнопки

Следующий код — это градиенты фона CSS, используемые для всех кнопок:

/*********************************************************************** * Green Background **********************************************************************/
.green{
	background: #cdeb8e; /* Old browsers */
	background: -moz-linear-gradient(top, #cdeb8e 0%, #a5c956 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cdeb8e), color-stop(100%,#a5c956)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* Chrome10+,Safari5. 1+ */
	background: -o-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* IE10+ */
	background: linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cdeb8e', endColorstr='#a5c956',GradientType=0 ); /* IE6-9 */
}

/*********************************************************************** * Red Background **********************************************************************/
.red{
	background: #ff3019; /* Old browsers */
	background: -moz-linear-gradient(top, #ff3019 0%, #cf0404 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff3019), color-stop(100%,#cf0404)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ff3019 0%,#cf0404 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ff3019 0%,#cf0404 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #ff3019 0%,#cf0404 100%); /* IE10+ */
	background: linear-gradient(top, #ff3019 0%,#cf0404 100%); /* W3C */
	filter: progid:DXImageTransform. Microsoft.gradient( startColorstr='#ff3019', endColorstr='#cf0404',GradientType=0 ); /* IE6-9 */
}

/*********************************************************************** * Yellow Background **********************************************************************/
.yellow{
	background: #ffd65e; /* Old browsers */
	background: -moz-linear-gradient(top, #ffd65e 0%, #febf04 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffd65e), color-stop(100%,#febf04)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffd65e 0%,#febf04 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffd65e 0%,#febf04 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #ffd65e 0%,#febf04 100%); /* IE10+ */
	background: linear-gradient(top, #ffd65e 0%,#febf04 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffd65e', endColorstr='#febf04',GradientType=0 ); /* IE6-9 */
}

/*********************************************************************** * Grey Background **********************************************************************/
. grey{
	background: rgb(238,238,238); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(238,238,238,1) 0%, rgba(204,204,204,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(204,204,204,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* IE10+ */
	background: linear-gradient(left, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=1 ); /* IE6-9 */
}

/*********************************************************************** * Black Background **********************************************************************/
. black{
	background: #7d7e7d; /* Old browsers */
	background: -moz-linear-gradient(top, #7d7e7d 0%, #0e0e0e 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7d7e7d), color-stop(100%,#0e0e0e)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #7d7e7d 0%,#0e0e0e 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #7d7e7d 0%,#0e0e0e 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #7d7e7d 0%,#0e0e0e 100%); /* IE10+ */
	background: linear-gradient(top, #7d7e7d 0%,#0e0e0e 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7d7e7d', endColorstr='#0e0e0e',GradientType=0 ); /* IE6-9 */
}

/*********************************************************************** * Brown Background **********************************************************************/
.brown{
	background: #f6e6b4; /* Old browsers */
	background: -moz-linear-gradient(top, #f6e6b4 0%, #ed9017 100%); /* FF3. 6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6e6b4), color-stop(100%,#ed9017)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f6e6b4 0%,#ed9017 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f6e6b4 0%,#ed9017 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f6e6b4 0%,#ed9017 100%); /* IE10+ */
	background: linear-gradient(top, #f6e6b4 0%,#ed9017 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6e6b4', endColorstr='#ed9017',GradientType=0 ); /* IE6-9 */
}

/*********************************************************************** * Blue Background **********************************************************************/
.blue{
	background: #7abcff; /* Old browsers */
	background: -moz-linear-gradient(top, #7abcff 0%, #60abf8 44%, #4096ee 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7abcff), color-stop(44%,#60abf8), color-stop(100%,#4096ee)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* IE10+ */
	background: linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7abcff', endColorstr='#4096ee',GradientType=0 ); /* IE6-9 */
}

/*********************************************************************** * Dark Red Background **********************************************************************/
.darkred{
	background: rgb(169,3,41); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(169,3,41,1) 0%, rgba(143,2,34,1) 44%, rgba(109,0,25,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(169,3,41,1)), color-stop(44%,rgba(143,2,34,1)), color-stop(100%,rgba(109,0,25,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* IE10+ */
	background: linear-gradient(left, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a90329', endColorstr='#6d0019',GradientType=1 ); /* IE6-9 */
}
/*********************************************************************** * Purple Background **********************************************************************/
.purple{
	background: rgb(203,96,179); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(203,96,179,1) 0%, rgba(173,18,131,1) 50%, rgba(222,71,172,1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(203,96,179,1)), color-stop(50%,rgba(173,18,131,1)), color-stop(100%,rgba(222,71,172,1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(203,96,179,1) 0%,rgba(173,18,131,1) 50%,rgba(222,71,172,1) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(203,96,179,1) 0%,rgba(173,18,131,1) 50%,rgba(222,71,172,1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(203,96,179,1) 0%,rgba(173,18,131,1) 50%,rgba(222,71,172,1) 100%); /* IE10+ */
	background: linear-gradient(left, rgba(203,96,179,1) 0%,rgba(173,18,131,1) 50%,rgba(222,71,172,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cb60b3', endColorstr='#de47ac',GradientType=1 ); /* IE6-9 */
} 

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

.button:hover{
	-webkit-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
     -khtml-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
       -moz-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
         -o-box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
            box-shadow:rgba(0,0,0,0.7) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
} 

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

Добавьте следующий код CSS:

.button:active {
    -webkit-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
     -khtml-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
       -moz-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
         -o-box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
            box-shadow: rgba(255,255,255,0.25) 0px 1px 0px, inset rgba(255,255,255,0.03) 0px 20px 0px, inset rgba(0,0,0,0.15) 0px -20px 20px, inset rgba(255,255,255,0.05) 0px 20px 20px;
    text-shadow:1px 1px 1px #eee;
} 

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

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

Для начала нам нужно, чтобы блок выглядел, как сияние света, для этого мы воспользуемся фоновым градиентом CSS, который начинается ярко в средине и угасает к краям блока:

.light {
    display: block;
    position: relative;
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(50%,rgba(255,255,255,0.9)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 50%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 50%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 50%,rgba(255,255,255,0) 100%); /* IE10+ */
	background: linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 50%,rgba(255,255,255,0) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */
    padding: 1px 9px;
    top: -16px;
    left: -53px;
    height: 0px;
} 

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

.button:hover .light{

	padding:1px 5px;

    -webkit-animation-name: shine;
    -webkit-animation-duration: 0.6s;
    -webkit-animation-timing-function: linear;
    -khtml-animation-name: shine;
    -khtml-animation-duration: 0.6s;
    -khtml-animation-timing-function: linear;
    -moz-animation-name: shine;
    -moz-animation-duration: 0.6s;
    -moz-animation-timing-function: linear;
    -o-animation-name: shine;
    -o-animation-duration: 0.6s;
    -o-animation-timing-function: linear;
    -webkit-animation-name: shine;
    -webkit-animation-duration: 0.6s;
    -webkit-animation-timing-function: linear;
    left:45px;
}

@-webkit-keyframes shine {
    0% { top: -15px; left: -48px; }
    10% { top: -5px; }
    20% { top: 5px; }
    30% { top: 15px; }
    40% { top: 25px; }
    50% { top: 35px; }
    60% { top: 25px; }
    70% { top: 15px; }
    80% { top: 5px; }
    90% { top: -5px; }
    100% { top:-15px; left:45px; -webkit-transform: rotate(-360deg); }
}

@-khtml-keyframes shine {
    0% { top: -15px; left: -48px; }
    10% { top: -5px; }
    20% { top: 5px; }
    30% { top: 15px; }
    40% { top: 25px; }
    50% { top: 35px; }
    60% { top: 25px; }
    70% { top: 15px; }
    80% { top: 5px; }
    90% { top: -5px; }
    100% { top:-15px; left:45px; -khtml-transform: rotate(-360deg); }
}

@-moz-keyframes shine {
    0% { top: -15px; left: -48px; }
    10% { top: -5px; }
    20% { top: 5px; }
    30% { top: 15px; }
    40% { top: 25px; }
    50% { top: 35px; }
    60% { top: 25px; }
    70% { top: 15px; }
    80% { top: 5px; }
    90% { top: -5px; }
    100% { top:-15px; left:45px; -moz-transform: rotate(-360deg); }
}

@-o-keyframes shine {
    0% { top: -15px; left: -48px; }
    10% { top: -5px; }
    20% { top: 5px; }
    30% { top: 15px; }
    40% { top: 25px; }
    50% { top: 35px; }
    60% { top: 25px; }
    70% { top: 15px; }
    80% { top: 5px; }
    90% { top: -5px; }
    100% { top:-15px; left:45px; -o-transform: rotate(-360deg); }
}
@-keyframes shine {
    0% { top: -15px; left: -48px; }
    10% { top: -5px; }
    20% { top: 5px; }
    30% { top: 15px; }
    40% { top: 25px; }
    50% { top: 35px; }
    60% { top: 25px; }
    70% { top: 15px; }
    80% { top: 5px; }
    90% { top: -5px; }
    100% { top:-15px; left:45px; transform: rotate(-360deg); }
}

Это все, что нужно для создания такого эффекта.

Посмотрите пример, чтобы увидеть, как это работает.

Демонстрация работы

Автор урока Paul Underwood

Перевод — Дежурка

Смотрите также:

Кнопки CSS эффекты при наведении и нажатии

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

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

Кое-что про дизайн в статье Блок с закруглёнными углами и тенью. Эллипс

Нужно просто поиграть с цифрами в свойствах border-radius и box-shadow, поэкспериментировать со свойствами gradient и background

Все кнопки, показанные ниже, действующие. Выбирайте вариант, который вам понравится.

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

Чтоб быстро увидеть код, понравившейся кнопки, щёлкните по ссылке «Код», рядом с кнопкой.

При наведении:

Кнопка Градиент Код

Кнопка Наплывание Код

Кнопка Обесцвечивание Код

Кнопка Всплывание Код

Кнопка Искажение Код

Кнопка Многоцветная рамка Код

Кнопка 3D кнопка Код

Появление текста вращением Код

Появление текста из глубины Код

Кнопка Появление картинки Код

При нажатии:

Красная кнопка Код

 

Кнопка с индикатором Код

 

Клавиша Код

 

Наведение и нажатие.

Кнопка

 

Выпуклая кнопка Код

 

Градиент


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
.one { /* Внешний вид кнопки */
color: #524E49; /* Цвет текста */
background: #fdeaa8 ; /* Фоновый цвет */
padding: 10px; /* Минимальный отступ текста от границ кнопки. Определяет размер кнопки */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Радиус закругления уголков */
box-shadow: 0px 1px 3px; /* Тень */
}
.one:hover { /* Преображение при наведении */
background-image: radial-gradient(ellipse farthest-corner at 50% 50%, #fdeaa8,#777); /* Радиальный градиент, переход цвета от центра к краям */
}
</style>
</head>
<body>

<button>Кнопка</button>
</body>
</html>

Наплывание


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
.two { /* Внешний вид кнопки */
color: #524E49; /* Цвет текста */
background: #fdeaa8 ; /* Фоновый цвет */
padding: 10px; /* Внутренний отступ текста от границ блока. Определяет размер кнопки */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Радиус закругления уголков */
box-shadow: 0px 1px 3px; /* Тень */
position: relative; /* Относительное позиционирование, для установки абсолютного позиционирования для наплывания */
}
.two:before { /* Псевдо элемент для создания наплывания */
content:''; /* Обязательное свойство псевдоэлемента :before */
position: absolute; /* Позиционируем абсолютно */
top: 0px; /* Позиция по границам блока */
left: 0px;
width: 100%; /* Ширина по границам кнопки */
height: 0px; /* Высота 0, поэтому невиден */
background: rgba(148,144,143,0.4); /* Фоновый цвет наплывания */
border-radius: 5px; /* Радиус уголков */
transition: all 0.5s ease-out; /* Анимация. Движение. Трансформируются все свойства (all) в течении 0.5 секунды, быстро начинается и к концу замедляется (ease-out) */
}
.two:hover:before { /* При наведении */
height: 42px; /* Высота наплывания становится равной высоте кнопки */
}
</style>
</head>
<body>

<button>Кнопка</button>
</body>
</html>

Обесцвечивание


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
.three { /* Внешний вид кнопки */
color: #524E49; /* Цвет текста в кнопке */
background: #fdeaa8; /* Фоновый цвет */
padding: 10px; /* Отступ текста от границ - определяет размер кнопки */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
}
/* Меняем внешний вид при наведении */
.three:hover { /* Добавляем псевдокласс :hover */
background: rgba(0,0,0,0);/* Меняем фоновый цвет */
color: #3a7999; /* Меняем цвет текста */
box-shadow: inset 0 0 0 3px #3a7999; /* Меняем тень */
}
</style>
</head>
<body>
<button>Кнопка</button>
</body>
</html>

Всплывание


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид кнопки */
.elementy {
color: #524E49; /* Цвет текста */
background: #fdeaa8; /* Фоновый цвет */
padding: 10px; /* Внутренний отступ текста от границ */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
/* Задаём анимацию (перемещение). Для всех действий (all) Время перемещения (0.8 сек.) Направление перемещения (cubic-bezier(0.165, 0.84, 0.44, 1)) */
-webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
/* Эффект при наведении */
.elementy:hover { /* Добавляем псевдокласс :hover */
/* Задаём расстояние, на которое сместится кнопка */
-webkit-transform: translate(10px);
transform: translate(10px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5) /* Изменяем тень */
}
</style>
</head>
<body>
<button>Кнопка</button>
</body>
</html>

Искажение


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид кнопки */
.five {
color: #524E49; /* Цвет текста */
background: #fdeaa8; /* Фоновый цвет */
padding: 10px; /* Внутренний отступ */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
/* Задаём анимацию. Для всех элементов (all), время анимации (500ms) */
transition: all 500ms ease-out;
}
/* Эффект при наведении */
.five:hover { /* Добавляем псевдокласс :hover */
transform: skew(10deg);/* Задаём действие анимации - отклонение на 10 градусов */
}
</style>
</head>
<body>
<button>Кнопка</button>
</body>
</html>

Разноцветная рамка


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид кнопки */
.six {
color: #524E49; /* Цвет текста */
background: #fdeaa8; /* Фоновый цвет */
padding: 10px; /* Отступ текста от границ. Определяет размер кнопки */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
/* Задаём анимацию. Для всех элементов (all), время появления рамки (500ms), быстро начинается потом замедляется (ease-out) */
transition: all 500ms ease-out;
}
/* Эффект при наведении */
.six:hover { /* Добавляем псевдокласс :hover */
/* Используем несколько теней разного цвета и размера */
box-shadow: 0px 0px 0px 2px #f90914,
0px 0px 0px 7px #a7f9c9,
0px 0px 0px 9px #f90914,
0px 0px 5px 10px #ff4d00;
}
</style>
</head>
<body>
<button>Кнопка</button>
</body>
</html>

3D кнопка


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид кнопки */
.seven {
color: #524E49; /* Цвет текста */
background: #fdeaa8; /* Фоновый цвет */
padding: 10px; /* Отступ текста от границ */
font-size: 20px; /*Размер текста */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
position: relative; /* Задаём относительное позиционирование */
transition: all 500ms ease-out; /* Задаём анимацию с временем выполнения 500ms */
transform-style: preserve-3d; /* Трансформация показывается как 3D */
}
/* Создаём псевдо элемент - верхняя грань кнопки */
.seven:after { /* Добавляем псевдо элемент :after */
content: 'Кнопка'; /* Текст в псевдо элементе */
position: absolute; /* Позиционируем абсолютно, относительно основного блока */
top: -50%;
left: 0px;
width: 100%; /* Ширина */
background: #fdeaa8; /* Фоновый цвет */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
transform-origin: bottom; /* Точка, относительно которой будет выполнятся вращение */
transform: rotateX(90deg); /* Размещаем в горизонтальной плоскости, в результате чего псевдо элемент не виден */
}
/* Эффект при наведении */
.seven:hover { /* Добавляем псевдо класс :hover */
transform-origin: bottom; /* Определяем точку, относительно которой происходит вращение */
transform: rotateX(-90deg); /* Поворачиваем на 90 градусов */
}
</style>
</head>
<body>
<button>Кнопка</button>
</body>
</html>

Появление вращающегося текста


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид */
.eight {
background: radial-gradient(ellipse farthest-corner at 50% 50%, #fdeaa8,#444);
background: -webkit-radial-gradient(ellipse farthest-corner at 50% 50%, #fdeaa8,#444); /* Фоновый цвет - радиальный градиент */
width: 90px; /* Ширина */
height: 40px; /* Высота */
padding: 10px; /* Внутренний отступ */
border-radius: 5px; /* Закругление углов */
box-shadow: 0px 2px 4px; /* Тень */
display: inline-block; /* Встроенный элемент */
position: relative; /* Относительное позиционирование, для абсолютного позиционирования других элементов */
text-decoration: none; /* Убираем подчёркивание текста */
}
/* Создаём псевдоэлемент - текст */
.eight:after { /* Добавляем псевдоэлемент :after */
width: 80%; /* Ширина относительно родительского блока */
color: red; /* Цвет текста */
font-family: 'Lucida Console'; /* Шрифт текста */
font-size: 18px; /* Размер текста */
text-align: center; /* Выравнивание по центру */
content: attr(title); /* Текс берётся из атрибута title */
display: block; /* Блочный элемент */
opacity: 0; /* Невидимый */
position: absolute; /* Позиционируется абсолютно */
top: 50%;
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%; /* Точка от которой происходит анимация - центр */
-webkit-transition: all 550ms ease-in-out;
transition: all 550ms ease-in-out; /* Анимация. Для всех элементов, время - 550ms, начинается и заканчивается медленно */
-webkit-transform: scale(0) rotate(-360deg) translateY(-50%);
transform: scale(0) rotate(-360deg) translateY(-50%); /* Вращение на 360 градусов */
z-index: 3; /* Поверх всех элементов */
}
/* Эффект при наведении */
.eight:hover:after { /* Добавляем псевдокласс :hover */
opacity: 1; /* Видимый */
-webkit-transform: scale(1) rotate(0deg) translateY(-50%);
transform: scale(1) rotate(0deg) translateY(-50%); /* Точка трансформации - центр */
}
</style>
</head>
<body>
<button title="knopka" ></button>
</body>
</html>

Появление текста из глубины


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид */
.nine {
background: radial-gradient(ellipse farthest-corner at 50% 50%, #fdeaa8,#444);
background: -webkit-radial-gradient(ellipse farthest-corner at 50% 50%, #fdeaa8,#444); /* Фоновый цвет - радиальный градиент */
width: 90px; /* Ширина */
height: 40px; /* Высота */
padding: 10px; /* Внутренний отступ */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 2px 4px; /* Тень */
display: inline-block; /* Встроенный элемент со свойствами блочного */
position: relative; /* Относительное позиционирование, для абсолютного позиционирования появляющегося текста */
text-decoration: none; /* Убираем подчёркивание */
}
/* Создаём псевдоэлемент для появляющегося текста */
.nine:after {
width: 80%; /* Ширина элемента */
color: red; /* Цвет текста */
font-family: 'Lucida Console'; /* Шрифт текста */
content: attr(title); /* Текст берётся из атрибута title */
display: block; /* Блочный элемент */
font-size: 18px; /* Размер текста */
text-align: center; /* Выравнивание текста по центру */
opacity: 0; /* Невидимый */
position: absolute; /* Позиционируем абсолютно по центру родительского блока */
top: 50%;
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%; /* Точка начала трансформации по центру */
-webkit-transform: scale(0) translateY(-50%);
transform: scale(0) translateY(-50%); /* Масштаб 0 и отодвигаем в глубину */
-webkit-transition: all 550ms ease-in-out;
transition: all 550ms ease-in-out; /* Анимация. Для всех элементов (all), время действия 550ms, медленно начинается и заканчивается (ease-in-out) */
z-index: 3; /* Поверх всех элементов */
}
/* Эффект при наведении */
.nine:hover:after {
opacity: 1; /* Видимый */
-webkit-transform: scale(1) translateY(-50%);
transform: scale(1) translateY(-50%); /* Масштаб 1 х 1 (scale(1)), расположение по центру в глубине */
}
</style>
</head>
<body>
<button title="knopka" ></button>
</body>
</html>

Появление картинки


<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Эффекты для кнопок CSS</title>
<style>
/* Внешний вид */
.ten {
color: #524E49; /* Цвет текста */
background: #F7E09C; /* Фоновый цвет */
padding: 10px 35px; /* Внутренний отступ. Определяет размер кнопки */
font-size: 20px; /* Размер текста */
border-radius: 5px; /* Закругление уголков */
box-shadow: 0px 1px 3px; /* Тень */
position: relative; /* Относительное позиционирование для абсолютного позиционирования картинки */
}
/* Картинка */
.ten img {
position: absolute; /* Позиционируем абсолютно */
top: 7px; /* По середине */
left: -30px; /* Выносим за пределы кнопки */
transition: all 200ms ease; /* Анимация появления. Время анимации 200 ms */
}
/* Эффект при наведении */
.ten:hover img {
left: 5px; /* Возвращаем картинку в кнопку */
}
</style>
</head>
<body>
<!--Картинка размещается внутри кнопки-->
<button><img src="images/Animation.gif">Кнопка</button>
</body>
</html>

Красная кнопка


CSS
.tower {
position: relative; /* Оболочка с относительным позиционированием, для абсолютного позиционирования других элементов */
}
/* Внешний вид */
.round {
position: absolute; /* Позиционируем абсолютно по оболочке. В этом случае позиции можно не указывать */
width: 70px; /* Ширина */
height: 70px; /* Высота */
border: 4px solid hsl(5, 40%, 70%); /* Рамка */
border-radius: 50%/50%; /* Делаем рамку круглой */
background: linear-gradient(top, hsl(0, 90%, 90%), hsl(0, 100%, 50%) 80%);
background: -webkit-linear-gradient(top, hsl(0, 90%, 90%), hsl(0, 100%, 50%) 80%); /* Фоновый цвет - линейный градиент. Цвет задан в формате hsl, но можно задать в любом доступном в веб формате */
сursor: pointer; /* Курсор в виде ладошки */
transform: rotate(30deg); /* Поворачиваем на 30 градусов */
}
/* Эффект при нажатии */
.round:active { /* Добавляем псевдокласс :active */
width: 69px; /* Уменьшаем ширину */
height: 69px; /* Уменьшаем высоту */
box-shadow: 0 0 hsl(5, 60%, 60%); /* Уменьшаем тень */
border: 3px solid hsl(5, 40%, 70%); /* Уменьшаем толщину рамки */
background: linear-gradient(top, hsl(0, 90%, 90%), hsl(0, 100%, 50%) 90%);
background: -webkit-linear-gradient(top, hsl(0, 90%, 90%), hsl(0, 100%, 50%) 90%); /* Изменяем значения линейного градиента */
}
HTML
<div>
<!--Вместо кнопки (buttom) используется ссылка (a)-->
<a href="*"></a>
</div>

Кнопка с индикатором


CSS
/* Оболочка */
.switch {
width: 70px; /* Ширина */
height: 70px; /* Высота */
position: relative; /* Относительное позиционирование, для абсолютного позиционирования других элементов */
cursor: pointer; /* Курсор в виде ладошки */
}
/* Внутренний круг */
.dot {
position: absolute; /* Позиционируем абсолютно относительно оболочки */
top: 7%;
left: 7%;
width: 70px; /* Ширина */
height: 70px; /* Высота */
border-radius: 50%; /* Делаем круг */
background: hsl(0, 0%, 90%); /* Фоновый цвет */
box-shadow: /* Многослойная тень, наружная и внутренняя */
0 3px 5px hsl(0, 0%, 75%),
inset 0 1px 0 hsl(0, 0%, 95%),
inset 0 -5px 5px hsl(0, 0%, 75%),
inset 0 5px 5px hsl(0, 0%, 95%);
}
/* Наружный круг */
.circ {
position: absolute; /* Позиционируем абсолютно относительно оболочки по центру внутреннего */
top: 0;
left: 0;
width: 82px; /* Ширина */
height: 82px; /* Высота */
border-radius: 50%; /* Делаем круг */
background: linear-gradient(#ccc, #fff);
background: -webkit-linear-gradient(#ccc, #fff); /* Фоновый цвет - линейный градиент */
box-shadow: /* многослойная внутренняя тень */
inset 0 2px 1px hsl(0, 0%, 75%),
inset 0 -2px hsl(0, 0%, 75%);
}
/* Индикатор - псевдоэлемент */
.switch .dot:before {
content: "";
position: absolute; /* Позиционируем абсолютно по центру */
left: 40%;
top: 40%;
width: 20%; /* Ширина */
height: 20%; /* Высота */
border-radius: 50%; /* Делаем круг */
background: radial-gradient(#fff, #333);
background: -webkit-radial-gradient(#fff, #333); /* Фоновый цвет - радиальный градиент */
}
/* Эффект при нажатии */
.switch:active .dot:before {
content: "";
background: radial-gradient(#fff, #02A829);
background: -webkit-radial-gradient(#fff, #02A829); /* Меняем цвет индикатора */
}
.switch:active .dot {
background: radial-gradient(#fff, #ccc);
background: -webkit-radial-gradient(#fff, #ccc); /* Меняем фоновый цвет внутреннего круга */
width: 69px; /* Уменьшаем ширину внутреннего круга */
height: 69px; /* Уменьшаем высоту внутреннего круга */
}
HTML
<!--Оболочка-->
<div>
<!--Наружный круг-->
<div>
<!--Внутренний круг-->
<span></span>
<!--Ссылка для адреса перехода-->
<a href=""></a>
</div>
</div>

Клавиша


CSS
.switch2 {
width: 75px;
height: 45px;
position: relative;
cursor: pointer;
}
.dot1 {
position: absolute;
top: 7%;
left: 7%;
display: block;
width: 75px;
height: 45px;
border-radius: 7px;
background: linear-gradient(hsl(0, 0%, 90%), hsl(0, 0%, 96%));
box-shadow: -3px 5px hsl(0, 0%, 75%),
1px -2px hsl(0, 0%, 75%),
inset 0 0px 5px hsl(0, 0%, 95%),
inset 0 -1px 5px hsl(0, 0%, 95%);
z-index: 1;
}
.circ1 {
display: block;
position: absolute;
width: 87px;
height: 57px;
top: 0;
left: 0;
background: linear-gradient(hsl(0, 0%, 96%), hsl(0, 0%, 90%));
box-shadow:
inset 0 1px 1px hsl(0, 0%, 95%),
inset 0 -1px 1px hsl(0, 0%, 95%);
}
.dot1:before {
content: "Enter";
color: hsl(0, 0%, 60%);
position: absolute;
left: 20%;
top: 15%;
font-size: 20px;
}
.switch2:active .dot1:before {
content: "Enter";
}
.switch2:active .dot1 {
background: radial-gradient(hsl(0, 0%, 96%), hsl(0, 0%, 90%));
box-shadow: -2px 4px hsl(0, 0%, 75%),
0px -1px hsl(0, 0%, 75%),
inset 0 1px 2px hsl(0, 0%, 95%),
inset 0 -1px 2px hsl(0, 0%, 95%);
}
HTML
<div>
<div>
<a></a>
</div>
</div>

Выпуклая кнопка


CSS
.blok101{
max-width:60px;
padding: 1em;
border-radius: 10px;
background: rgb(100,100,100) radial-gradient(circle at 0 0, rgba(255,255,255,.65), rgba(255,255,255,.35));
box-shadow: inset rgba(0,0,0,.5) -3px -3px 8px, inset rgba(255,255,255,.9) 3px 3px 8px, rgba(0,0,0,.8) 3px 3px 8px -3px;
}
.blok101:hover{
transform: skewX(10deg);
}
.blok101:active{
color:red;
max-width:55px;
padding: 1em;
border-radius: 8px;
background: rgb(100,100,100) radial-gradient(circle at 0 0, rgba(255,255,255,.65), rgba(255,255,255,.35));
}
HTML
<div>Кнопка</div>

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

Желаю творческих успехов.

Текст появляющийся на изображениях CSS < < < В раздел > > > Анимация для шапки сайта

7 CSS кнопок воспроизведения / паузы

Коллекция отобранных вручную бесплатных HTML и CSS кнопок воспроизведения / паузы примеров кода.

  1. CSS-кнопки
  2. Эффекты наведения кнопок CSS
  3. CSS 3D-кнопки
  4. Кнопки отправки CSS
  5. Кнопки с градиентом CSS
  6. Плоские кнопки CSS
  7. Кнопки закрытия CSS
  8. Кнопки загрузки CSS
  9. Эффекты нажатия кнопки CSS
  10. Библиотеки кнопок CSS
Автор
  • Эрик Брюэр
Сделано с
  • HTML (мопс) / CSS (SCSS) / JavaScript (Babel)
О коде

Анимация кнопки воспроизведения

Воспроизвести анимацию кнопки в HTML, CSS и JS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: font-awesome.css

Автор
  • Арнольд Лонгкью
О коде

Кнопка воспроизведения CSS

Кнопка воспроизведения с анимацией SVG и CSS .

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: —

О коде

Кнопка воспроизведения

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: —

О коде

Кнопка Bouncing Play

Bouncing кнопка воспроизведения , созданная с помощью http: // bouncejs.com /.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: —

Автор
  • Иван Вилла
О коде

Кнопка воспроизведения SVG

Простая кнопка воспроизведения Анимация SVG.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: —

Автор
  • Люк Мейрик
О коде

Кнопка воспроизведения

Кнопка воспроизведения с SVG и CSS.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: —

Автор
  • Дж. Скотт Смит
О коде

Привлекательная кнопка воспроизведения

Кнопка воспроизведения с вращающейся катушкой при наведении курсора.

Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari

Зависимости: —

Учебник по дизайну материалов с плавающей кнопкой CSS3

Благодаря мощности анимации CSS3 можно реализовать плавающую кнопку CSS3 только с помощью CSS и без использования библиотеки javascript или jquery.В этом руководстве объясняются 3 разные версии плавающей кнопки CSS3.

Плавающая кнопка CSS3 полностью адаптивна и отлично работает с небольшими устройствами, такими как мобильные и планшеты.

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

  
  

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

Например, имя класса fa-plus сообщает font awesome о необходимости загрузки значка Google Plus в тег .

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

Чтобы использовать набор значков FontAwesome, вы должны добавить тег ниже в заголовок страницы.

  
  

Скачать код с Github

Простая плавающая кнопка css3

Live Demo

HTML

  
 

  

CSS

  * {padding: 0; margin: 0;}

body {
семейство шрифтов: Verdana, Geneva, sans-serif;
размер шрифта: 18 пикселей;
цвет фона: #CCC;
}

.float {
положение: фиксированное;
ширина: 60 ​​пикселей;
высота: 60 ​​пикселей;
внизу: 40 пикселей;
вправо: 40 пикселей;
цвет фона: # 0C9;
цвет: #FFF;
радиус границы: 50 пикселей;
выравнивание текста: центр;
box-shadow: 2px 2px 3px # 999;
}

.my-float {
маржа сверху: 22 пикселя;
}
  

css3 плавающая кнопка с меткой

Live Demo

HTML

  
 

Отзыв

CSS

  * {padding: 0; margin: 0;}

body {
семейство шрифтов: Verdana, Geneva, sans-serif;
цвет фона: #CCC;
размер шрифта: 12 пикселей;
}

.label-container {
положение: фиксированное;
внизу: 48 пикселей;
вправо: 105 пикселей;
дисплей: таблица;
видимость: скрыта;
}

.label-text {
цвет: #FFF;
фон: rgba (51,51,51,0,5);
дисплей: таблица-ячейка;
вертикальное выравнивание: по центру;
отступ: 10 пикселей;
радиус границы: 3 пикселя;
}

.label-arrow {
дисплей: таблица-ячейка;
вертикальное выравнивание: по центру;
цвет: # 333;
непрозрачность: 0,5;
}

.float {
положение: фиксированное;
ширина: 60 ​​пикселей;
высота: 60 ​​пикселей;
внизу: 40 пикселей;
вправо: 40 пикселей;
цвет фона: # 06C;
цвет: #FFF;
радиус границы: 50 пикселей;
выравнивание текста: центр;
box-shadow: 2px 2px 3px # 999;
}

.my-float {
размер шрифта: 24 пикселя;
маржа сверху: 18 пикселей;
}

a.float + div.label-container {
  видимость: скрыта;
  непрозрачность: 0;
  переход: видимость 0 с, непрозрачность 0.5s легкость;
}

a.float: hover + div.label-container {
  видимость: видимая;
  непрозрачность: 1;
}
  

css3 плавающая кнопка с подменю

Live Demo

HTML

  
 


  

CSS

  * {padding: 0; margin: 0;}

body {
семейство шрифтов: Verdana, Geneva, sans-serif;
цвет фона: #CCC;
размер шрифта: 12 пикселей;
}

.label-container {
положение: фиксированное;
внизу: 48 пикселей;
вправо: 105 пикселей;
дисплей: таблица;
видимость: скрыта;
}

.label-text {
цвет: #FFF;
фон: rgba (51,51,51,0,5);
дисплей: таблица-ячейка;
вертикальное выравнивание: по центру;
отступ: 10 пикселей;
радиус границы: 3 пикселя;
}

.label-arrow {
дисплей: таблица-ячейка;
вертикальное выравнивание: по центру;
цвет: # 333;
непрозрачность: 0,5;
}

.float {
положение: фиксированное;
ширина: 60 ​​пикселей;
высота: 60 ​​пикселей;
внизу: 40 пикселей;
вправо: 40 пикселей;
цвет фона: # F33;
цвет: #FFF;
радиус границы: 50 пикселей;
выравнивание текста: центр;
box-shadow: 2px 2px 3px # 999;
z-индекс: 1000;
анимация: плавность перехода бота в топ 2;
}

ul {
положение: фиксированное;
вправо: 40 пикселей;
padding-bottom: 20 пикселей;
внизу: 80 пикселей;
z-индекс: 100;
}

ul li {
стиль списка: нет;
нижнее поле: 10 пикселей;
}

ul li a {
цвет фона: # F33;
цвет: #FFF;
радиус границы: 50 пикселей;
выравнивание текста: центр;
box-shadow: 2px 2px 3px # 999;
ширина: 60 ​​пикселей;
высота: 60 ​​пикселей;
дисплей: блок;
}

ul: hover {
видимость: видимый! важный;
непрозрачность: 1! важно;
}


.my-float {
размер шрифта: 24 пикселя;
маржа сверху: 18 пикселей;
}

a # menu-share + ul {
  видимость: скрыта;
}

a # menu-share: hover + ul {
  видимость: видимая;
  анимация: масштаб 0,5 с;
}

a # menu-share i {
анимация: поворот 0,5 с;
}

a # menu-share: hover> i {
анимация: поворот на 0,5 с;
}

@keyframes bot-to-top {
    0% {bottom: -40px}
    50% {bottom: 40px}
}

@keyframes scale-in {
    from {transform: scale (0); opacity: 0;}
    to {transform: scale (1); opacity: 1;}
}

@keyframes rotate-in {
    from {transform: rotate (0deg);}
    to {transform: rotate (360deg);}
}

@keyframes rotate-out {
    from {transform: rotate (360deg);}
    to {transform: rotate (0deg);}
}
  

Наконец, почему плавающая кнопка css3?

  • Сегодня большинство современных браузеров поддерживают css3 и html5.
  • Использование библиотеки, такой как jquery, для анимации создает дополнительную нагрузку на ваш веб-сайт с точки зрения скорости.

Прозрачность изображения CSS (непрозрачность)

Непрозрачность изображения CSS (прозрачность)

В CSS нет такого свойства, как прозрачность. Но вы можете добиться прозрачности, вставив псевдоэлемент с постоянной непрозрачностью, равной точному размеру элемента за ним. Свойство CSS3 для прозрачности — это непрозрачность, и оно является частью рекомендации W3C CSS3.

div
{
непрозрачность: 0,6;
}

Уровень непрозрачности описывает уровень прозрачности, он находится в диапазоне от 0,0 до 1,0. Уровень 0,0 полностью прозрачен, 0,5 — прозрачность 50%, а уровень 1,0 — непрозрачен. Непрозрачность имеет начальное значение по умолчанию 1 (непрозрачность 100%).

Создание прозрачного изображения

Вы можете создавать прозрачные фоновые изображения, используя свойство CSS opacity.

Первое изображение имеет уровень непрозрачности 1.0 и второго изображения устанавливаем уровень непрозрачности 0,3.

Исходный код

Во всех современных веб-браузерах реализовано очень простое свойство непрозрачности CSS, поэтому код для конкретного браузера не требуется. Но IE8 и более ранние версии используют filter: alpha (opacity = x). X может принимать значение от 0 до 100. Значение 50 означает 50% прозрачности.

Как создать прозрачный цвет Div

Вы можете создать прозрачный фоновый элемент Div, используя свойство CSS Opacity.

Первый div имеет уровень прозрачности 1.и отправьте уровень div 0.5.

Исходный код

непрозрачность 1.0

непрозрачность 0,5

Прозрачная рамка

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

Исходный код

коробка прозрачная

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

Исходный код

прозрачный текст

Следующая программа использует хитрый способ отображения текста как прозрачного.

Исходный код


Утка

Руководство по стилизации кнопок CSS | Современные решения CSS

Это девятая публикация в серии, посвященной современным решениям CSS для проблем, которые я решал за последние 13 с лишним лет работы фронтенд-разработчиком .

В этом руководстве будут рассмотрены все тонкости создания доступного расширяемого внешнего вида кнопок для элементов ссылок и кнопок.

Охваченные темы:

  • стили сброса для кнопок a и
  • отображение, визуализация, размер и текстовые стили
  • Особенности доступного стиля
  • расширенных стилей для общих сценариев

Эх, кнопка (или это ссылка?). Я боролся с кнопкой еще со времен задержки наведения курсора из-за ожидания загрузки второго изображения через спрайты изображений, а затем испытал огромное облегчение, когда на сцену прибыли border-radius , box-shadow и градиенты.

Но … мы слишком далеко зашли в стилистике кнопок и где-то по пути полностью потеряли из виду, что на самом деле означает кнопка, не говоря уже о доступной кнопке (или ссылке).

СТОП! Прочтите эту отличную статью: Ссылки и кнопки в современных веб-приложениях, чтобы понять, когда уместно использовать кнопки , , а не

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


Сброс стилей по умолчанию #

Вот наша базовая линия — собственные стили браузера, отображаемые в Chrome, с единственными изменениями, пока что ссылка наследует настраиваемый шрифт, установленный в теле, и я также увеличил размер шрифта :

HTML-код, если вы играете дома:

   Ссылка на кнопку  

Я использовал javascript :; строка для значения href , чтобы мы могли тестировать состояния без запуска навигации.Точно так же, поскольку эта кнопка не предназначена для отправки формы, ей нужен явный тип , кнопка , чтобы предотвратить запуск запроса на получение и перезагрузку страницы.

Сброс стилей #

Примечание : Обычно я применяю сброс Normalize к CodePens, но в этом уроке мы начинаем с нуля, чтобы узнать, что требуется для сброса кнопок и ссылок. Использование Normalize или других популярных сбросов сделает некоторые из этих вещей за вас.

Во-первых, мы добавим класс button и к ссылке, и к кнопке, чтобы подчеркнуть, где стили применяются в этом уроке.

   Ссылка на кнопку  
размер коробки

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

  * {
box-sizing: border-box;
}

Вкратце, это правило не позволяет таким вещам, как границы и отступы, увеличивать ожидаемый размер элемента (например,ширина 25% остается 25%, а не 25% + ширина границы + отступы).

a

Для ссылки у нас есть только один сброс:

  a.button {
текстовое оформление: нет;
}

Это просто удаляет подчеркивание.

кнопка

Далее у нас есть еще несколько правил, необходимых для сброса кнопки:

  button.button {
border: none;
цвет фона: прозрачный;
font-family: наследование;
отступ: 0;
курсор: указатель;

@media screen и (-ms-high-Contrast: active) {
border: 2px сплошной текущий цвет;
}
}

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

С этими стилями сброса у нас теперь есть такой вид:

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

Стили отображения #

Я обнаружил, что во многих сценариях лучше всего работает дисплей : inline-flex , который дает нам возможности выравнивания содержимого, как у flexbox, но находится в DOM в рамках поведения inline-block .

  a.button, 
button.button {
display: inline-flex;
align-items: center;
justify-content: center;
}

Flex alignment пригодится, если вы добавите значки в будущем или наложите ограничения по ширине.

Визуальные стили #

Далее мы применим несколько стандартных визуальных стилей, которые вы, безусловно, можете настроить на свой вкус. Это наиболее гибкая группа стилей, и вы можете опустить box-shadow и / или border-radius .

  $ btnColor: # 3e68ff; 

a.button,
button.button {
background-color: $ btnColor;
цвет: #fff;
радиус границы: 8 пикселей;
box-shadow: 0 3px 5px rgba (0, 0, 0, 0,18);
}

Теперь наша ссылка и кнопка становятся более похожими:

Контраст кнопки #

При создании начальных стилей кнопок используются два уровня контрастности:

  1. Минимум 3: 1 между цветом фона кнопки и фоном, на котором он отображается на фоне
  2. Не менее 4.5: 1 (для текста размером менее 18 пикселей или полужирным шрифтом 16 пикселей) или 3: 1 (для текста большего размера) между текстом кнопки и фоном кнопки

Предполагая, что фон страницы белый, наш выбор цвета кнопки проходит с соотношением 4,54: 1.

Размер #

Мы намеренно упустили одно свойство в категории «Визуальный», которое вы могли пропустить, увидев скриншот выполнения: padding .

Поскольку набивка является частью коробчатой ​​модели , мы оставили ее для раздела размеров.

Давайте применим значения размера, а затем обсудим:

  a.button, 
button.button {
padding: 0.25em 0.75em;
min-width: 10ch;
min-height: 44px;
}

Мы применяем отступ с использованием единиц em , что является предпочтением, которое позволяет пропорционально изменять размер отступа с примененным размером шрифта .

Затем мы устанавливаем минимальную ширину , используя блок ch , который примерно равен ширине символа 0 применяемого шрифта и font-size .Эта рекомендация — визуальный барьер ритма. Рассмотрим сценарий, в котором у вас есть две расположенные рядом кнопки с одной короткой и одной длинной метками, например. «Поделиться» и «Узнать больше». Без min-width кнопка «Поделиться» была бы резко короче, чем «Узнать больше».

Минимальная высота основана на том, чтобы кнопка была достаточно большой целью на сенсорных устройствах, чтобы соответствовать критериям успеха WCAG 2.1 для 2.5.5 — Размер цели.

Стили начинают сочетаться, но мы еще не закончили:

Текстовые стили #

Судя по последнему снимку экрана, у вас может возникнуть соблазн пропустить стили текста.

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

Как видите, у нас другое выравнивание, и высота строки также может быть отрегулирована.

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

  a. Кнопка, 
кнопка.кнопка {
выравнивание текста: по центру;
line-height: 1.1;
}

Отлично, выглядит отлично!

Государственные стили #

Прямо сейчас единственная визуальная обратная связь, которую пользователь получает при попытке взаимодействия с кнопками, — это изменение курсора на вариант «указатель».

Нам нужно обеспечить наличие трех состояний.

: парение #

Обычно наибольшее внимание привлекает hover , так что мы начнем с него.

Типичное обновление при наведении курсора — это изменение цвета фона. Так как мы были довольно близки к 4.5, нам нужно затемнить цвет.

Мы можем воспользоваться преимуществами Sass, чтобы вычислить этот цвет для нас, используя переменную $ btnColor , которую мы определили в разделе «Visual»:

  a.button, 
button.button {
&: hover {
background-color: scale-color ($ btnColor, $ lightness: -20%);
}
}

Эффект немного резкий, но у нас есть еще один современный инструмент CSS, чтобы смягчить его, метко названный transition .Свойство transition необходимо будет добавить вне правила hover , чтобы оно применялось как для «over», так и «out».

  a.button, 
button.button {

transition: 220ms all easy-in-out;


}

: фокус #

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

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

Мы заменим контур настраиваемым состоянием фокуса, использующим box-shadow . Как и контур , box-shadow не изменяет общий размер элемента, поэтому не вызывает сдвигов макета. И, поскольку мы уже применили переход , box-shadow унаследует его для использования также для дополнительного эффекта привлечения внимания.

  a.button, 
button.button {

&: focus {
outline-style: solid;
цвет контура: прозрачный;
box-shadow: 0 0 0 4px scale-color ($ btnColor, $ lightness: -40%);
}
}

Еще раз, мы использовали функцию scale-color , на этот раз сделав ее даже немного темнее, чем цвет hover . Это связано с тем, что кнопка может одновременно находиться в состояниях hover и focus .

Спасибо @overflowhidden за предоставление решения, обеспечивающего воспринимаемое состояние : focus для пользователей с включенным режимом высокой контрастности Windows .

: активный #

Наконец, особенно для «реальной кнопки», лучше всего определить стиль состояния : активный .

Для ссылок это появляется на короткое время во время «вниз» щелчка / касания.

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

Мы добавим : active к существующему : hover style:

  &: hover, 
&: active {
background-color: scale-color ($ btnColor, $ lightness: -20%);
}

вариации стиля #

Тема выделенных («призрачных») кнопок — это тема для другого дня, но есть два варианта, которые мы быстро добавим.

Маленькие пуговицы #

Используя формат БЭМ, мы создадим кнопку - маленький класс , чтобы просто уменьшить размер шрифта. Поскольку мы устанавливаем отступ на на , размер будет изменяться пропорционально. А наша минимальная высота гарантирует, что кнопка останется достаточно большой сенсорной мишенью.

  & - small {
font-size: 1.15rem;
}

Блок кнопок #

Бывают случаи, когда вам нужно блокировать поведение вместо встроенного, поэтому мы добавим width: 100% , чтобы разрешить эту опцию вместо изменения display prop, поскольку нам все еще нужно выравнивание гибкости для содержимого кнопки :

  & - ширина блока {
: 100%;
}

Попался: дочерний элемент Flex Columns #

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

Для защиты от этого сценария в будущем можно добавить align-self: start к базовым стилям кнопок или создать служебные стили для каждого из значений свойств выравнивания гибкости / сетки: start , center и конец .

Демо #

Стефани Эклс (@ 5t3ph)

Понимание тега HTML 4.0

Применение фона к кнопке

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

Давайте начнем преобразование, ладно?

Спасите нашу планету!

  

Под водой

  

Фон кнопки может быть даже прозрачным,
указание цвета фона в объявлении стиля на «прозрачный»:

Прозрачный фон!

  

Управление шириной / высотой кнопки

По умолчанию размеры кнопки автоматически устанавливаются равными
размеры, необходимые для размещения содержимого внутри, например изображения.Часто бывает, что вы хотите вручную управлять этим размером, чтобы
соответствовать вашему дизайну. Используя другое объявление CSS, вы можете. Чтобы контролировать
ширину / высоту кнопки используйте следующее объявление стиля:

Давайте создадим серию идеально прямоугольных кнопок, а затем
используя вышеуказанные знания:

H
я
!

 

 

Пример — имитация кнопок браузера с использованием тега

Посмотрите внимательно на прямоугольные кнопки выше… что они
напомнить вам? Что ж, они напоминают мне кнопки по умолчанию, которые появляются на
панель инструментов вашего браузера. Оба они прямоугольные, серого цвета. В
в этом забавном примере мы создадим кнопки html 4.0, которые имитируют стандартные
кнопки браузера.

Назад
Вперед
Дом
Перезарядка
Закрыть

  
  
  
  
  

.