UNPKG

twitter-like-button

Version:

This is the functional twitter like button which you can integrate to your project. To give extra ordinary look

214 lines (211 loc) 5.11 kB
svg { cursor: pointer; overflow: visible; width: 60px; } svg #heart { transform-origin: center; animation: animateHeartOut 0.3s linear forwards; } svg #parent-circle { transform-origin: 29.5px 29.5px; } #heart-checkbox { display: none; } #heart-checkbox:checked + label svg #heart { transform: scale(0.2); fill: #e2264d; animation: animateHeart 0.3s linear forwards 0.25s; } #heart-checkbox:checked + label svg #parent-circle { transition: all 2s; animation: animateCircle 0.3s linear forwards; opacity: 1; } #heart-checkbox:checked + label svg #circleGrp1 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp1 #oval1 { transform: scale(0) translate(0, -30px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp1 #oval2 { transform: scale(0) translate(10px, -50px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp2 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp2 #oval1 { transform: scale(0) translate(30px, -15px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp2 #oval2 { transform: scale(0) translate(60px, -15px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp3 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp3 #oval1 { transform: scale(0) translate(30px, 0px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp3 #oval2 { transform: scale(0) translate(60px, 10px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp4 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp4 #oval1 { transform: scale(0) translate(30px, 15px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp4 #oval2 { transform: scale(0) translate(40px, 50px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp5 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp5 #oval1 { transform: scale(0) translate(-10px, 20px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp5 #oval2 { transform: scale(0) translate(-60px, 30px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp6 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp6 #oval1 { transform: scale(0) translate(-30px, 0px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp6 #oval2 { transform: scale(0) translate(-60px, -5px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp7 { opacity: 1; transition: 0.1s all 0.3s; } #heart-checkbox:checked + label svg #circleGrp7 #oval1 { transform: scale(0) translate(-30px, -15px); transform-origin: 0 0 0; transition: 0.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp7 #oval2 { transform: scale(0) translate(-55px, -30px); transform-origin: 0 0 0; transition: 1.5s transform 0.3s; } #heart-checkbox:checked + label svg #circleGrp2 { opacity: 1; transition: 0.1s opacity 0.3s; } #heart-checkbox:checked + label svg #circleGrp3 { opacity: 1; transition: 0.1s opacity 0.3s; } #heart-checkbox:checked + label svg #circleGrp4 { opacity: 1; transition: 0.1s opacity 0.3s; } #heart-checkbox:checked + label svg #circleGrp5 { opacity: 1; transition: 0.1s opacity 0.3s; } #heart-checkbox:checked + label svg #circleGrp6 { opacity: 1; transition: 0.1s opacity 0.3s; } #heart-checkbox:checked + label svg #circleGrp7 { opacity: 1; transition: 0.1s opacity 0.3s; } @keyframes animateCircle { 40% { transform: scale(10); opacity: 1; fill: #dd4688; } 55% { transform: scale(11); opacity: 1; fill: #d46abf; } 65% { transform: scale(12); opacity: 1; fill: #cc8ef5; } 75% { transform: scale(13); opacity: 1; fill: transparent; stroke: #cc8ef5; stroke-width: 0.5; } 85% { transform: scale(17); opacity: 1; fill: transparent; stroke: #cc8ef5; stroke-width: 0.2; } 95% { transform: scale(18); opacity: 1; fill: transparent; stroke: #cc8ef5; stroke-width: 0.1; } 100% { transform: scale(19); opacity: 1; fill: transparent; stroke: #cc8ef5; stroke-width: 0; } } @keyframes animateHeart { 0% { transform: scale(0.2); } 40% { transform: scale(1.2); } 100% { transform: scale(1); } } @keyframes animateHeartOut { 0% { transform: scale(1.4); } 100% { transform: scale(1); } }