H O K K A
Haber Yazılımında Kampanya İncele
21 Ocak 2015

CSS ile SVG Simgeleri Nasıl Canlandırırsınız

Svg ile tasarımlarınızı daha şık ve performanslı bir şekle getirebilirsiniz. css-ilesvg-simgeleri-nasil-canlandirirsinizSvg grafiksel öğeleri sıkıştırarak daha performanslı bir boyuta getirmektedir. Normalde grafiksel öğeler yüksek boyutlarda olduklarından dolayı site performansını olumsuz yönde etkileyebilirler. Bunun önüne geçmek içinde svg tercih edilebilir. Site performansının verimli bir şekilde olması büyük bir önem teşkil etmektedir. Bunun içinde bu ve bunun gibi faktörlerinde önemleri yadsınamayacak derecede büyük olmaktadır.
Bazı örnekler ;
.svg-rudolph .nose {
animation-name: glow;
animation-duration: 6s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
animation-direction: alternate;
}

@keyframes glow {
0% { fill: hsl(6, 93%, 16%); }
50% { fill: hsl(6, 93%, 56%); }
100% { fill: hsl(6, 93%, 56%); }
}
Bu kod yapısı ile sitenize saydam ışıklara sahip olabilecek bir animasyona sahip olabilirsiniz.
<g class=”group-snow” clip-path=”url(#globeClipPath)”>
<circle class=”snow”
cx=”49.498″
cy=”8.482″
r=”2.5″
/>
<circle class=”snow”
cx=”35.748″
y=”2.783″
r=”2.5″
/>
<circle class=”snow”
cx=”21.001″
cy=”4.728″
r=”2.5″
/>
<circle class=”snow”
cx=”28.25″
cy=”2.783″
r=”2.5″
/>
<circle class=”snow”
cx=”42.997″
cy=”4.728″
r=”2.5″
/>
<circle class=”snow”
cx=”14.502″
cy=”8.482″
r=”2.5″
/>
<circle class=”snow”
cx=”9.194″
cy=”13.793″
r=”2.5″
/>
<circle class=”snow”
cx=”54.806″
cy=”13.793″
r=”2.5″
/>
</g>
Kar Animasyonu
.svg-snowglobe .snow {
animation-name: snowfall;
animation-duration: 10s;
animation-iteration-count: infinite;
animation-timing-function: ease-in;
}

.svg-snowglobe .snow:nth-child(1) { animation-delay: 2s; }
.svg-snowglobe .snow:nth-child(2) { animation-delay: 4s; }
.svg-snowglobe .snow:nth-child(3) { animation-delay: 6s; }
.svg-snowglobe .snow:nth-child(4) { animation-delay: 8s; }
.svg-snowglobe .snow:nth-child(5) { animation-delay: 10s; }
.svg-snowglobe .snow:nth-child(6) { animation-delay: 12s; }
.svg-snowglobe .snow:nth-child(7) { animation-delay: 14s; }
.svg-snowglobe .snow:nth-child(8) { animation-delay: 16s; }
.svg-snowglobe .snow:nth-child(9) { animation-delay: 18s; }
.svg-snowglobe .snow:nth-child(10) { animation-delay: 20s; }
Yatay ve düşeş eksen yönlendirmeleri
.svg-message .text {
stroke-width: 1px;
stroke: hsl(6, 63%, 36%);
stroke-dasharray: 1865.753px 1865.753px;
stroke-dashoffset:  1865.753px ;
fill-opacity: 0;
fill: hsl(6, 63%, 36%);
animation-name: stroke, fill;
animation-duration: 1s;
animation-delay: 0, 1s;
animation-iteration-count: 1;
animation-timing-function: ease-in-out;
animation-fill-mode: forwards;
}

@keyframes fadeIn {
0% { fill-opacity: 0; }
100% { fill-opacity: 1; }
}

@keyframes drawStroke {
100% { stroke-dashoffset: 0 }
}
Bu kod yapısı ile metinleriniz daha şık ve hoş görünecektir.
.svg-bell .group-bell {
animation-name: bell-ring;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
animation-delay: -1.5s;
animation-direction: alternate;
transform-origin: 50%;
}

@keyframes bell-ring {
0% { transform: rotate(27deg); }
100% { transform: rotate(-27deg); }
}
Görüldüğü üzere Css bu konuda ki hakimiyeti hat safhada olmaktadır. Sadece css değil değil beraberinde svg öğeleri kullanmak ve bunların yanında javascript , parallax vb . gibi kütüphanelerin de kullanımı büyük oranda tasarımı olumlu yönde etkileyecektir. Daha şık daha canlı ve daha kaliteli tasarımlar için bu öğeler büyük oranda fayda sağlamaktadırlar. Web teknolojilerin her geçen gün daha da gelişmesi ile birlikte bu ve bunun gibi yapılar sürekli geliştirilmektedir.