Creates a squiggle html element effect when hovering over a link. Sourced under a permissive license.

How to change a HTML element height transition – A HTML and CSS code snippet

<p>The <a class="squiggle" href="#">magnificent octopus</a> swam along gracefully.</p>

a.squiggle {
  background: linear-gradient(to bottom, #0087ca 0%, #0087ca 100%);
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-size: 2px 2px;
  color: inherit;
  text-decoration: none;

a.squiggle:hover {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='' viewBox='0 0 20 4'%3E%3Cstyle type='text/css'%3E.squiggle{animation:shift .3s linear infinite;}@keyframes shift {from {transform:translateX(0);}to {transform:translateX(-15px);}}%3C/style%3E%3Cpath fill='none' stroke='%230087ca' stroke-width='2' class='squiggle' d='M0,3.5 c 5,0,5,-3,10,-3 s 5,3,10,3 c 5,0,5,-3,10,-3 s 5,3,10,3'/%3E%3C/svg%3E");
  background-size: auto 4px;

Tags: CSS, HTML, CSS, CSS code snippet, html code snippet, html element effect, html hover, squiggle, css animation, css

Image: Unsplash license

CC BY 4.0 added intro and tags – 30 Seconds of Code