Created
April 26, 2018 02:43
-
-
Save vinicius-stutz/502b187a7bbd2f71cd9f32bf57ed39be to your computer and use it in GitHub Desktop.
CSS3 3D Buttons
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Basic CSS Styling */ | |
ul { list-style: none; } | |
a.button { | |
display: block; | |
float: left; | |
position: relative; | |
height: 25px; | |
width: 80px; | |
margin: 0 10px 18px 0; | |
text-decoration: none; | |
font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
font-weight: bold; | |
line-height: 25px; | |
text-align: center; | |
} | |
/* GRAY */ | |
.gray, | |
.gray:hover { | |
color: #555; | |
border-bottom: 4px solid #b2b1b1; | |
background: #eee; | |
} | |
.gray:hover { background: #e2e2e2; } | |
/* Double Borders */ | |
a.button { | |
display: block; | |
float: left; | |
position: relative; | |
height: 25px; | |
width: 80px; | |
margin: 0 10px 18px 0; | |
text-decoration: none; | |
font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
font-weight: bold; | |
line-height: 25px; | |
text-align: center; | |
} | |
a.button:before, | |
a.button:after { | |
content: ''; | |
position: absolute; | |
left: -1px; | |
height: 25px; | |
width: 80px; | |
bottom: -1px; | |
} | |
a.button:before { | |
height: 23px; | |
bottom: -4px; | |
border-top: 0; | |
} | |
/* GRAY */ | |
.gray, | |
.gray:hover { | |
color: #555; | |
border-bottom: 4px solid #b2b1b1; | |
background: #eee; | |
} | |
.gray:before, | |
.gray:after { | |
border: 1px solid #cbcbcb; | |
border-bottom: 1px solid #a5a5a5; | |
} | |
.gray:hover { background: #e2e2e2; } | |
/* CSS3 Magic */ | |
a.button { | |
display: block; | |
float: left; | |
position: relative; | |
height: 25px; | |
width: 80px; | |
margin: 0 10px 18px 0; | |
text-decoration: none; | |
font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
font-weight: bold; | |
line-height: 25px; | |
text-align: center; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
a.button:before, | |
a.button:after { | |
content: ''; | |
position: absolute; | |
left: -1px; | |
height: 25px; | |
width: 80px; | |
bottom: -1px; | |
-webkit-border-radius: 3px; | |
-moz-border-radius: 3px; | |
border-radius: 3px; | |
} | |
a.button:before { | |
height: 23px; | |
bottom: -4px; | |
border-top: 0; | |
-webkit-border-radius: 0 0 3px 3px; | |
-moz-border-radius: 0 0 3px 3px; | |
border-radius: 0 0 3px 3px; | |
-webkit-box-shadow: 0 1px 1px 0px #bfbfbf; | |
-moz-box-shadow: 0 1px 1px 0px #bfbfbf; | |
box-shadow: 0 1px 1px 0px #bfbfbf; | |
} | |
/* GRAY */ | |
a.gray, | |
a.gray:hover, | |
a.gray:visited { | |
color: #555; | |
border-bottom: 4px solid #b2b1b1; | |
text-shadow: 0px 1px 0px #fafafa; | |
background: #eee; | |
background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#e2e2e2)); | |
background: -moz-linear-gradient(top, #eee, #e2e2e2); | |
box-shadow: inset 1px 1px 0 #f5f5f5; | |
} | |
.gray:before, | |
.gray:after { | |
border: 1px solid #cbcbcb; | |
border-bottom: 1px solid #a5a5a5; | |
} | |
.gray:hover { | |
background: #e2e2e2; | |
background: -webkit-gradient(linear, left top, left bottom, from(#e2e2e2), to(#eee)); | |
background: -moz-linear-gradient(top, #e2e2e2, #eee); | |
} | |
/* ACTIVE STATE */ | |
a.button:active { | |
border: none; | |
bottom: -4px; | |
margin-bottom: 22px; | |
-webkit-box-shadow: 0 1px 1px #fff; | |
-moz-box-shadow: 0 1px 1px #fff; | |
box-shadow: 1px 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.3); | |
} | |
a.button:active:before, | |
a.button:active:after { | |
border: none; | |
-webkit-box-shadow: none; | |
-moz-box-shadow: none; | |
box-shadow: none; | |
} | |
/* Older Browsers */ | |
/* MODERNIZR FALLBACK */ | |
.no-cssgradients a.button, .no-cssgradients a.button:visited, | |
.no-borderradius a.button, .no-borderradius a.button:visited, | |
.no-generatedcontent a.button, .no-generatedcontent a.button:visited { | |
background: url(images/sprite.png) no-repeat 0 0px; | |
height: 32px; | |
width: 82px; | |
} | |
.no-cssgradients a.button:hover, | |
.no-borderradius a.button:hover, | |
.no-generatedcontent a.button:hover { | |
background: url(images/sprite.png) no-repeat 0 -32px; | |
} | |
.no-cssgradients a.button:active, | |
.no-borderradius a.button:active, | |
.no-generatedcontent a.button:active { | |
background: url(images/sprite.png) no-repeat 0 -64px; | |
bottom: 0; | |
line-height: 35px; | |
} | |
.no-cssgradients a.gray, | |
.no-cssgradients a.gray:visited, | |
.no-cssgradients a.gray:hover { background-position-x: 0; } | |
.no-cssgradients a.pink, | |
.no-cssgradients a.pink:visited, | |
.no-cssgradients a.pink:hover { background-position-x: -82px; } | |
.no-cssgradients a.blue, | |
.no-cssgradients a.blue:visited, | |
.no-cssgradients a.blue:hover { background-position-x: -164px; } | |
.no-cssgradients a.green,, | |
.no-cssgradients a.green:visited, | |
.no-cssgradients a.green:hover { background-position-x: -246px; } | |
.no-cssgradients a.turquoise, | |
.no-cssgradients a.turquoise:visited, | |
.no-cssgradients a.turquoise:hover { background-position-x: -328px; } | |
.no-cssgradients a.black, | |
.no-cssgradients a.black:visited, | |
.no-cssgradients a.black:hover { background-position-x: -410px; } | |
.no-cssgradients a.darkgray, | |
.no-cssgradients a.darkgray:visited, | |
.no-cssgradients a.darkgray:hover { background-position-x: -492px; } | |
.no-cssgradients a.yellow, | |
.no-cssgradients a.yellow:visited, | |
.no-cssgradients a.yellow:hover { background-position-x: -574px; } | |
.no-cssgradients a.purple, | |
.no-cssgradients a.purple:visited, | |
.no-cssgradients a.purple:hover { background-position-x: -656px; } | |
.no-cssgradients a.darkblue, | |
.no-cssgradients a.darkblue:visited, | |
.no-cssgradients a.darkblue:hover { background-position-x: -738px; } | |
.no-cssgradients a.button, .no-cssgradients a.button:visited, .no-cssgradients a.button:hover, .no-cssgradients a.button:before, .no-cssgradients a.button:after, | |
.no-borderradius a.button, .no-borderradius a.button:visited, .no-borderradius a.button:hover, .no-borderradius a.button:before, .no-borderradius a.button:after, | |
.no-generatedcontent a.button, .no-generatedcontent a.button:visited, .no-generatedcontent a.button:hover, .no-generatedcontent a.button:before, .no-generatedcontent a.button:after { | |
border: 0; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<ul class="buttons"> | |
<li><a href="#" class="button gray">Download</a></li> | |
<li><a href="#" class="button pink">Download</a></li> | |
<li><a href="#" class="button blue">Download</a></li> | |
<li><a href="#" class="button green">Download</a></li> | |
<li><a href="#" class="button turquoise">Download</a></li> | |
<li><a href="#" class="button black">Download</a></li> | |
<li><a href="#" class="button darkgray">Download</a></li> | |
<li><a href="#" class="button yellow">Download</a></li> | |
<li><a href="#" class="button purple">Download</a></li> | |
<li><a href="#" class="button darkblue">Download</a></li> | |
</ul> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment