<div class="demo-smile"></div>
.demo-smile{ width: 100%; height: 100vh; background-color: #32bfd3; }
<div class="demo-smile"> <div class="sad-smile"></div> </div>
.sad-smile{ width: 250px; height: 250px; border-radius: 50%; }
.sad-smile{ width: 250px; height: 250px; border-radius: 50%; background-image: linear-gradient(to bottom, #efee5f, #ecc837); box-shadow: inset 0 -14px 14px rgba(0, 0, 0, .3), 0 2px 20px rgba(0, 0, 0, .6); }
.demo-smile{ width: 100%; height: 100vh; background-color: #32bfd3; display: flex; } .sad-smile{ width: 250px; height: 250px; border-radius: 50%; background-image: linear-gradient(to bottom, #efee5f, #ecc837); box-shadow: inset 0 -14px 14px rgba(0, 0, 0, .3), 0 2px 20px rgba(0, 0, 0, .6); margin: auto; }
<div class="demo-smile"> <div class="sad-smile"> <div class="sad-smile__eye sad-smile__eye_left"></div> <div class="sad-smile__eye sad-smile__eye_right"></div> </div> </div>
.sad-smile__eye{ width: 50px; height: 50px; }
.sad-smile__eye{ width: 50px; height: 50px; border: 8px solid #000; background-color: #fff; border-radius: 50% 50% 0 0; }
.sad-smile{ position: relative; width: 250px; height: 250px; border-radius: 50%; background-image: linear-gradient(to bottom, #efee5f, #ecc837); box-shadow: inset 0 -14px 14px rgba(0, 0, 0, .3), 0 2px 20px rgba(0, 0, 0, .6); margin: auto; } .sad-smile__eye{ width: 50px; height: 50px; border: 8px solid #000; background-color: #fff; border-radius: 50% 50% 0 0; position: absolute; top: 33px; } .sad-smile__eye_left{ left: 50px; } .sad-smile__eye_right{ right: 50px; }
.sad-smile__eye::after{ content: ""; width: 20px; height: 20px; border-radius: 50%; background-color: #000; position: absolute; left: 0; bottom: 0; }
.sad-smile__eye::before{ content: ""; width: 34px; height: 7px; background-color: #000; border-radius: 50% 50% 0 0; }
.sad-smile__eye::before{ content: ""; width: 34px; height: 7px; background-color: #000; border-radius: 50% 50% 0 0; position: absolute; top: -20px; right: 7px; }
<div class="demo-smile"> <div class="sad-smile"> <div class="sad-smile__eye sad-smile__eye_left"></div> <div class="sad-smile__eye sad-smile__eye_right"></div> <div class="sad-smile__mouth"></div> </div> </div>
.sad-smile__mouth{ width: 165px; height: 75px; border: 7px solid #222; }
.sad-smile__mouth{ width: 165px; height: 75px; border: 7px solid #222; position: absolute; bottom: 12px; left: 125px; transform: translateX(-50%); }
.sad-smile__mouth{ width: 165px; height: 75px; border-right: 7px solid #222; border-left: 7px solid #222; border-bottom: 7px solid #222; position: absolute; bottom: 12px; left: 125px; transform: translateX(-50%); }
.sad-smile__mouth{ width: 165px; height: 75px; border-right: 7px solid transparent; border-left: 7px solid transparent; border-bottom: 7px solid #222; position: absolute; bottom: 12px; left: 125px; transform: translateX(-50%); }
.sad-smile__mouth{ width: 165px; height: 75px; border-right: 7px solid transparent; border-left: 7px solid transparent; border-bottom: 7px solid #222; border-radius: 50%; position: absolute; bottom: 12px; left: 125px; transform: translateX(-50%); }
.sad-smile__mouth{ width: 165px; height: 75px; border-right: 7px solid transparent; border-left: 7px solid transparent; border-bottom: 7px solid #222; border-radius: 50%; position: absolute; bottom: 12px; left: 125px; transform: rotateX(180deg) translateX(-50%); }
<div class="demo-smile"> <div class="sad-smile"> <div class="sad-smile__eye sad-smile__eye_left"> <div class="sad-smile__tear"></div> </div> <div class="sad-smile__eye sad-smile__eye_right"> <div class="sad-smile__tear"></div> </div> <div class="sad-smile__mouth"></div> </div> </div>
.sad-smile__tear{ width: 0; height: 0; border-right: 8px solid transparent; border-left: 8px solid transparent; border-bottom: 24px solid #1ca5e2; }
.sad-smile__tear{ width: 0; height: 0; border-right: 8px solid transparent; border-left: 8px solid transparent; border-bottom: 24px solid #1ca5e2; border-radius: 50%; }
.sad-smile__tear{ width: 0; height: 0; border-right: 8px solid transparent; border-left: 8px solid transparent; border-bottom: 24px solid #1ca5e2; border-radius: 50%; position: absolute; top: 50%; left: 0; z-index: 2; }
@keyframes tear{ 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(0); } 5%{ opacity: 1; transform: translate3d(0, 0, 0) scale(0); } 10%{ transform: translate3d(0, 25px, 0) scale(1); } 100%{ transform: translate3d(0, 175px, 0) scale(1); } }
.sad-smile__tear{ width: 0; height: 0; border-right: 8px solid transparent; border-left: 8px solid transparent; border-bottom: 24px solid #1ca5e2; border-radius: 50%; position: absolute; top: 50%; left: 0; z-index: 2; animation: tear 2.5s cubic-bezier(.63, .49, 1, -.15) .2s infinite both; }
.sad-smile__eye_left .sad-smile__tear{ animation-delay: 1s; }
Source: https://habr.com/ru/post/301136/
All Articles