Inspired by PSDDude's 80s font collection this text effect is part of the SVG filters 80s font text effects list on http://www.coding-dude.com/wp/css/svg-filters/
A Pen by Ion Emil Negoita on CodePen.
Inspired by PSDDude's 80s font collection this text effect is part of the SVG filters 80s font text effects list on http://www.coding-dude.com/wp/css/svg-filters/
A Pen by Ion Emil Negoita on CodePen.
<div class="centered"><div class="hauser" data-text="HAUSER">HAUSER</div></div> | |
<svg> | |
<defs> | |
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="backGradientFill"> | |
<stop offset="0%" style="stop-color: #191c2b; stop-opacity: 100%;" /> | |
<stop offset="25%" style="stop-color: #191c2b; stop-opacity: 100%;" /> | |
<stop offset="48%" style="stop-color: #191c2b; stop-opacity: 100%;" /> | |
<stop offset="75%" style="stop-color: #949ec0; stop-opacity: 100%;" /> | |
<stop offset="80%" style="stop-color: #b0cefd; stop-opacity: 100%;" /> | |
<stop offset="100%" style="stop-color: white; stop-opacity: 0%;" /> | |
</linearGradient> | |
<linearGradient x1="50%" y1="100%" x2="50%" y2="-10%" id="frontGradientFill"> | |
<stop offset="0%" style="stop-color: white; stop-opacity: 100%;" /> | |
<stop offset="5%" style="stop-color: white; stop-opacity: 100%;" /> | |
<stop offset="17%" style="stop-color: #cfe1fd; stop-opacity: 100%;" /> | |
<stop offset="22%" style="stop-color: #949ec0; stop-opacity: 100%;" /> | |
<stop offset="26%" style="stop-color: #191c2b; stop-opacity: 100%;" /> | |
<stop offset="28%" style="stop-color: #191c2b; stop-opacity: 100%;" /> | |
<stop offset="30%" style="stop-color: white; stop-opacity: 100%;" /> | |
<stop offset="40%" style="stop-color: white; stop-opacity: 100%;" /> | |
<stop offset="50%" style="stop-color: #191c2b; stop-opacity: 100%;" /> | |
</linearGradient> | |
<linearGradient x1="50%" y1="25%" x2="50%" y2="90%" id="strokeGradientFill"> | |
<stop offset="0%" style="stop-color: white; stop-opacity: 100%;" /> | |
<stop offset="25%" style="stop-color: white; stop-opacity: 100%;" /> | |
<stop offset="35%" style="stop-color: #8ae7ee; stop-opacity: 100%;" /> | |
<stop offset="59%" style="stop-color: #485790; stop-opacity: 100%;" /> | |
<stop offset="80%" style="stop-color: #8ae7ee; stop-opacity: 100%;" /> | |
<stop offset="100%" style="stop-color: white; stop-opacity: 0%;" /> | |
</linearGradient> | |
<rect id="gradient1" x="0%" y="10%" width="100%" height="55%" style="fill: url(#backGradientFill);" /> | |
<rect id="gradient2" x="0%" y="0" width="100%" height="100%" style="fill: url(#frontGradientFill);" /> | |
<rect id="gradient3" x="0%" y="0" width="100%" height="100%" style="fill: url(#strokeGradientFill);" /> | |
<filter id="backGradient"> | |
<feImage xlink:href="#gradient1" result="grad"/> | |
<feComposite operator="atop" in2="SourceGraphic" in="thickened" result="stroke"/> | |
<feMerge> | |
<feMergeNode in="sourceGraphic"></feMergeNode> | |
<feMergeNode in="stroke"></feMergeNode> | |
</feMerge> | |
</filter> | |
<filter id="frontGradient"> | |
<feImage xlink:href="#gradient2" result="grad"/> | |
<feTurbulence type="fractalNoise" baseFrequency="0.07" | |
numOctaves="1" result="turbulence"/> | |
<feDisplacementMap in2="turbulence" in="grad" | |
scale="10" /> | |
<feComposite operator="in" in2="SourceGraphic" in="thickened" result="stroke"/> | |
</filter> | |
<filter id="stroke"> | |
<!-- <feFlood flood-color="#dadde5" result="strokeColor" /> --> <feImage xlink:href="#gradient3" result="strokeColor"/> | |
<feMorphology operator="dilate" radius="1" | |
in="SourceGraphic" result="outside" /> | |
<feMorphology operator="dilate" radius="2" | |
in="outside" result="thickened" /> | |
<feComposite operator="out" in2="SourceGraphic" in="thickened" result="stroke"/> | |
<feComposite operator="in" in="strokeColor" in2="stroke" result="stroke"/> | |
<feMerge> | |
<feMergeNode in="SourceGraphic"></feMergeNode> | |
<feMergeNode in="stroke"></feMergeNode> | |
</feMerge> | |
</filter> | |
<filter id="innerGlow" > | |
<feFlood flood-color="#c45cff"/> | |
<feComposite in2="SourceGraphic" operator="out"/> | |
<feGaussianBlur stdDeviation="5" result="blur"/> | |
<feComposite operator="atop" in2="SourceGraphic" result="glow"/> | |
<feBlend in="SourceGraphic" in2="glow" mode="screen"></feBlend> | |
</filter> | |
<filter id="outerGlow" > | |
<!-- Thicken out the original shape --> | |
<feMorphology operator="dilate" radius="10" in="SourceAlpha" result="thicken" /> | |
<!-- Use a gaussian blur to create the soft blurriness of the glow --> | |
<feGaussianBlur in="thicken" stdDeviation="20" result="blurred" /> | |
<!-- Change the colour --> | |
<feFlood flood-color="#395086" result="glowColor" /> | |
<!-- Color in the glows --> | |
<feComposite in="glowColor" in2="blurred" operator="in" result="softGlow_colored" /> | |
<!-- Layer the effects together --> | |
<feMerge> | |
<feMergeNode in="softGlow_colored"/> | |
<feMergeNode in="SourceGraphic"/> | |
</feMerge> | |
</filter> | |
<filter id="noise" x="0vw" y="0vh" width="100vw" height="100vh"> | |
<feFlood flood-color="#808080" result="neutral-gray" /> | |
<feTurbulence in="neutral-gray" type="fractalNoise" baseFrequency="0.8" numOctaves="10" stitchTiles="stitch" result="noise"/> | |
<feColorMatrix in="noise" type="saturate" values="0" result="destaturatedNoise"></feColorMatrix> | |
<feComponentTransfer in="desaturatedNoise" result="theNoise"> | |
<feFuncA type="table" tableValues="0 0 0.2 0"></feFuncA> | |
</feComponentTransfer> | |
<feBlend in="SourceGraphic" in2="theNoise" mode="soft-light" result="noisy-image"/> | |
</filter> | |
</defs> | |
</svg> |
:root{ | |
background:black; | |
filter:url(#noise) contrast(110%); | |
} | |
.centered{ | |
position:absolute; | |
left:50vw; | |
top:50vh; | |
transform:translateX(-50%) translateY(-50%); | |
text-align:center; | |
} | |
.hauser{ | |
color:white; | |
font-family:'Hauser'; | |
font-size:40vh; | |
padding:0 1em; | |
filter:url(#outerGlow); | |
} | |
.hauser:after{ | |
content:attr(data-text); | |
position:absolute; | |
left:0; | |
padding:0 1em; | |
filter: url(#frontGradient) url(#backGradient) url(#innerGlow) url(#stroke); | |
} | |
<link href="https://www.coding-dude.com/fonts/hauser-styles.css" rel="stylesheet" /> |
please note that depending on browser support some effects work more or less accurate. the effects should work find on chrome latest version
I made a modification to the codepen (frontGradientFill) and it should look good now
don't work first gradient