画面の左や右などに固定設置されたソーシャルリンクの帯タイプをご紹介。
よく見かけるあのホバーするとピロっとリンク名などが出てくるアレです。
固定する場所に「position: relative;」の設定が必要ですのでご注意ください。
アイコンはfontawesomeを使用しています。
<div class="contents">text</div>
<ul class="cp_snslink01">
<li class="cp_link facebook"><a href="#"><i class="fa fa-facebook fa-2x fa-fw"></i>
<div class="nav-label"><span>facebook Button</span></div></a>
</li>
<li class="cp_link twitter"><a href="#"><i class="fa fa-twitter fa-2x fa-fw"></i>
<div class="nav-label"><span>twitter Button</span></div></a>
</li>
<li class="cp_link google"><a href="#"><i class="fa fa-google-plus fa-2x fa-fw"></i>
<div class="nav-label"><span>google+ Button</span></div></a>
</li>
<li class="cp_link instagram"><a href="#"><i class="fa fa-instagram fa-2x fa-fw"></i>
<div class="nav-label"><span>instagram Button</span></div></a>
</li>
</ul>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink01 {
position: fixed;
top: 50%;
left: 0;
margin: 0;
padding: 0;
list-style-type: none;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink01 .cp_link {
position: relative;
}
.cp_snslink01 .cp_link {
display: block;
width: 60px;
height: 60px;
padding: 15px 10px;
cursor: pointer;
}
.cp_snslink01 .cp_link .nav-label {
line-height: 64px;
position: absolute;
z-index: 4;
top: 0rem;
display: block;
height: 60px;
margin-left: 50px;
padding: 0 20px;
white-space: nowrap;
}
.cp_snslink01 .cp_link,
.cp_snslink01 .cp_link a,
.cp_snslink01 .cp_link:hover,
.cp_snslink01 .cp_link .nav-label {
color: #ffffff;
}
/*facebook*/
.cp_snslink01 .facebook,
.cp_snslink01 .facebook:hover,
.cp_snslink01 .facebook:hover .nav-label {
background: #3b5998;
}
.cp_snslink01 .facebook .nav-label {
background: #1e2e4f;
}
/*twitter*/
.cp_snslink01 .twitter,
.cp_snslink01 .twitter:hover,
.cp_snslink01 .twitter:hover .nav-label {
background: #55acee;
}
.cp_snslink01 .twitter .nav-label {
background: #0065d9;
}
/*google+*/
.cp_snslink01 .google,
.cp_snslink01 .google:hover,
.cp_snslink01 .google:hover .nav-label {
background: #dd4b39;
}
.cp_snslink01 .google .nav-label {
background: #af0606;
}
/*instagram*/
.cp_snslink01 .instagram,
.cp_snslink01 .instagram:hover,
.cp_snslink01 .instagram:hover .nav-label {
background: radial-gradient(circle at 0% 90%, #fdf498 0%, #fd5948 5%, #d6249d 45%,#285aea 60%,#285aea 90%);
}
/* effect */
.cp_snslink01 .cp_link.nav-label, .cp_snslink01 .cp_link.cp_link:hover .nav-label {
-webkit-transition: -webkit-transform 0.4s ease, background 0.4s ease;
transition: transform 0.4s ease, background 0.4s ease 0.1s;
-webkit-transition-delay: 0s, 0.1s;
}
.cp_snslink01 .cp_link.cp_link .nav-label {
-webkit-transition: -webkit-transform 0.4s ease;
transition: transform 0.4s ease;
-webkit-transform: rotateY(-90deg);
transform: rotateY(-90deg);
-webkit-transform-origin: left 50%;
transform-origin: left 50%;
}
.cp_snslink01 .cp_link.cp_link:hover .nav-label {
-webkit-transform: rotateY(0);
transform: rotateY(0);
}
<div class="contents">text</div>
<div class="cp_snslink02">
<ul class="cp_link_list">
<li class="cp_link facebook"><a href="#"><span>Facebook</span><i class="fa fa-facebook fa-2x fa-fw"></i></a></li>
<li class="cp_link twitter"><a href="#"><span>Twitter</span><i class="fa fa-twitter fa-2x fa-fw"></i></a></li>
<li class="cp_link google"><a href="#"><span>Google+</span><i class="fa fa-google-plus fa-2x fa-fw"></i></a></li>
<li class="cp_link instagram"><a href="#"><span>Instagram</span><i class="fa fa-instagram fa-2x fa-fw"></i></a></li>
</ul>
</div>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink02 {
position: fixed;
top: 50%;
left: 0;
display: block;
overflow: hidden;
margin: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink02 .cp_link_list {
margin-left: -95px;
list-style-type: none;
}
.cp_snslink02 .cp_link {
position: relative;
left: -100px;
padding: 10px;
cursor: pointer;
-webkit-transition: left 0.6s ease-in-out;
transition: left 0.6s ease-in-out;
text-align: right;
color: #ffffff;
}
.cp_snslink02 .cp_link a {
color: #ffffff;
}
.cp_snslink02 .facebook {
background: #3b5997;
}
.cp_snslink02 .twitter {
background: #55acee;
}
.cp_snslink02 .google {
background: #dd4b39;
}
.cp_snslink02 .instagram {
background: linear-gradient(45deg, #fdf498,#fd5948,#d6249d,#285aea );
}
.cp_snslink02 .cp_link:hover {
left: 0;
}
.cp_snslink02 .cp_link span {
display: inline-block;
margin-left: 55px;
padding: 0 10px;
}
<div class="contents">text</div>
<div class="cp_snslink03">
<ul class="cp_link_list">
<li class="cp_link"><a href="#"><i class="fa fa-facebook fa-fw"></i>facebook</a></li>
<li class="cp_link"><a href="#"><i class="fa fa-twitter fa-fw"></i>twitter</a></li>
<li class="cp_link"><a href="#"><i class="fa fa-google-plus fa-fw"></i>google+</a></li>
<li class="cp_link"><a href="#"><i class="fa fa-instagram fa-fw"></i>instagram</a></li>
</ul>
</div>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink03 {
position: fixed;
top: 50%;
right: 0;
display: block;
overflow: hidden;
margin: 0;
padding: 0 0 0 5px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink03 .cp_link_list {
width: 150px;
margin: 0;
padding: 0;
list-style: none;
}
.cp_snslink03 .cp_link_list .cp_link {
position: relative;
right: -120px;
margin: 10px 0;
padding: 5px;
cursor: pointer;
-webkit-transition: right 0.6s ease-in-out;
transition: right 0.6s ease-in-out;
text-align: left;
background: #80deea;
border: 1px dashed #0097A7;
border-right: none;
-webkit-box-shadow: 0px 0px 0px 3px #80deea;
box-shadow: 0px 0px 0px 3px #80deea;
}
.cp_snslink03 .cp_link_list .cp_link i {
margin-right: 10px;
}
.cp_snslink03 .cp_link_list .cp_link:hover {
right: 0;
background: #00bcd4;
-webkit-box-shadow: 0px 0px 0px 3px #00bcd4;
box-shadow: 0px 0px 0px 3px #00bcd4;
}
.cp_snslink03 .cp_link_list .cp_link a {
text-decoration: none;
color: #1a237e;
}
.cp_snslink03 .cp_link_list .cp_link:hover a {
color: #ffffff;
}
<div class="contents">text</div>
<ul class="cp_snslink04">
<li class="cp_link facebook"><a href="#"><span>Facebook</span></a></li>
<li class="cp_link twitter"><a href="#"><span>Twitter</span></a></li>
<li class="cp_link google"><a href="#"><span>Google+</span></a></li>
<li class="cp_link instagram"><a href="#"><span>instagram</span></a></li>
</ul>
.cp_snslink04 {
position: fixed;
top: 50%;
left: 0;
display: inline-block;
margin: 0;
padding: 0;
list-style-type: none;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink04 .cp_link {
position: relative;
display: block;
margin: 0;
padding: 0;
cursor: pointer;
text-align: center;
text-decoration: none;
color: #ffffff;
border-bottom: 1px solid #ffffff;
background: #3f51b5;
}
.cp_snslink04 .cp_link::before {
font-family: FontAwesome;
display: inline-block;
width: 40px;
height: 28px;
padding-top: 12px;
}
.cp_snslink04 .cp_link:last-of-type {
border-bottom: none;
}
/* pop-up */
.cp_snslink04 .cp_link span {
line-height: 0.75em;
position: absolute;
top: 0.5em;
right: -25px;
left: -25px;
visibility: hidden;
min-width: 7em;
height: 1.5em;
padding: 5px 7px;
-webkit-transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
opacity: 0;
color: #ffffff;
border-radius: 2px;
}
.cp_snslink04 .cp_link:hover span {
left: 50px;
visibility: visible;
opacity: 1;
}
/* facebook */
.cp_snslink04 .facebook:hover,
.cp_snslink04 .facebook:hover span {
background: #3b5997;
}
.cp_snslink04 .cp_link.facebook::before {
content:'\f09a';
}
/* twitter */
.cp_snslink04 .twitter:hover,
.cp_snslink04 .twitter:hover span {
background: #55acee;
}
.cp_snslink04 .cp_link.twitter::before {
content:'\f099';
}
/* google+ */
.cp_snslink04 .google:hover,
.cp_snslink04 .google:hover span {
background: #dd4b39;
}
.cp_snslink04 .cp_link.google::before {
content:'\f0d5';
}
/* instagram */
.cp_snslink04 .instagram:hover,
.cp_snslink04 .instagram:hover span {
background: linear-gradient(45deg, #fdf497,#fd5949,#d6249f,#285aeb );
}
.cp_snslink04 .cp_link.instagram::before {
content:'\f16d';
}
<div class="contents">text</div>
<ul class="cp_snslink05">
<li class="cp_link facebook"><a class="fa fa-facebook" href="#"><span>Facebook</span></a></li>
<li class="cp_link twitter"><a class="fa fa-twitter" href="#"><span>Twitter</span></a></li>
<li class="cp_link google"><a class="fa fa-google-plus" href="#"><span>Google+</span></a></li>
<li class="cp_link instagram"><a class="fa fa-instagram" href="#"><span>instagram</span></a></li>
</ul>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink05 {
position: fixed;
top: 50%;
left: 0;
display: inline-block;
margin: 0;
padding: 0;
list-style-type: none;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink05 .cp_link a {
position: relative;
font-family: 'FontAwesome';
display: block;
width: 40px;
height: 40px;
padding: 10px;
-webkit-transition: background 0.5s ease 0.3ms;
transition: background 0.5s ease 0.3ms;
text-align: center;
text-decoration: none;
color: #ffffff;
background: #263238;
}
.cp_snslink05 .facebook a:hover {
background: #3b5998;
}
.cp_snslink05 .twitter a:hover {
background: #00acee;
}
.cp_snslink05 .google a:hover {
background: #dd4b39;
}
.cp_snslink05 .instagram a:hover {
background: linear-gradient(45deg, #fdf497,#fd5949,#d6249f,#285aeb );
}
.cp_snslink05 .cp_link:first-child a {
border-radius: 0 5px 0 0;
}
.cp_snslink05 .cp_link:last-child a {
border-radius: 0 0 5px 0;
}
.cp_snslink05 .cp_link a span {
visibility: hidden;
display: inline-block;
position: absolute;
min-width: 7em;
top: 0.5em;
left: 60px;
line-height: 1em;
padding: 8px;
-webkit-transition: all 0.5s ease 0.3ms;
transition: all 0.5s ease 0.3ms;
transform: rotateY(45deg);
transform-origin: 0;
text-align: center;
opacity: 0;
color: #ffffff;
border-radius: 5px;
background: #263238;
}
.cp_snslink05 .cp_link span:after {
position: absolute;
top: 6px;
left: -15px;
display: block;
width: 0;
height: 0;
content: '';
border: 10px solid transparent;
border-right: 10px solid #263238;
}
.cp_snslink05 .cp_link a:hover span {
visibility: visible;
transform: rotateY(0);
opacity: 1;
}
<div class="contents">text</div>
<div class="cp_snslink06">
<ul class="cp_link_list">
<li class="cp_link"><a href="#">facebook<i class="fa fa-facebook fa-fw"></i></a></li>
<li class="cp_link"><a href="#">twitter<i class="fa fa-twitter fa-fw"></i></a></li>
<li class="cp_link"><a href="#">google+<i class="fa fa-google-plus fa-fw"></i></a></li>
<li class="cp_link"><a href="#">instagram<i class="fa fa-instagram fa-fw"></i></a></li>
</ul>
</div>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink06 {
position: fixed;
top: 50%;
left: 0;
display: block;
overflow: hidden;
margin: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink06 .cp_link_list {
-webkit-transform: translateX(-290px);
transform: translateX(-290px);
list-style-type: none;
}
.cp_snslink06 .cp_link a {
text-decoration: none;
color: #009688;
}
.cp_snslink06 .cp_link:hover a {
color: #ffffff;
}
.cp_snslink06 .cp_link {
display: block;
width: 300px;
margin: 5px;
padding: 10px;
-webkit-transition: all 1s;
transition: all 1s;
text-align: right;
-webkit-border-radius: 0 30px 30px 0;
border-radius: 0 30px 30px 0;
background: #80cbc4;
}
.cp_snslink06 .cp_link:hover {
-webkit-transform: translate(110px, 0);
transform: translate(110px, 0);
background: #009688;
}
.cp_snslink06 .cp_link i {
font-size: 20px;
width: 40px;
height: 40px;
margin-left: 10px;
padding: 10px;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
color: #ffffff;
-webkit-border-radius: 50%;
border-radius: 50%;
background: #009688;
}
.cp_snslink06 .cp_link:hover i {
-webkit-transition: all 1s;
transition: all 1s;
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
color: #009688;
background: #80cbc4;
}
<div class="contents">text</div>
<div class="cp_snslink07">
<ul class="cp_link_list">
<li class="cp_link facebook"><a href="#"><i class="fa fa-facebook fa-fw fa-2x"></i></a></li>
<li class="cp_link twitter"><a href="#"><i class="fa fa-twitter fa-fw fa-2x"></i></a></li>
<li class="cp_link google"><a href="#"><i class="fa fa-google-plus fa-fw fa-2x"></i></a></li>
<li class="cp_link instagram"><a href="#"><i class="fa fa-instagram fa-fw fa-2x"></i></a></li>
</ul>
</div>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink07 {
position: fixed;
top: 5px;
display: block;
width: 100%;
height: 0;
margin: 0;
padding: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
text-align: center;
border-top: 10px solid #90CAF9;
}
.cp_snslink07 .cp_link_list {
position: absolute;
right: 1%;
margin: 0;
padding: 0;
list-style: none;
}
.cp_snslink07 .cp_link {
display: inline-block;
width: 50px;
height: 50px;
margin: 0;
padding: 10px 0 0 0;
transition: all 0.3s;
color: #ffffff;
border-radius: 0 0 8px 8px;
background: #90CAF9;
-webkit-box-shadow: 0 3px 3px 0 rgba(0,0,0,0.2);
box-shadow: 0 3px 3px 0 rgba(0,0,0,0.2);
}
.cp_snslink07 .cp_link:hover {
height: 53px;
-webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0.2);
box-shadow: 0 0 0 0 rgba(0,0,0,0.2);
}
.cp_snslink07 .cp_link a {
transition: all 0.3s;
text-align: center;
color: #ffffff;
}
.cp_snslink07 .cp_link:hover a {
filter: drop-shadow(0px 0px 5px rgba(255,255,255,0.8));
}
.cp_snslink07 .cp_link.facebook:hover a {
color: #3b5999;
}
.cp_snslink07 .cp_link.twitter:hover a {
color: #55acee;
}
.cp_snslink07 .cp_link.google:hover a {
color: #dd4b39;
}
.cp_snslink07 .cp_link.instagram:hover a {
color: #e4405f;
}
<div class="contents">text</div>
<div class="cp_snslink08">
<ul class="cp_link_list">
<li class="cp_link"><a href="#"><i class="fa fa-facebook fa-fw"></i></a></li>
<li class="cp_link"><a href="#"><i class="fa fa-twitter fa-fw"></i></a></li>
<li class="cp_link"><a href="#"><i class="fa fa-google-plus fa-fw"></i></a></li>
<li class="cp_link"><a href="#"><i class="fa fa-instagram fa-fw"></i></a></li>
</ul>
</div>
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body {
/*設置する親要素ページ全体ならbodyなど*/
position: relative;
height: 100vh;
margin: 0;
padding: 0;
}
.contents {
/*サンプルはfixedの確認のためにheight指定しています。*/
height: 2000px;
}
.cp_snslink08 {
position: fixed;
bottom: 0;
left: 50%;
display: block;
overflow: hidden;
width: 100%;
margin: 0px auto;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
text-align: center;
}
.cp_snslink08 .cp_link_list {
overflow: hidden;
height: 50px;
width: 100%;
margin: 0;
padding: 0;
list-style: none;
border-bottom: 5px solid #f06292;
}
.cp_snslink08 .cp_link_list .cp_link {
display: inline-block;
}
.cp_snslink08 .cp_link i {
font-size: 2em;
position: relative;
top: 20px;
width: 2em;
height: 2em;
margin: 0;
padding: 10px;
-webkit-transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
transition: all 100ms cubic-bezier(0.42, 0, 0.58, 1);
border-radius: 50%;
background: #f06292;
}
.cp_snslink08 .cp_link i:hover {
top: 5px;
background: #F48FB1;
}
.cp_snslink08 .cp_link a {
color: #ffffff;
}
コピペでできる!cssとhtmlのみのクリックでソーシャルリンクが出てくるボタン4種 | copypet.jp|パーツで探す、web制作に使えるコピペサイト。
画面の左や右などに固定設置されたソーシャルリンクのボタンタイプをご紹介。 よく見かけるあのボタンを押すとピロピロッと隠れたソーシャルリンクが出てくるアレです。…CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。
@copypet_jp More Info