Красивые кнопки для сайта. Часть 2

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

Основные принципы, которые нужно учитывать при создании кнопок

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

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

Перейти на страницу с примерами

Пример 1. «Двойные» кнопки

<a href="" class="double-btn">Кнопка</a>
.double-btn {
   position: relative;
   display: inline-block;
   padding: 10px 30px;
   margin-right: 20px;
   text-decoration: none;
   font-family: 'Comfortaa', cursive;
   font-size: 20px;
   line-height: 1;
   letter-spacing: 3px;
   color: #E8EFF1;
   text-shadow: -2px -1px #F17555;
   background: #1E1958;
   transition: .3s;
}
.double-btn:hover {
   text-shadow: none;
}
.double-btn:after {
   content: "";
   position: absolute;
   height: 105%;
   width: 105%;
   z-index: -1;
   left: -4px;
   top: -1px;
   background: #F17555;
   transform: skewY(2deg);
   transition: .3s;
}
.double-btn:hover:after {
   transform: none;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
}

Пример 2. Открывающиеся кнопки

<a href="" class="transform-button"><span>Войти на сайт</span></a>
.transform-button {
   position: relative;
   display: inline-block;
   text-decoration: none;
   padding: 10px 30px;
   margin-right: 20px;
   border: 1px solid #68E5F7;
   background: transparent;
   color: #fff;
   font-weight: 700;
   letter-spacing: 1px;
   text-transform: uppercase;
   perspective: 500px;
   background: white;
   transition: .3s;
}
.transform-button:last-of-type {
   margin-right: 0;
}
.transform-button span {
   position: relative;
   z-index: 2;
}
.transform-button:before {
   content: "";
   position: absolute;
   z-index: 1;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: #68E5F7;
   transform-origin: left;
   transition: .5s;
}
.transform-button:hover {
   color: #68E5F7;
   border-color: #68E5F7;
}
.transform-button:hover:before {
   transform: rotateY(92deg);
}

Пример 3. Анимированные границы кнопок

<a class="sq-btn btn-one" href="">Читать далее</a>
<a class="sq-btn" href="">Читать далее</a>
<a class="sq-btn btn-one" href="">Читать далее</a>
.sq-btn {
   display: inline-block;
   position: relative;
   min-width: 178px;
   margin: 6px 28px;
   padding: 15px 40px;
   font-weight: 800;
   font-family: sans-serif;
   font-size: 14px;
   text-transform: uppercase;
   letter-spacing: 1px;
   color: #0010ff;
   transition: .15s ease-out;
   box-sizing: border-box;
   text-decoration: none;
}
.btn-one {
   color: #ff9585;
}
.sq-btn:last-of-type {
   margin: 6px 28px;
}
.sq-btn:before {
   content: "";
   position: absolute;
   top: -6px;
   left: 0;
   height: calc(100% + 12px);
   width: 100%;
   border: 2px solid #0010ff;
   box-sizing: border-box;
   transition: .2s ease-in-out;
}
.btn-one:before {
   border: 2px solid #ff9585;
}
.sq-btn:after {
   content: "";
   position: absolute;
   top: 0;
   left: -8px;
   height: 100%;
   width: calc(100% + 16px);
   border: 1px solid #0010ff;
   box-sizing: border-box;
   transition: .2s ease-in-out;
}
.btn-one:after {
   border: 1px solid #ff9585;
}
.sq-btn:hover:before {
   top: 0;
   left: -8px;
   height: 100%;
   width: calc(100% + 16px);
}
.sq-btn:hover:after {
   top: -6px;
   left: 0;
   height: calc(100% + 12px);
   width: 100%;
}

Пример 4. Кнопка с анимированной иконкой

<button type="submit" class="submit-btn">отправить</button>
.submit-btn {
   display: inline-block;
   position: relative;
   overflow: hidden;
   height: 45px;
   min-width: 200px;
   margin-right: 20px;
   border: none;
   border-radius: 35px;
   padding-right: 30px;
   background: #ff5c5a;
   color: white;
   font-size: 20px;
}
.submit-btn:last-of-type {
   margin-right: 0;
}
.submit-btn:after {
   position: absolute;
   right: 10px;
   top: 0;
   width: 45px;
   height: 45px;
   line-height: 45px;
   content: "\f1d8";
   font-family: FontAwesome;
   background: #ff5c5a;
   border-radius: 50%;
   color: white;
   font-size: 22px;
}
@keyframes float {
   0%, 100% {
      transform: translateY(0);
   }
   50% {
      transform: translateY(-8px);
   }
}
.submit-btn:hover:after {
   animation: float 2s linear infinite;
}

Пример 5. Кнопка с анимированной стрелкой

<div class="button-wrapper">
<a href="" class="arrow-btn">Выбрать<span></span></a>
</div>
.button-wrapper {
   max-width: 400px;
   margin: 50px auto;
   text-align: center;
   overflow: hidden;
}
.arrow-btn {
   position: relative;
   display: inline-block;
   padding: 15px 30px;
   text-decoration: none;
   color: #2fc989;
   border: 4px solid #2fc989;
   font-size: 14px;
   text-transform: uppercase;
   letter-spacing: .4em;
   transition: .2s;
   transition-delay: .1s;
}
.arrow-btn:hover {
   color: white;
   padding: 15px 35px;
}
.arrow-btn span {
   position: absolute;
   top: -2px;
   left: -2px;
   right: -2px;
   bottom: -2px;
   z-index: -1;
   overflow: hidden;
   transition: .35s cubic-bezier(.215, .61, .215, 1);
}
.arrow-btn span:before {
   content: "";
   position: absolute;
   top: -5%;
   left: -210%;
   width: 200%;
   height: 108%;
   background: #2fc989;
   transform: skew(-15deg, 0);
   transition: .5s;
}
.arrow-btn:after {
   content: "";
   position: absolute;
   z-index: -1;
   top: 50%;
   left: -1000%;
   height: 2px;
   margin-top: -1px;
   width: 400%;
   background: #2fc989;
   transition: .5s;
}
.arrow-btn:hover:after {
   width: 140%;
   left: -20%;
}
.arrow-btn:hover span:before {
   left: -25%;
}

Пример 6. Кнопка-рамка с уголком

<a href="" class="border-btn color-one">Читать далее</a>
<a href="" class="border-btn color-two">Читать далее</a>
<a href="" class="border-btn color-three">Читать далее</a>
.border-btn {
   display: inline-block;
   position: relative;
   padding: 10px 25px;
   margin-right: 20px;
   background: #FFF9F1;
   text-decoration: none;
   font-family: 'Marck Script', cursive;
   letter-spacing: 1px;
   border-width: 6px;
   border-style: double;
   transition: .5s;
}
.color-one {
   border-color: #8FD4DB;
   color: #F5745F;
}
.color-two {
   border-color: #F3755F;
   color: #D7C98C;
}
.color-three {
   border-color: #1E2843;
   color: #8FD4DB;
}
.border-btn:before, .border-btn:after {
   content: "";
   position: absolute;
   width: 16px;
   height: 2px;
   transform: rotate(-45deg);
   transition: .5s;
}
.color-one:before, .color-one:after {
   background: #8FD4DB;
}
.color-two:before, .color-two:after {
   background: #F3755F;
}
.color-three:before, .color-three:after {
   background: #1E2843;
}
.border-btn:before {
   left: -3px;
   top: 3px;
}
.border-btn:after {
   right: -3px;
   bottom: 3px;
}
.color-one:hover {
   background: #8FD4DB;
   border-color: #FFF9F1;
}
.color-two:hover {
   background: #F3755F;
   border-color: #8FD4DB;
}
.color-three:hover {
   background: #1E2843;
   border-color: #D7C98C;
}
.color-one:hover:before, .color-one:hover:after {
   background: #FFF9F1;
}
.color-two:hover:before, .color-two:hover:after {
   background: #8FD4DB;
}
.color-three:hover:before, .color-three:hover:after {
   background: #D7C98C;
}

Пример 7. Кнопка-рамка

<a href="" class="action-btn">Купить</a>
.action-btn {
   position: relative;
   display: inline-block;
   padding: 8px 20px;
   margin: 20px;
   text-decoration: none;
   font-family: 'Comfortaa', cursive;
   font-size: 14px;
   text-transform: uppercase;
   font-weight: bold;
   color: #112D52;
   background: #FF5438;
   border: 2px solid #112D52;
   transition: .4s linear;
}
.action-btn:after {
   content: "";
   position: absolute;
   left: 50%;
   top: 50%;
   height: 130%;
   width: 91%;
   border: 2px solid #112D52;
   transform: translate(-50%, -50%);
   z-index: -1;
}
.action-btn:hover {
   background: #112D52;
   color: #FF5438;
}

Поделиться: