Webseiten¶
Einleitung¶
Diese Seite soll Anregungen für mögliche Webseitenideen geben.
Animierter Text¶
Folgendes Beispiel verwendet CSS und HTML, um einen Text zu animieren.
Erläuterung
In einem div-Container wird ein weiterer als Wrapper eingesetzt, um über drei span Elemente die Animation vorzugeben, welche in CSS definiert wird.
HTML
<html> <head> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <!--<div class="navbar"><span>Neon Text Effekt</span></div>--> <div class="wrapper"> <div class="neon-wrapper"> <span class="txt">animation</span> <span class="gradient"></span> <span class="dodge"></span> </div> </div> </body> </html>
Über die unten stehenden Eigenschaften wird das Verhalten des Textvisualisierung gesteuert. Insbesondere .gradient und .dodge sind hier wichtig. Über @keyframes wird die Animation gesteuert.
CSS
.wrapper { height: 150px; display: flex; align-items: center; justify-content: center; background: #000000; } .neon-wrapper { display: inline-flex; filter: brightness(200%); overflow: hidden; } .txt { color: #ffffff; background: #000000; font-size: 80px; font-weight: bold; font-family: Arial; text-transform: uppercase; } .txt::before{ content: 'phlpps.de'; position: absolute; mix-blend-mode: difference; filter: blur(3px); } .gradient{ background: linear-gradient(85.98486251415875deg, rgb(56, 3, 13) 25.520833333333336%, rgb(56, 3, 13) 25.520833333333336%, rgb(1, 46, 11) 79.68749999999999%); position: absolute; top: 0; left: 0; width: 100%; height: 100%; mix-blend-mode: multiply; } .dodge{ background: radial-gradient(circle, white, black) center / 25% 25%; position: absolute; top: -100%; left: -100%; right: 0; bottom: 0; mix-blend-mode: color-dodge; animation: dodge-area 3s linear infinite; } @keyframes dodge-area { to{ transform: translate(50%, 50%); } }
Eingebundenes Video¶
Unter dem aufgeführten Link wird beispielhaft gezeigt, wie man mit HTML und CSS einen coolen Effekt erzielen kann, indem man bei einer transparenten Schrift im Hintergrund ein Video laufen lässt.
Neben der Videoquelle wird in der html Datei noch ein svg Element definiert.
Hinweis
Das Beispiel funktioniert nicht mit dem Firefox!
HTML
<head> ... <link rel="stylesheet" href="css/main.css"> </head> <body> <video autoplay playsinline muted loop preload> <source src="vid.mp4"> </video> <svg height="20%" width="100%"> <defs> <mask id="mask" x="0" y="0" height="100%" width="100%"> <rect x="0" y="0" height="100%" width="100%" /> <text x="50%" y="50%" fill="red" text-anchor="middle">phlpps.de</text> </mask> </defs> <rect x="0" y="0" height="100%" width="100%" /> </svg> </body>
CSS
body { height: 100vh; margin: 0; } svg { font-family: 'Montserrat'; font-size: 8em; font-weight: bold; text-transform: uppercase; transition: 1s font-size; position: absolute; top: 0; left: 0; height: 100%; } video { width: 100%; height: 100%; } svg rect { fill: white; mask: url(#mask); } svg > rect { fill: black; } @media screen and (max-width: 1200px){ svg{ font-size: 4em; } }