Como criar um efeito de pulso usando -webkit-animation – outward rings

Eu encontrei este artigo:

http://www.zurb.com/article/221/css3-animation-will-rock-your-world em animações css3.


Eu estou tentando criar um efeito semelhante visto no site acima, mas no site pessoal em: www.imfrom.me

Onde eu tenho o estado do Maine, há a checkbox de ponta vermelha. Eu quero criar um anel de pulso pela seta indicando a localização.


ATUALIZADO COM CÓDIGO:

Eu vim com isto abaixo (tente aqui: http://jsfiddle.net/ftrJn/ ) como você pode dizer de perto, qualquer pensamento sobre como eu posso fazê-lo crescer a partir do centro:

.gps_ring { border: 3px solid #999; -webkit-border-radius: 30px; height: 18px; width: 18px; position: absolute; left:20px; top:214px; } .gps_ring{ -webkit-animation-name: pulsate; -webkit-animation-duration: 1s; -webkit-animation-timing-function: ease-in-out; -webkit-animation-iteration-count: infinite } @-webkit-keyframes pulsate { 0% { width:1px;height: 1px; opacity: 0.0} 10% { width:3px;height: 3px; opacity: .20} 20% { width:5px;height: 5px; opacity: .40 } 30% { width:7px;height: 7px; opacity: .60 } 40% { width:9px;height: 9px; opacity: .80 } 50% { width:11px;height: 11px; opacity: 1.0} 60% { width:13px;height: 13px; opacity: .80} 70% { width:15px;height: 15px; opacity: .60} 80% { width:17px;height: 17px; opacity: .40} 90% { width:19px;height: 19px; opacity: .20} 100% { width:21px;height: 21px; opacity: 0.0} } 

Pensamentos sobre isso acima?

Alguma idéia de como eu posso criar algo parecido como se os anéis se animassem e desaparecessem?

Você tem muitos keyframes desnecessários. Não pense em frameworks-chave como frameworks individuais, pense neles como “etapas” em sua animação e o computador preenche os frameworks entre os frameworks-chave.

Aqui está uma solução que limpa muito código e faz a animação começar do centro:

 .gps_ring { border: 3px solid #999; -webkit-border-radius: 30px; height: 18px; width: 18px; position: absolute; left:20px; top:214px; -webkit-animation: pulsate 1s ease-out; -webkit-animation-iteration-count: infinite; opacity: 0.0 } @-webkit-keyframes pulsate { 0% {-webkit-transform: scale(0.1, 0.1); opacity: 0.0;} 50% {opacity: 1.0;} 100% {-webkit-transform: scale(1.2, 1.2); opacity: 0.0;} } 

Você pode vê-lo em ação aqui: http://jsfiddle.net/Fy8vD/

Ou se você quiser um efeito de pulso de ondulação, você poderia usar isto:

http://jsfiddle.net/Fy8vD/3041/

 .gps_ring { border: 2px solid #fff; -webkit-border-radius: 50%; height: 18px; width: 18px; position: absolute; left:20px; top:214px; -webkit-animation: pulsate 1s ease-out; -webkit-animation-iteration-count: infinite; opacity: 0.0; } .gps_ring:before { content:""; display:block; border: 2px solid #fff; -webkit-border-radius: 50%; height: 30px; width: 30px; position: absolute; left:-8px; top:-8px; -webkit-animation: pulsate 1s ease-out; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: 0.1s; opacity: 0.0; } .gps_ring:after { content:""; display:block; border:2px solid #fff; -webkit-border-radius: 50%; height: 50px; width: 50px; position: absolute; left:-18px; top:-18px; -webkit-animation: pulsate 1s ease-out; -webkit-animation-iteration-count: infinite; -webkit-animation-delay: 0.2s; opacity: 0.0; } @-webkit-keyframes pulsate { 0% {-webkit-transform: scale(0.1, 0.1); opacity: 0.0;} 50% {opacity: 1.0;} 100% {-webkit-transform: scale(1.2, 1.2); opacity: 0.0;} }