JSFiddle - React, Tailwind, and code Playground

by emn178

HTML

<h1 id="logo">
    <span class="words">
        <span>w</span>
        <span>o</span>
        <span>r</span>
        <span>d</span>
        <span>&nbsp;</span>
        <span>a</span>
        <span>r</span>
        <span>r</span>
        <span>a</span>
        <span>n</span>
        <span>g</span>
        <span>e</span>
        <span>m</span>
        <span>e</span>
        <span>n</span>
        <span>t</span>
    </span>
</h1>

CSS

h1#logo {
	font-family:Arial, Helvetica, sans-serif;
	font-weight: bold;
	text-transform: uppercase;
	font-size:1.8em;
	display:block;
    text-align: center;
}

JavaScript

var maxSpacing = 30;
    var screenWidth;

    function mousemove(e)
    {
        var x = e.pageX;
        var elements = $('.words').children();
        var part = screenWidth / elements.length;
        elements.each(function(i) {
            var margin = Math.abs((part * i - x) / screenWidth * maxSpacing) / 2;
            $(this).css('margin-left', margin);
            $(this).css('margin-right', margin);
        });
    }

    function resize()
    {
        screenWidth = $(document).width();
    }

    $(window).on('mousemove', mousemove);
    $(window).on('resize', resize);

    $(document).ready(function() {
        resize();
    });