Das Kontaktformular-Modul des Divi-Themes zeigt die Namen der einzelnen Felder innerhalb des jeweiliegn Eingabefelds an. Nachteil: Beim ersten eingegebenen Zeichen verschwindet der Feldname. Das muss nicht sein – der Feldname lässt sich nämlich elegant verschieben. Ist gar nicht schwierig.
So wie nebenan zeigt sich das Kontaktformular im Divi-Theme von Haus aus:
Sobald ein Feld ausgefüllt wird, verschwindet dessen Beschriftung. Das möchten wir mit dem folgenden Hack ändern.
Zunächst müssen Sie allerdings dem gewünschten Formular eine CSS-Klasse zuweisen. Wir schlagen «floating-labels» vor. Fügen Sie diesen Begriff im Kontaktformular-Modul ein: Im Tab «Erweitert», dann unter «CSS-ID und Klassen» und dort ins Feld «CSS-Klasse».
Dann benötigen Sie noch das folgende Script. Fügen Sie es dem <head>-Bereich Ihrer Website hinzu – unter Divi/Theme-Optionen/Integration:
<script>
jQuery(document).ready(function ($) {
var $floatLabelInput = $(".floating-labels .input");
$floatLabelInput.on("focus", function (e) {
$(e.target).prev().addClass("active");
e.stopPropagation();
});
$floatLabelInput.on("blur", function (e) {
if (!$(e.target).val()) {
$(e.target).prev().removeClass("active");
} else {
$(e.target).prev().addClass("active");
}
});
});
</script>
Zu guter Letzt folgt noch ein Block CSS-Code – diesen kopieren Sie in das CSS-Stylesheet Ihrer Website. Sie finden es im Backend unter Design/Customizer/Zusätzliches CSS:
.floating-labels p {
position: relative !important;
}
.floating-labels .et_pb_contact_form_label {
display: block !important;
visibility: hidden;
opacity: 0;
position: absolute;
top: 1em;
padding: 0 1em;
transform: translateY(0%);
transform-origin: left;
color: #000000;
font-size: 1.2em;
-webkit-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
z-index: 0;
}
.floating-labels .et_pb_contact_form_label.active {
visibility: visible;
opacity: 0.6;
top:0;
transform: translateY(-100%) scale(0.9);
}
.et_pb_module.floating-labels form p .input::-webkit-input-placeholder {
-webkit-transition: all 0.4s;
transition: all 0.4s;
}
.et_pb_module.floating-labels form p .input::-moz-placeholder {
-moz-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.et_pb_module.floating-labels form p .input:-ms-input-placeholder {
-ms-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.et_pb_module.floating-labels form p .input:-moz-placeholder {
-moz-transition: all 0.4s ease-in-out;
transition: all 0.4s ease-in-out;
}
.et_pb_module.floating-labels form p .input::placeholder {
transition: all 0.4s ease-in-out;
}
.et_pb_module.floating-labels form p .input:focus::-webkit-input-placeholder {
color: transparent !important;
}
.et_pb_module.floating-labels form p .input:focus::-moz-placeholder {
color: transparent !important;
}
.et_pb_module.floating-labels form p .input:focus:-moz-placeholder {
color: transparent !important;
}
.et_pb_module.floating-labels form p .input:focus:-ms-input-placeholder {
color: transparent !important;
}
.et_pb_module.floating-labels form p .input:focus::placeholder {
color: transparent !important;
}
Voilà! Das Formular verhält sich nun wie nebenan gezeigt:
Probieren Sie es aus – füllen Sie ein oder mehrere Felder aus. Die Flednamen verschieben sich dabei jeweils nach oben.
Werbung