Social glassy
+ ANIMATION :
+ Description :
This animation is displaying some social icons with an animated glassy cover and illumination.
In order to achieve it you will find below the various codes to be used. Despite using Bricks, I tried to list up all the necessary steps to complete the animation to be the most universal as much as possible. Therefore I am close to what you will find in any IDE. For Bricks, please follow the HTML/CSS structure so you can add-up divs and give them CSS (be careful with the buttons) instead of putting it into the code element in order to avoid FOUC as the code element is loaded lastly within the page priority list.
For CSS, please note that I am considering that you are using a builder hence: no margin/padding/button reset has been applied and the font is not defined.
Load Font Awesome library if necessary, please adapt according to your builder:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css" integrity="sha512-MV7K8+y+gLIBoVD59lQIYicR65iaqukzvf/nwasF0nqhPay5w/9lJmVM2hMDcnK1OnMGCdVK+iQrJ7lzPJQd1w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
HTML:
<section class="sg-section"> <ul role="list"> <li role="listitem"> <a class="sg-ctn" href="" aria-label="facebook"> <i class="sg-icon sg-fb fa-brands fa-square-facebook"></i> </a> </li> <li role="listitem"> <a class="sg-ctn" href="" aria-label="instagram"> <i class="sg-icon sg-insta fa-brands fa-square-instagram"></i> </a> </li> <li role="listitem"> <a class="sg-ctn" href="" aria-label="twitter"> <i class="sg-icon sg-twitter fa-brands fa-square-twitter"></i> </a> </li> <li role="listitem"> <a class="sg-ctn" href="" aria-label="pinterest"> <i class="sg-icon sg-pin fa-brands fa-square-pinterest"></i> </a> </li> <li role="listitem"> <a class="sg-ctn" href="" aria-label="whatsapp"> <i class="sg-icon sg-whats fa-brands fa-square-whatsapp"></i> </a> </li> </ul> </section>
CSS:
.sg-section { display: flex; min-height: 35vh; width: 100%; align-items: center; justify-content: center; background-color: #202020; } .sg-section ul { list-style-type: none; padding-inline-start: 0px; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; } .sg-ctn { position: relative; display: flex; align-items: center; justify-content: center; width: 70px; height: 70px; margin: 0.5rem; cursor: pointer; transition: all 0.2s ease; perspective: 400px; } .sg-icon { font-size: 2.2rem; color: white; border-radius: 50%; padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.6); transition: all 0.2s ease; } .sg-ctn::before { content: ""; position: absolute; inset: -8%; width: 116%; height: 116%; border-radius: 50px; box-shadow: inset 9px 9px 12px #151515, inset -9px -9px 12px #2b2b2b, 9px 9px 19px #1b1b1b, -9px -9px 19px #252525; } .sg-ctn::after { content: ""; position: absolute; width: 100%; height: 100%; border-radius: 50%; background: rgba(64, 64, 64, 0.25); backdrop-filter: blur(1.2px); -webkit-backdrop-filter: blur(1.2px); transform-origin: top; transition: all 0.2s ease; box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset; } .sg-ctn:hover::after { transform: rotateX(140deg); } .sg-ctn:hover .sg-fb { color: #4267b2; filter: drop-shadow(0 0 25px #4267b2); text-shadow: 0 0 5px #4267b2; border-color: #4267b2; } .sg-ctn:hover .sg-insta { color: #c13584; filter: drop-shadow(0 0 25px #c13584); text-shadow: 0 0 5px #c13584; border-color: #c13584; } .sg-ctn:hover .sg-twitter { color: #1da1f2; filter: drop-shadow(0 0 25px #1da1f2); text-shadow: 0 0 5px #1da1f2; border-color: #1da1f2; } .sg-ctn:hover .sg-pin { color: #e60023; filter: drop-shadow(0 0 25px #e60023); text-shadow: 0 0 5px #e60023; border-color: #e60023; } .sg-ctn:hover .sg-whats { color: #25d366; filter: drop-shadow(0 0 25px #25d366); text-shadow: 0 0 5px #25d366; border-color: #25d366; } .sg-ctn:active { transform: scale(0.97); filter: saturate(2.5); }