! Сегодня

Главная » Web и Технологии » Новогодняя елка с шарами для сайта на CSS

Новогодняя елка с шарами для сайта на CSS

Не бойтесь врагов, бойтесь друзей. Предают друзья, а не враги.

22-ноября-2023, 21:31   5   0

Новогодняя елка с шарами для сайта на CSS

В продолжении новогодней темы предлагаю ещё одно оформление для сайта, новогоднюю елку с шарами  на CSS. Для изменения размера нужно использовать transform: scale().

HTML

<div class="merry-xmas">
    <div class="star-container">
        <div class="star"></div>
    </div>
    <div class="xmas-tree">
        <div class="tree1"></div>
        <div class="tree2"></div>
        <div class="tree3"></div>
        <div class="tree4"></div>
        <div class="tree5"></div>
        <div class="trunk"></div>
    </div>
    <div class="ornament-container1">
        <div class="ornament"></div>
    </div>
    <div class="ornament-container2">
        <div class="ornament"></div>
    </div>
    <div class="ornament-container3">
        <div class="ornament"></div>
    </div>
    <div class="ornament-container4">
        <div class="ornament"></div>
    </div>
    <div class="ornament-container5">
        <div class="ornament"></div>
    </div>
    <div class="ornament-container6">
        <div class="ornament"></div>
    </div>
    <div class="xmas-lights">
        <div class="light1"></div>
        <div class="light2"></div>
        <div class="light3"></div>
        <div class="light4"></div>
        <div class="light5"></div>
        <div class="light6"></div>
        <div class="light7"></div>
        <div class="light8"></div>
        <div class="light9"></div>
        <div class="light10"></div>
        <div class="light11"></div>
        <div class="light12"></div>
        <div class="light13"></div>
        <div class="light14"></div>
        <div class="light15"></div>
        <div class="light16"></div>
        <div class="light17"></div>
        <div class="light18"></div>
        <div class="light19"></div>
        <div class="light20"></div>
    </div>
</div>


CSS

.merry-xmas { 
    margin: 0 auto 10px auto; 
    width: 400px; 
    height: 400px;
    position: relative;
    overflow: hidden;
}
[class^="tree"] {
    position: relative;
    width: 0;
    height: 0;
    border-style: solid;
    border-radius: 100%;
}
.tree1 {
    margin-left: 100px;
    border-width: 0 100px 75px 100px;
    border-color: transparent transparent #99c671 transparent;
    z-index: 5;
}
.tree2 { 
    top: -40px; 
    margin-left: 75px;
    border-width: 0 125px 85px 125px;
    border-color: transparent transparent #68bb47 transparent;
    z-index: 4;
}
.tree3 {
    top: -85px; 
    margin-left: 50px;
    border-width: 0 150px 100px 150px;
    border-color: transparent transparent #42aa47 transparent;
    z-index: 3;
}
.tree4 {
    top: -140px; 
    margin-left: 25px;
    border-width: 0 175px 115px 175px;
    border-color: transparent transparent #2e9343 transparent;
    z-index: 2;
}
.tree5 {
    top: -215px; 
    border-width: 0 200px 135px 200px;
    border-color: transparent transparent #247e37 transparent;
    z-index: 1;
}
.trunk {
    position: absolute;
    width: 30px;
    height: 50px;
    margin-left: 185px;
    top: 340px;
    background-color: #996633;
}
@keyframes roty {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.3);
    }
    100% {
        transform: scale(1);
    }
}
.star-container {
    position: relative;
    height: 50px;
    width: 50px;
    margin-left: 195px;
    top: 0px;
    z-index: 6;
    transform: rotate(35deg);
}
.star {
    margin: 50px 0;
    position: absolute;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 25px 17px 25px;
    border-color: transparent transparent #ffd105 transparent;
    animation: 1s roty infinite linear;
}
.star:before {
    position: absolute;
    height: 0;
    width: 0;
    top: 0px;
    left: -25px;
    content: '';
    border-style: solid;
    border-width: 0 25px 17px 25px;
    border-color: transparent transparent #ffd105 transparent;
    transform: rotate(-70deg);
}
.star:after {
    position: absolute;
    height: 0;
    width: 0;
    top: -12px;
    left: -16px;
    content: '';
    border-style: solid;
    border-width: 0 10px 20px 10px;
    border-color: transparent transparent #ffd105 transparent;
    transform: rotate(-35deg);
}
.ornament {
    position: relative;
    background: radial-gradient(#ffffff, #ffff99, #ffcc33);
    width: 32px;
    height: 32px;
    border-radius: 100%;
    z-index: 1;
    overflow: hidden;
}
.ornament:before {
    position: absolute;
    content: '';
    width: 20px;
    height: 20px;
    top: 0px;
    left: 0px;
    background: #fff;
    border-radius: 100%;
}
.ornament:after {
    position: absolute;
    content: '';
    width: 42px;
    height: 42px;
    top: -20px;
    left: -10px;
    border: solid 5px #ffcc33;
    border-radius: 100%;
}
[class^="ornament-container"] {
    position: absolute;
    z-index: 7;
} 
.ornament-container1 {
    top: 155px;
    left: 120px;
}
.ornament-container2 {
    top: 210px;
    left: 270px;
}
.ornament-container3 {
    top: 300px;
    left: 100px;
}
.ornament-container4 {
    top: 110px;
    left: 250px;
}
.ornament-container5 {
    top: 320px;
    left: 310px;
}
.ornament-container6 {
    top: 250px;
    left: 190px;
}
[class^="light"] {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    transition-property: background;
    transition-duration: 1s;
    transition-timing-function: linear;
    animation: light 5s infinite;
    z-index: 6;
}
@keyframes light {
    0%   {background:transparent;}
    50%  {background:#ffffff;}
    100% {background:transparent;}
}
.xmas-lights {
    position: absolute;
    top:-50px;
    left: -15px;
    z-index: 6;
}
.light1 {
    top: 150px;
    left: 180px;
}
.light2 {
    top: 130px;
    left: 210px;
    animation-delay: 3s;
}
.light3 {
    top: 200px;
    left: 150px;
    animation-delay: 2s;
}
.light4 {
    top: 210px;
    left: 220px;
    animation-delay: 1s;
}
.light5 {
    top: 260px;
    left: 180px;
    animation-delay: 3s;
}
.light6 {
    top: 240px;
    left: 150px;
    animation-delay: 2s;
}
.light7 {
    top: 250px;
    left: 270px;
    animation-delay: 1s;
}
.light8 {
    top: 300px;
    left: 280px;
    animation-delay: 3s;
}
.light9 {
    top: 300px;
    left: 200px;
    animation-delay: 2s;
}
.light10 {
    top: 160px;
    left: 240px;
    animation-delay: 1s;
}
.light11 {
    top: 350px;
    left: 180px;
    animation-delay: 2s;
}
.light12 {
    top: 3150px;
    left: 210px;
    animation-delay: 3s;
}
.light13 {
    top: 370px;
    left: 120px;
    animation-delay: 2s;
}
.light14 {
    top: 290px;
    left: 220px;
    animation-delay: 1s;
}
.light15 {
    top: 320px;
    left: 150px;
    animation-delay: 3s;
}
.light16 {
    top: 370px;
    left: 200px;
    animation-delay: 2s;
}
.light17 {
    top: 290px;
    left: 220px;
    animation-delay: 1s;
}
.light18 {
    top: 320px;
    left: 260px;
    animation-delay: 3s;
}
.light19 {
    top: 370px;
    left: 300px;
    animation-delay: 3s;
}
.light20 {
    top: 350px;
    left: 250px;
    animation-delay: 3s;
}
+2

Поделиться

Tags

  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Что приходит после зимы ?

Редакторы выбирают

Web и Технологии