画面の左や右などに固定設置されたソーシャルリンクのボタンタイプをご紹介。
よく見かけるあのボタンを押すとピロピロッと隠れたソーシャルリンクが出てくるアレです。
固定する場所に「position: relative;」の設定が必要ですのでご注意ください。
アイコンはfontawesomeを使用しています。
<div class="contents">text</div>
<div class="cp_snslink09">
<div class="cp_link_list">
<input type="checkbox" id="cp_toggle" />
<label for="cp_toggle" class="fa fa-share-alt"></label>
<div class="cp_link">
<ul>
<li><a href="#" class="fa fa-twitter" title="Twitter"></a></li>
<li><a href="#" class="fa fa-facebook" title="Facebook"></a></li>
<li><a href="#" class="fa fa-google-plus" title="Google+"></a></li>
<li><a href="#" class="fa fa-instagram" title="Instagram"></a></li>
</ul>
</div>
</div>
</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_snslink09 {
position: fixed;
top: 6%;
left: 1%;
display: block;
margin: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 40%;
}
.cp_snslink09 .cp_link_list{
position: relative;
-webkit-perspective: 1000px;
perspective: 1000px;
z-index: 1000;
}
.cp_snslink09 .cp_link_list input{
display: none;
}
.cp_snslink09 .cp_link_list label {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
cursor: pointer;
font-size: 24px;
width: 50px;
height: 50px;
text-align: center;
color: #ffffff;
background: #4DB6AC;
border-radius: 50%;
outline: none;
z-index: 100000;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.cp_snslink09 .cp_link_list .cp_link {
position: absolute;
margin: 0;
top: 60px;
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.cp_snslink09 .cp_link_list .cp_link ul{
position: relative;
list-style: none;
margin: 0;
padding: 0;
z-index: -1;
}
.cp_snslink09 .cp_link_list .cp_link ul li{
margin-bottom: 10px;
position: relative;
opacity: 0;
width: 50px;
height: 50px;
-webkit-transform: translateY(-100%) rotate(0);
transform: translateY(-100%) rotate(0);
-webkit-transition: all 0.5s;
transition: all 0.5s;
}
.cp_snslink09 .cp_link_list .cp_link ul li a{
display: -webkit-box;
display: flex;
color: #ffffff;
text-decoration: none;
text-align: center;
font-size: 24px;
width: 100%;
height: 100%;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: center;
justify-content: center;
text-align: center;
background: #4DB6AC;
text-decoration: none;
border-radius: 50%;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.cp_snslink09 .cp_link_list .cp_link ul li a:hover{
background: #F57C00;
color: #ffffff;
}
.cp_snslink09 .cp_link_list input:checked ~ label {
background: #009688;
}
.cp_snslink09 .cp_link_list input:checked ~ .cp_link{
-webkit-transform: rotateY(0);
transform: rotateY(0);
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.cp_snslink09 .cp_link_list input:checked ~ .cp_link ul li{
opacity: 1;
-webkit-transform: translateY(0) rotate(360deg);
transform: translateY(0) rotate(360deg);
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.cp_snslink09 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(1){
-webkit-transition-delay: 0;
transition-delay: 0;
z-index: 4;
}
.cp_snslink09 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(2){
-webkit-transition-delay: 0.3s;
transition-delay: 0.3s;
z-index: 3;
}
.cp_snslink09 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(3){
-webkit-transition-delay: .6s;
transition-delay: .6s;
z-index: 2;
}
.cp_snslink09 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(4){
-webkit-transition-delay: .9s;
transition-delay: .9s;
z-index: 1;
}
<div class="cp_snslink10">
<div class="cp_link_list">
<input type="checkbox" id="cp_toggle02" />
<label for="cp_toggle02" class="fa fa-share-alt"></label>
<div class="cp_link">
<ul>
<li><a href="#" class="fa fa-twitter" title="Twitter"></a></li>
<li><a href="#" class="fa fa-facebook" title="Facebook"></a></li>
<li><a href="#" class="fa fa-google-plus" title="Google+"></a></li>
<li><a href="#" class="fa fa-instagram" title="Instagram"></a></li>
</ul>
</div>
</div>
</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_snslink10 {
position: fixed;
top: 6%;
left: 1%;
display: block;
margin: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 40%;
}
.cp_snslink10 .cp_link_list{
position: relative;
-webkit-perspective: 1000px;
perspective: 1000px;
z-index: 1000;
}
.cp_snslink10 .cp_link_list input{
display: none;
}
.cp_snslink10 .cp_link_list label {
position: relative;
display: -webkit-box;
display: flex;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
cursor: pointer;
font-size: 24px;
width: 50px;
height: 50px;
text-align: center;
color: #ffffff;
background: #F48FB1;
border-radius: 50%;
outline: none;
z-index: 100000;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.cp_snslink10 .cp_link_list .cp_link {
position: absolute;
margin: 0;
top: 60px;
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.cp_snslink10 .cp_link_list .cp_link ul{
position: relative;
list-style: none;
margin: 0;
padding: 0;
z-index: -1;
}
.cp_snslink10 .cp_link_list .cp_link ul li{
margin-bottom: 10px;
position: relative;
opacity: 0;
width: 50px;
height: 50px;
-webkit-transform: translateY(-100%) rotate(0);
transform: translateY(-100%) rotate(0);
-webkit-transition: all 0.5s;
transition: all 0.5s;
}
.cp_snslink10 .cp_link_list .cp_link ul li a{
display: -webkit-box;
display: flex;
color: #ffffff;
text-decoration: none;
text-align: center;
font-size: 24px;
width: 100%;
height: 100%;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: center;
justify-content: center;
text-align: center;
background: #F48FB1;
text-decoration: none;
border-radius: 50%;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.cp_snslink10 .cp_link_list .cp_link ul li a:hover{
background: #42A5F5;
color: #ffffff;
}
.cp_snslink10 .cp_link_list input:checked ~ label {
background: #EC407A;
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link{
-webkit-transform: rotateY(0);
transform: rotateY(0);
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link ul li{
opacity: 1;
-webkit-transform: translateY(0) rotate(360deg);
transform: translateY(0) rotate(360deg);
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(1){
-webkit-transition-delay: 0;
transition-delay: 0;
z-index: 4;
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(2){
-webkit-transition-delay: 0.3s;
transition-delay: 0.3s;
z-index: 3;
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(3){
-webkit-transition-delay: .6s;
transition-delay: .6s;
z-index: 2;
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link ul li:nth-of-type(4){
-webkit-transition-delay: .9s;
transition-delay: .9s;
z-index: 1;
}
.cp_snslink10 .cp_link_list .cp_link{
top: 0;
left: 60px;
}
.cp_snslink10 .cp_link_list .cp_link ul li{
display: inline;
float: left;
margin-bottom: 0;
margin-right: 10px;
-webkit-transform: translateX(-100%) rotate(0);
transform: translateX(-100%) rotate(0);
}
.cp_snslink10 .cp_link_list input:checked ~ .cp_link ul li{
-webkit-transform: translateX(0) rotate(360deg);
transform: translateX(0) rotate(360deg);
}
<div class="cp_snslink11">
<nav class="cp_link_list">
<input type="checkbox" href="#" class="cp_open" id="cp_toggle03" />
<label class="cp_open_btn" for="cp_toggle03">
<i class="fa fa-share-alt cp_share fa-fw"></i>
</label>
<a class="cp_link facebook" href="#"><i class="fa fa-facebook fa-fw"></i></a>
<a class="cp_link twitter" href="#"><i class="fa fa-twitter fa-fw"></i></a>
<a class="cp_link google" href="#"><i class="fa fa-google-plus fa-fw"></i></a>
<a class="cp_link instagram" href="#"><i class="fa fa-instagram fa-fw"></i></a>
</nav>
</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_snslink11 {
position: fixed;
bottom: 1%;
right: 1%;
display: block;
margin: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.cp_snslink11 a {
-webkit-transition: all 0.8s;
transition: all 0.8s;
opacity: 0.8;
}
.cp_snslink11 .cp_link {
margin-left: -40px;
}
.cp_snslink11 .cp_link,
.cp_snslink11 .cp_open_btn {
line-height: 64px;
position: absolute;
width: 60px;
height: 60px;
margin-left: -40px;
-webkit-transition: -webkit-transform ease-out 200ms;
transition: -webkit-transform ease-out 200ms;
transition: transform ease-out 200ms;
transition: transform ease-out 200ms, -webkit-transform ease-out 200ms;
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
text-align: center;
color: #ffffff;
border-radius: 100%;
background: #eeeeee;
}
.cp_snslink11 .cp_link_list {
font-size: 26px;
z-index: 99;
box-sizing: border-box;
width: 80px;
height: 50px;
margin: auto;
text-align: center;
}
.cp_snslink11 .cp_link_list a.cp_link .fa {
color: #ffffff;
}
.cp_snslink11 .cp_open {
display: none;
}
.cp_snslink11 .cp_share {
color: #e64a19;
}
.cp_snslink11 .cp_link:hover {
opacity: 1;
}
.cp_snslink11 .cp_link:nth-child(3),
.cp_snslink11 .cp_link:nth-child(4),
.cp_snslink11 .cp_link:nth-child(5),
.cp_snslink11 .cp_link:nth-child(6) {
-webkit-transition-duration: 180ms;
transition-duration: 180ms;
}
.cp_snslink11 .cp_open_btn {
z-index: 2;
cursor: pointer;
-webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
-webkit-transition-duration: 400ms;
transition-duration: 400ms;
-webkit-transform: scale(1.1, 1.1) translate3d(0, 0, 0);
transform: scale(1.1, 1.1) translate3d(0, 0, 0);
}
.cp_snslink11 .cp_open_btn:hover {
-webkit-transform: scale(1.2, 1.2) translate3d(0, 0, 0);
transform: scale(1.2, 1.2) translate3d(0, 0, 0);
}
.cp_snslink11 .cp_open:checked + .cp_open_btn {
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
-webkit-transform: scale(0.8, 0.8) translate3d(0, 0, 0);
transform: scale(0.8, 0.8) translate3d(0, 0, 0);
}
.cp_snslink11 .cp_open:checked ~ .cp_link {
-webkit-transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
transition-timing-function: cubic-bezier(0.935, 0, 0.34, 1.33);
}
.cp_snslink11 .cp_open:checked ~ .cp_link:nth-child(3) {
-webkit-transition-duration: 180ms;
transition-duration: 180ms;
-webkit-transform: translate3d(0.08361px, -64px, 0);
transform: translate3d(0.08361px, -64px, 0);
}
.cp_snslink11 .cp_open:checked ~ .cp_link:nth-child(4) {
-webkit-transition-duration: 280ms;
transition-duration: 280ms;
-webkit-transform: translate3d(0.08361px, -134px, 0);
transform: translate3d(0.08361px, -134px, 0);
}
.cp_snslink11 .cp_open:checked ~ .cp_link:nth-child(5) {
-webkit-transition-duration: 380ms;
transition-duration: 380ms;
-webkit-transform: translate3d(0.08361px, -202px, 0);
transform: translate3d(0.08361px, -202px, 0);
}
.cp_snslink11 .cp_open:checked ~ .cp_link:nth-child(6) {
-webkit-transition-duration: 480ms;
transition-duration: 480ms;
-webkit-transform: translate3d(0.08361px, -270px, 0);
transform: translate3d(0.08361px, -270px, 0);
}
.cp_snslink11 .facebook {
background-color: #3b5998;
}
.cp_snslink11 .twitter {
background-color: #00aced;
}
.cp_snslink11 .google {
background-color: #dd4b39;
}
.cp_snslink11 .instagram {
background: radial-gradient(circle at 0% 90%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285aeb 90%);
}
コピペでできる!cssとhtmlのみで作る画面固定されたソーシャルリンクメニュー8種 | copypet.jp|パーツで探す、web制作に使えるコピペサイト。
画面の左や右などに固定設置されたソーシャルリンクの帯タイプをご紹介。 よく見かけるあのホバーするとピロっとリンク名などが出てくるアレです。 …CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。
@copypet_jp More Info