Bitte stellt sicher, dass die Option "Animation on Scroll" in den globalen Style-Einstellungen am Pinsel 🖌️ von Mobirise deaktiviert ist.
Hier zeige ich als Beispiel im Kopf der Seite einige animierte Elemente, die mit einfachen CSS-Klassen vordefiniert sind. Natürlich sollte man mit solchen Animationen immer sehr bedacht und sparsam umgehen. Oben habe ich nur vier unterschiedliche Animationen beispielhaft angewendet, sowie noch weitere im Popup-Fenster.
Hierzu ladet Euch die Datei animate.css, die hier hier downloaden könnt: https://animate.style/
Zunächst benötigt ihr die CSS-Datei, die ihr entweder im Bereich "Inside <head> code" der Seiteneinstellungen verlinkt:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />
oder direkt downloadet, wie ich es hier getan habe. Klicke hier zum Download meiner Datei und dann eben einen internen Link zu der Datei im Bereich "Inside <head> code" setzt, die ich hier in ein neu erstelltes Verzeichnis "animate-css" kopiert habe:
<link rel="stylesheet" href="animate-css/animate.css">
Nun fügt ihr die jeweilige Class von der Seite https://animate.style/ dem zu animierenden Element einfach hinzu.
Ihr habt die Möglichkeit, aus nahezu 100 verschiedenen Animationen auszuwählen. Die verschiedenen CSS-Klassen findet ihr auf der Webseite von animate.style. Um die jeweilige Klasse zu kopieren, bewegt einfach die Maus über das kleine quadratische Symbol
Die Verwendung an z.B. einem <h1> Tag würde dann so aussehen:
<h1 class="animate__animated animate__bounce">Animierter Text</h1>
Dabei muss die erste class="animate__animated" immer eingesetzt werden und die zweite Class, hier im Beispiel class="animate__bounce" immer den Prefix "animate__" tragen. Es ändert sich also jeweils nur der Name der Animation am Ende.
Es gibt auch noch zusätzliche Klassen, die z.B. eine Verzögerung des Ladens bewirken. Es is möglich eine Verzögerung von 1 bis 5 Sekunden zu bestimmen und auch jeweils die Hälfte, also z.B. 0.5s oder 2.5s. Den Buttons habe ich also eine Verzögerung von hier 1s gegeben:
class="animate__animated animate__backInUp animate__delay-1s"
Bitte besuche die Seite des Autors, um weitere Optionen für langsame, schnelle oder wiederholte Animationen zu entdecken.
Hier geht es zu einer Animation beim Scrollen der Seite.
Viel Erfolg.
Hier die CSS der oben animierten Buttons, die ich hier gefunden habe: CSS Button Animations
Kopiert diese CSS-Klassen in den Bereich "CSS Editor" vom Code Editor und gebt dem <a> Tag zusätzlich den Class-Namen eurer Wahl. Ich habe den Code für meine Seiten minimal modifiziert, basierend auf dem jeweiligen Original.
Hier die class="button" von den ersten beiden Buttons:
.button {
transition: all .3s;
position: relative;
overflow: hidden;
z-index: 1;
&:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -2;
}
&:before {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0%;
height: 100%;
background-color: darken(#00ccff, 15%);
transition: all .3s;
border-radius: 10rem;
z-index: -1;
}
&:hover {
color: #fff;
&:before {
width: 100%;
}
}
}
Hier die class="glow-on-hover" vom 3. Button:
.glow-on-hover {
height: 52px;
border: none;
outline: none;
color: #fff;
background: #111;
cursor: pointer;
position: relative;
z-index: 0;
border-radius: 10rem;
}
.glow-on-hover:before {
content: '';
background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
position: absolute;
top: -2px;
left: -2px;
background-size: 400%;
z-index: -1;
filter: blur(5px);
width: calc(100% + 4px);
height: calc(100% + 4px);
animation: glowing 20s linear infinite;
opacity: 0;
transition: opacity 0.3s ease-in-out;
border-radius: 10rem;
}
.glow-on-hover:active {
color: #000000;
}
.glow-on-hover:active:after {
background: transparent;
}
.glow-on-hover:hover:before {
opacity: 1;
}
.glow-on-hover:after {
z-index: -1;
content: '';
position: absolute;
width: 100%;
height: 100%;
background: #111;
left: 0;
top: 0;
border-radius: 10rem;
}
@keyframes glowing {
0% {
background-position: 0 0;
}
50% {
background-position: 400% 0;
}
100% {
background-position: 0 0;
}
}
Hier die class="btn-flip" vom ersten drehenden Button in der zweiten Reihe:
.btn-flip {
opacity: 1;
outline: 0;
color: #fff;
line-height: 40px;
height: 40px;
position: relative;
text-align: center;
display: inline-block;
text-decoration: none;
font-weight: bold;
margin-left: 12px;
&:hover {
&:after {
opacity: 1;
transform: translateY(0) rotateX(0);
}
&:before {
opacity: 0;
transform: translateY(50%) rotateX(90deg);
}
}
&:after {
top: 0;
left: 0;
opacity: 0;
width: 100%;
color: #fff;
display: block;
padding: 7px 20px;
border-radius: 10px;
transition: 0.5s;
position: absolute;
background: #ff6666;
content: attr(data-back);
transform: translateY(-50%) rotateX(90deg);
}
&:before {
top: 0;
left: 0;
opacity: 1;
color: #fff;
display: block;
padding: 7px 20px;
border-radius: 30px;
line-height: 40px;
transition: 0.5s;
position: relative;
background: #6592e6;
content: attr(data-front);
transform: translateY(0) rotateX(0);
}
}
Der erste drehende Button mit der class="btn-flip" benötigt ein eigenes <a> Tag. Tauscht entsprechend das vorhandene <a> Tag mit diesem hier. Setzt anstelle des Raute-Zeichens # die gewünschte URL und eure Texte ein:
<a href="#" class="btn-flip" data-back="Nach unten ⇩" data-front="Animierte Solide Linie"></a>
Für den zweiten drehenden Button wollte ich unterschiedliche Farben und einen animierten Hintergrund gestalten. Daher habe ich die class"btn-flip2-color" zusätzlich erstellt und die entsprechende CSS unterhalb der des ersten drehenden Buttons eingefügt:
.btn-flip2-color:before {
background: #1c5ac9;
}
@keyframes animateGradient {
0% {
background-position: 0% 50%;
}
100% {
background-position: 100% 50%;
}
}
.btn-flip2-color:after {
background: linear-gradient(to right, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
background-size: 300% 300%;
}
.btn-flip2-color:hover:after {
animation: animateGradient 2s ease forwards;
}
/* Abstand zwischen den Schaltflächen am Smartphone, falls sie aufgrund der Länge umbrechen */
@media (max-width: 500px) {
.btn-flip2-color {
margin-top: 40px;
}
}
Schreibt diese zusätzliche Class noch zu der Eltern-Klasse class="btn-flip" hinzu. Auch dieser zweite drehende Button, mit der zusätzlichen class="btn-flip2-color", benötigt ein eigenes <a> Tag. Tauscht entsprechend das vorhandene <a> Tag mit diesem hier. Setzt anstelle des Raute-Zeichens # die gewünschte URL und eure Texte ein:
<a href="#" class="btn-flip btn-flip2-color" data-back="Nach unten ⇩" data-front="Animierte Glow Linie"></a>
Hier die CSS der oben animierten Linie zwischen den Buttons ohne den "Bullet" Punkt.
Kopiert diese CSS in den Bereich "CSS Editor" vom Code Editor.
Hier mit der id="lineh1" und den Keyframes (Schlüsselbild) Anweisungen. Die Größe (height) und Farbe der Linie könnt ihr natürlich individuell anpassen:
#lineh1 {
position: relative;
margin-bottom: 28px;
left: 0;
height: 2px;
background: #721ac9 /* Farbe Linie anpassen */
/* 8s = 8 Sekunden Dauer, 2s = Start nach 2 Sekunden, infinite = unendlich, linear = konstante Geschwindigkeit */
animation: lineH 8s 2s infinite linear;
}
@keyframes lineH {
0% {
width: 0%;
opacity: 1;
}
80% {
width: 100%;
opacity: 1;
}
100% {
width: 100%;
opacity: 0;
}
}
Um diese Linie anzuzeigen, fügt ihr einen <div> Container im Bereich "HTML Editor" vom Code-Editor ein, je nachdem, wo sie angezeigt werden soll. Ich habe das direkt unter dem schließenden </mbr-parameters> Tag des Blocks eingefügt, sodass es keine CSS-Anweisungen von Mobirise erhält.
<div id="lineh1"></div>
Hier die CSS der oben animierten Linie zwischen den Buttons mit dem "Bullet" Punkt.
Kopiert diese CSS in den Bereich "CSS Editor" vom Code Editor.
Hier mit einer class="line-wrapper" und der id="lineh1" sowie den Keyframes (Schlüsselbild) Anweisungen. Die Größe und Farbe der Linie und vom Bullet könnt ihr natürlich individuell anpassen:
.line-wrapper {
position: relative;
height: 2px;
margin-bottom: 24px;
}
#lineh1 {
position: absolute;
top: 0;
left: 0;
height: 2px;
width: 0%;
background: #721ac9 /* Farbe Linie anpassen */
/* 8s = 8 Sekunden Dauer, 2s = Start nach 2 Sekunden, infinite = unendlich, linear = konstante Geschwindigkeit */
animation: lineH 8s 2s infinite linear;
}
.bullet {
position: absolute;
top: -5px; /* Bullet zentriert auf der Linie (bei 10px Durchmesser) */
left: 0;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #ff6666; /* Farbe Bullet anpassen */
animation: bulletMove 8s 2s infinite linear;
}
@keyframes lineH {
0% {
width: 0%;
opacity: 1;
}
80% {
width: 100%;
opacity: 1;
}
100% {
width: 100%;
opacity: 0;
}
}
@keyframes bulletMove {
0% {
left: 0%;
opacity: 1;
}
80% {
left: 100%;
opacity: 1;
}
100% {
left: 100%;
opacity: 0;
}
}
Um die Linie mit dem Bullet anzuzeigen, fügt ihr diesen <div> Container mit der class="line-wrapper" im Bereich "HTML Editor" vom Code-Editor ein, je nachdem, wo das angezeigt werden soll. Ich habe das direkt unter dem schließenden </mbr-parameters> Tag des Blocks eingefügt, sodass es keine CSS-Anweisungen von Mobirise erhält.
<div class="line-wrapper">
<div id="lineh1"></div>
<div class="bullet"></div>
</div>
Hier die CSS der farbigen Linie mit "Bullet" Punkt und Glow Effekt sowie Stoppen bei Mausüber.
Kopiere diesen CSS-Code in den Bereich "CSS-Editor" des Code-Editors. Hier nur mit CSS-Klassen, ohne eine ID, damit mehrere animierte Linien nebeneinander oder untereinander verwendet werden können, wie hier beispielhaft die Linie mit dem ❤️, deren CSS hier nicht dargestellt ist.
Hier ist das CSS für die obere Linie in dem grauen Bereich mit einer class="line-wrapper" und der class="line-glow" sowie den Keyframes (Schlüsselbild) Anweisungen:
/* Anzeige im Container */
.line-wrapper {
position: relative;
height: 20px; /* Hover Bereich zum Stoppen */
width: 100%;
}
/* Linie mit animierter Breite und fixem Farbverlauf */
.line-glow {
position: absolute;
top: 50%; /* vertikal zentrieren */
transform: translateY(-50%); /* vertikal zentrieren */
left: 0;
height: 2px;
width: 0%;
background: linear-gradient(
to right,
#ff0000,
#ff7300,
#fffb00,
#48ff00,
#00ffd5,
#002bff,
#7a00ff,
#ff00c8,
#ff0000
);
background-size: 100% 100%;
background-repeat: no-repeat;
/* 8s = 8 Sekunden Dauer, 2s = Start nach 2 Sekunden, infinite = unendlich, linear = konstante Geschwindigkeit */
animation: lineHGlow 8s 2s infinite linear;
box-shadow: 0 0 8px #ff00c8;
opacity: 1;
}
/* Bullet bleibt einfarbig, passt aber farblich zum Verlauf */
.bullet-glow {
position: absolute;
top: 50%; /* vertikal zentrieren */
transform: translateY(-50%); /* vertikal zentrieren */
left: 0;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #ff00c8;
/* 8s = 8 Sekunden Dauer, 2s = Start nach 2 Sekunden, infinite = unendlich, linear = konstante Geschwindigkeit */
animation: bulletMoveGlow 8s 2s infinite linear;
box-shadow: 0 0 12px #ff00c8;
}
/* Pausiert die Animation bei Hover auf dem Wrapper */
.line-hover:hover .line-glow,
.line-hover:hover .bullet-glow {
animation-play-state: paused;
}
/* Hover-Verhalten Maus */
.line-hover:hover {
cursor: wait;
}
/* Hinweistext unter der Linie */
.pause-label {
position: absolute;
left: 50%; /* horizontal zentrieren */
transform: translateX(-50%); /* horizontal zentrieren */
top: 40px; /* Abstand zur Linie */
font-size: 0.85rem;
color: #888;
opacity: 0;
transition: opacity 0.3s ease;
pointer-events: none;
}
.line-hover:hover .pause-label {
opacity: 1;
}
/* Linie wächst */
@keyframes lineHGlow {
0% {
width: 0%;
opacity: 1;
box-shadow: 0 0 8px #ff00c8;
}
80% {
width: 100%;
opacity: 1;
box-shadow: 0 0 8px #ff00c8;
}
100% {
width: 100%;
opacity: 0;
box-shadow: 0 0 0px transparent;
}
}
/* Bullet bewegt sich mit */
@keyframes bulletMoveGlow {
0% {
left: 0%;
opacity: 1;
box-shadow: 0 0 12px #ff00c8;
}
80% {
left: 100%;
opacity: 1;
box-shadow: 0 0 12px #ff00c8;
}
100% {
left: 100%;
opacity: 0;
box-shadow: 0 0 0px transparent;
}
}
Um die Linie mit dem Bullet anzuzeigen und den Hinweis "Animation pausiert" einzufügen, fügt ihr diesen <div> Container mit der class="line-wrapper" sowie der class="line-hover" zum Stoppen bei Mausüber im Bereich "HTML Editor" vom Code-Editor ein, je nachdem, wo das angezeigt werden soll. Ich habe das direkt vor dem schließenden </section> Tag des Blocks eingefügt, sodass es keine CSS-Anweisungen von Mobirise erhält.
<div class="line-wrapper line-hover">
<div class="line-glow"></div>
<div class="bullet-glow"></div>
<div class="pause-label">⏸ Animation pausiert</div>
</div>