Кролик на css для Blogger

В предыдущей статье я рассказала как установить код новогодней открытки с сайта https://atuin.ru. Сегодня продолжение новогодней темы. Так как 2023 год проходит под знаком кролика, то его изображение подойдёт для новогоднего поздравления.
Код зайчика нашла на том же сайте, что и новогоднюю открытку. Зайчик отлично вписался в Блоггер. Код работает, проверяла в шаблоне "Корпорация чудеса".
Картинку можно установить в статью, вместе с поздравлениями читателей. Код добавляем в редакторе блога, в режиме XTML.
Кролик сделан на чистом CSS.
Выглядит он вот так:
Кролик на css для Blogger
В живую посмотреть зайчика и проверить работоспособность кода можно в визуальном редакторе.

Кролик, пускающий мыльные пузыри

<div class="bunny-container"> <div> <div class="grass"></div> <div class="bunny"> <div class="bunny__ears"> <div class="bunny__ear bunny__ear--left"></div> <div class="bunny__ear bunny__ear--right"></div> </div> <div class="bunny__feet"> <div class="bunny__foot bunny__foot--left"></div> <div class="bunny__foot bunny__foot--right"></div> </div> <div class="bunny__tail"></div> <div class="bunny__paw"></div> <div class="bunny__body"> <div class="bunny__eyes"></div> <div class="bunny__nose"></div> <div class="bunny__cheeks"></div> <div class="bunny__mouth"></div> </div> </div> </div> <div class="bubbles"> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> <div class="bubble"></div> </div> </div> <style> :root { --bunny-color: pink; --bunny-color-2: #f0a4cb; --bunny-eye-color: #473929; --bunny-cheek-color: red; --bunny-tongue-color: red; --bunny-mouth-color: #473929; --bunny-nose-color: #473929; --stick-color: #ff8819; --stick-bubble-color-1: #9e9eff; --stick-bubble-color-2: white; --grass-color: #84cc84; --grass-color-2: lightgreen; --breathe-duration: 10s; --bubble-color-1: #4fd5e7; --bubble-color-2: #829fff; --bubble-color-3: #76e0cf; --bubble-color-4: #86befd; --bubble-color-5: #91f1d9; } .bunny-container { margin: 0; background: #FFF; display: flex; justify-content: center; align-items: center; font-family: 'Balsamiq Sans', cursive; height: 300px; padding-bottom: 80px; } .bunny { width: 230px; height: 300px; transform: translateX(70px); position: relative; } .bunny * { position: absolute; } .bunny__body { width: 200px; height: 200px; background: var(--bunny-color); border-radius: 100px 100px 30px 0px; transform: translateY(80px); } @keyframes eyesAnim { 0%, 15%, 17%, 79%, 81% { transform: translate(40px, 40px) rotateZ(6deg) } 16%, 80% { transform: translate(40px, 40px) rotateZ(6deg) scaleY(0.3) } 60% { transform: translate(40px, 30px) rotateZ(6deg) } 10%, 70%, 100% { transform: translate(40px, 40px) rotateZ(6deg) } } .bunny__eyes { padding: 6px; background: var(--bunny-eye-color); border-radius: 50%; box-shadow: 80px 0 var(--bunny-eye-color); transform: translate(40px, 40px) rotateZ(6deg); animation: eyesAnim var(--breathe-duration) linear infinite; } @keyframes noseAnim { 60% { transform: translate(70px, 40px) } 10%, 70%, 100% { transform: translate(70px, 50px) } } .bunny__nose { padding: 5px 8px; background: var(--bunny-nose-color); border-radius: 50%; transform: translate(70px, 50px); animation: noseAnim var(--breathe-duration) linear infinite; } .bunny__nose::after { content: '|'; text-shadow: 1px 0px, -1px 0; color: var(--bunny-nose-color); position: absolute; font-size: 20px; font-weight: bolder; transform: translateX(-2px); } @keyframes cheeksAnim { 60% { transform: translate(10px, 50px) rotateZ(5deg); opacity: 0.5 } 10%, 70%, 100%, 0% { transform: translate(10px, 55px) rotateZ(5deg); opacity: 0.2 } } .bunny__cheeks { padding: 18px; background: var(--bunny-cheek-color); border-radius: 50%; transform: translate(10px, 55px) rotateZ(5deg); box-shadow: 110px 0 var(--bunny-cheek-color); animation: cheeksAnim var(--breathe-duration) linear infinite; } @keyframes breatheMouthAnim { 0%, 10%, 75%, 78%, 82%, 86%, 90%, 94%, 98%, 100%, 4%, 8% { transform: translate(68px, 70px) } 60% { transform: translate(70px, 70px) scale(3, 2.5) } 76%, 80%, 84%, 88%, 92%, 96%, 2%, 6% { transform: translate(66px, 70px) } } .bunny__mouth { padding: 8px 10px; background: var(--bunny-tongue-color); border-radius: 50%; transform: translate(66px, 70px); box-shadow: inset 5px 8px var(--bunny-mouth-color); animation: breatheMouthAnim var(--breathe-duration) linear infinite; } .bunny__ears { width: 200px; height: 100px; } @keyframes earLeftAnim { 0%, 10%, 75% { transform: var(--transform-3) } 15%, 17%, 65% { transform: var(--transform-1) } 16% { transform: var(--transform-2) } 25%, 29%, 42%, 46%, 56%, 60% { transform: var(--transform-4) } 23%, 27%, 31%, 40%, 44%, 48%, 54%, 58%, 62% { transform: var(--transform-1) } } @keyframes earRightAnim { 0%, 10%, 75% { transform: var(--transform-3) } 13%, 15%, 65% { transform: var(--transform-1) } 14% { transform: var(--transform-2) } 28%, 32%, 44%, 48%, 55%, 59% { transform: var(--transform-4) } 26%, 30%, 34%, 42%, 46%, 50%, 53%, 57%, 61% { transform: var(--transform-1) } } .bunny__ear { width: 50px; height: 100px; border-radius: 50% 50% 0%; background: var(--bunny-color); transform-origin: bottom left; box-shadow: inset 0px 15px var(--bunny-color-2); transform: var(--transform-3); } .bunny__ear--left { --transform-1: translateX(50px) rotate(10deg); --transform-2: translateX(50px) rotate(5deg); --transform-3: translateX(50px) rotate(30deg); --transform-4: translateX(50px) rotate(8deg); animation: earLeftAnim var(--breathe-duration) linear infinite; } .bunny__ear--right { --transform-1: translateX(125px) rotate(25deg); --transform-2: translateX(125px) rotate(20deg); --transform-3: translateX(125px) rotate(45deg); --transform-4: translateX(125px) rotate(23deg); animation: earRightAnim var(--breathe-duration) linear infinite; } .bunny__feet { height: 35px; width: 200px; transform: translateY(265px); } .bunny__foot { height: 35px; width: 65px; background: var(--bunny-color-2); border-radius: 0 0 25px 50%; } .bunny__foot--left { transform: rotate(10deg) skewY(-20deg); } .bunny__foot--right { transform: translateX(110px) rotate(10deg) skewY(-20deg); } @keyframes tailAnim { 0%, 15%, 25%, 75%, 85%, 95% { transform: translate(190px, 200px) rotate(8deg) } 20%, 80%, 90% { transform: translate(190px, 198px) rotate(-8deg) } } .bunny__tail { height: 50px; width: 40px; background: var(--bunny-color-2); border-radius: 50% 50% 50%; transform: translate(190px, 200px) rotate(8deg); animation: tailAnim 3s linear infinite; } .bunny__arm { width: 80px; height: 100px; transform: translate(-70px, 140px); } @keyframes pawAnim { 0%, 75%, 100% { transform: translate(-47px, 197px) rotate(-2deg) } 65% { transform: translate(-47px, 197px) rotate(10deg) } } .bunny__paw { width: 50px; height: 50px; background: var(--bunny-color); border-radius: 50px 0 0 50px; transform-origin: bottom right; transform: translate(-47px, 197px) rotate(-2deg); transform: translate(-47px, 197px) rotate(10deg); animation: pawAnim var(--breathe-duration) linear infinite; } .bunny__paw::before { content: ''; position: absolute; width: 10px; height: 45px; border-radius: 0 0 20px 20px; background: var(--stick-color); transform: translate(8px, -5px); } .bunny__paw::after { content: ''; position: absolute; width: 19px; height: 35px; background: linear-gradient(-45deg, var(--stick-bubble-color-1) 0% 30%, var(--stick-bubble-color-2) 30% 40%, var(--stick-bubble-color-1) 40% 55%, var(--stick-bubble-color-2) 55% 60%, var(--stick-bubble-color-1) 60% 100%); border-radius: 50%; box-shadow: 0 0 0 8px var(--stick-color); transform: translate(2px, -45px); } .grass { width: 300px; height: 70px; background: var(--grass-color); position: absolute; border-radius: 50%; transform: translateY(260px); box-shadow: 0 6px 0 16px var(--grass-color-2); } .bubbles { position: absolute; transform: translate(-130px, 15px); } @keyframes bubbleAnim { 40% { offset-distance: 0% } 60% { offset-distance: 100%; } 42%, 58% { opacity: 1 } 0%, 40%, 60%, 100% { opacity: 0 } } .bubble { position: absolute; border-radius: 50%; opacity: 0; animation: bubbleAnim var(--breathe-duration) linear infinite; --bubble-base-delay: 3s; --bubble-delay: 0.2s; } .bubble:nth-child(n) { background: var(--bubble-color-1); padding: 12px; transform: rotate(10deg); offset-path: path('m0,0 l -500, -35'); } .bubble:nth-child(2n) { background: var(--bubble-color-2); padding: 8px; offset-path: path('m0,0 l -500, -25'); } .bubble:nth-child(3n) { background: var(--bubble-color-3); padding: 15px; offset-path: path('m0,0 l -500, 10'); } .bubble:nth-child(4n) { background: var(--bubble-color-4); padding: 10px; offset-path: path('m0,0 l -500, 30'); } .bubble:nth-child(5n) { background: var(--bubble-color-5); padding: 17px; offset-path: path('m0,0 l -500, 20'); } .bubble:nth-child(1) { animation-delay: var(--bubble-base-delay) } .bubble:nth-child(2) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay)) } .bubble:nth-child(3) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 2) } .bubble:nth-child(4) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 3) } .bubble:nth-child(5) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 4) } .bubble:nth-child(6) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 5) } .bubble:nth-child(7) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 6) } .bubble:nth-child(8) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 7) } .bubble:nth-child(9) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 8) } .bubble:nth-child(10) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 9) } .bubble:nth-child(11) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 10) } .bubble:nth-child(12) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 11) } .bubble:nth-child(13) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 12) } .bubble:nth-child(14) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 13) } .bubble:nth-child(15) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 14) } .bubble:nth-child(16) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 15) } .bubble:nth-child(17) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 16) } .bubble:nth-child(18) { animation-delay: calc(var(--bubble-base-delay) + var(--bubble-delay) * 17) } .bubble::before, .bubble::after { content: ''; position: absolute; border-radius: 50%; background: white; } .bubble::after { padding: 15%; opacity: 0.6; } .bubble::before { padding: 10%; opacity: 0.7; transform: translate(-6px, -1px); } </style>
Цвет кролика и других деталей можно поменять. Кролик в 2023 году будет чёрным и его можно сделать вот таким:
Кролик, пускающий мыльные пузыри
Что можно поменять:
цвет кролика - выделила красным
цвет лап, хвостика и кончиков ушей кролика - выделила в коде оранжевым
цвет глаз кролика - голубым
цвет румян кролика - синим
цвет языка кролика - розовым
цвет рта - зелёным
цвет носа - салатовым
цвет корпуса надувателя мыльных пузырей - выделила в коде чёрным жирным цветом
цвет решетки надувателя 1 и 2 - коричневый (цвета разные)
цвет травы 1 и 2 - фиолетовым (цвета разные)
цвет пузырей 1-5 - жёлтым (все цвета разные)
скорость, с которой кролик дует - серым цветом

Ваши комментарии:

Комментарии со спамом удаляются.