Сначала вам нужно импортировать Font Awesome CSS
в ваш пример.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
У меня возникли проблемы с отображением значка Facebook из-за ошибки в <i>
class
:
<a href="#" class="icon-button facebook">
<i class="icon-facebook"></i><span></span>
</a>
<a href="#" class="icon-button instagram">
<i class="fa fa-instagram"></i><span></span>
</a>
Я изменил Facebook HTML
на следующий и настроил CSS
соответственно, чтобы иконка заработала.
<a href="#" class="icon-button facebook">
<i class="fa fa-facebook"></i><span></span>
</a>
html {
font-size: 1.5em;
}
body {
background-color: #fff;
padding: 10px;
text-align: center;
}
/* Wrapper */
.icon-button {
background-color: white;
/* border-radius: 2.6rem;*/
cursor: pointer;
display: inline-block;
font-size: 1.3rem;
height: 2.6rem;
line-height: 2.6rem;
margin: 0 5px;
position: relative;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
width: 2.6rem;
}
/* Circle */
.icon-button span {
/* border-radius: 0;*/
display: block;
height: 0;
left: 50%;
margin: 0;
position: absolute;
top: 50%;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
width: 0;
}
.icon-button:hover span {
border-radius: 25px;
width: 2.6rem;
height: 2.6rem;
/*border-radius: 2.6rem;*/
margin: -1.3rem;
/*transform: rotate(20deg);*/
}
/* Icons */
.icon-button i {
background: none;
color: white;
height: 2.6rem;
left: 0;
line-height: 2.6rem;
position: absolute;
top: 0;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
width: 2.6rem;
z-index: 10;
}
.facebook span {
background-color: #3B5998;
}
.instagram span {
background-color: #c32aa3;
/*background-color: linear-gradient(#c32aa3, #c4302b);*/
}
.codepen span {
background-color: #cb2027;
}
.icon-button .fa-facebook {
color: #3B5998;
}
.icon-button .fa-instagram {
color: #c32aa3;
}
.icon-button .fa-codepen {
color: #cb2027;
}
.icon-button:hover .fa-facebook,
.icon-button:hover .fa-instagram,
.icon-button:hover .fa-codepen {
color: white;
}
@media all and (max-width: 680px) {
.icon-button {
border-radius: 1.6rem;
font-size: 0.8rem;
height: 1.6rem;
line-height: 1.6rem;
width: 1.6rem;
}
.icon-button:hover span {
width: 1.6rem;
height: 1.6rem;
border-radius: 1.6rem;
margin: -0.8rem;
}
/* Icons */
.icon-button i {
height: 1.6rem;
line-height: 1.6rem;
width: 1.6rem;
}
body {
padding: 10px;
}
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<a href="#" class="icon-button facebook"><i class="fa fa-facebook"></i><span></span></a>
<a href="#" class="icon-button instagram"><i class="fa fa-instagram"></i><span></span></a>
<a href="#" class="icon-button codepen"><i class="fa fa-codepen"></i><span></span></a>
Редактировать (пример линейного градиента)
html {
font-size: 1.5em;
}
body {
background-color: #fff;
padding: 10px;
text-align: center;
}
/* Wrapper */
.icon-button {
background-color: white;
/* border-radius: 2.6rem;*/
cursor: pointer;
display: inline-block;
font-size: 1.3rem;
height: 2.6rem;
line-height: 2.6rem;
margin: 0 5px;
position: relative;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
width: 2.6rem;
}
/* Circle */
.icon-button span {
/* border-radius: 0;*/
display: block;
height: 0;
left: 50%;
margin: 0;
position: absolute;
top: 50%;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
width: 0;
}
.icon-button:hover span {
border-radius: 25px;
width: 2.6rem;
height: 2.6rem;
/*border-radius: 2.6rem;*/
margin: -1.3rem;
/*transform: rotate(20deg);*/
}
/* Icons */
.icon-button i {
background: none;
color: white;
height: 2.6rem;
left: 0;
line-height: 2.6rem;
position: absolute;
top: 0;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
width: 2.6rem;
z-index: 10;
}
.instagram span {
background: linear-gradient(#c32aa3, #333333);
}
.icon-button .fa-instagram {
color: #c32aa3;
}
.icon-button:hover .fa-instagram {
color: white;
}
@media all and (max-width: 680px) {
.icon-button {
border-radius: 1.6rem;
font-size: 0.8rem;
height: 1.6rem;
line-height: 1.6rem;
width: 1.6rem;
}
.icon-button:hover span {
width: 1.6rem;
height: 1.6rem;
border-radius: 1.6rem;
margin: -0.8rem;
}
/* Icons */
.icon-button i {
height: 1.6rem;
line-height: 1.6rem;
width: 1.6rem;
}
body {
padding: 10px;
}
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<a href="#" class="icon-button instagram"><i class="fa fa-instagram"></i><span></span></a>