Heim Web-Frontend CSS-Tutorial Einführung in Floating Labels in CSS (mit Groß-/Kleinschreibung)

Einführung in Floating Labels in CSS (mit Groß-/Kleinschreibung)

Oct 15, 2018 am 11:33 AM
css css3动画 html5

Dieser Artikel bietet Ihnen eine Einführung in Floating Labels in CSS (mit Beispielen). Ich hoffe, dass er Ihnen als Referenz dienen wird.

Im Webprojekt gibt es ein sehr wichtiges Modul, das Anmelde-/Registrierungsmodul. Der Hauptteil dieses Moduls ist ein Formular. Dieses Formular enthält jeweils zwei wichtige Eingabegruppen Die Eingabegruppe enthält Beschriftung und Eingabe, und es gibt verschiedene Layoutpläne für Beschriftung und Eingabe. Verschiedene Designer haben unterschiedliche Designstile und unterschiedliche Front-End-Ingenieure haben unterschiedliche Implementierungsmethoden. Durch einen Vergleich haben wir herausgefunden, dass die aktuelle Lösung sowohl auf Ästhetik als auch auf Leistung ausgerichtet ist.

Also, was sind die Layoutpläne für Etikett und Eingabe?

Der Layoutplan für Etikett+Eingabe

  1. wird Beschriftung und Eingabe (Palcholder-Schlüsselwort-Eingabeaufforderung) sind in obere und untere Teile unterteilt. // Vor langer Zeit verwendet, verwenden Sie jetzt gelegentlich

  2. , um Beschriftung und Eingabe (Palcholder-Schlüsselwort-Eingabeaufforderung) zu unterteilen linker und rechter Teil (das Etikett nimmt eine bestimmte Breite ein und die Schriftart im Etikett verwendet drei gängige Lösungen: linksbündig, rechtsbündig und an beiden Enden ausgerichtet); // Fall: Weibo-Anmeldung, JD-WAP-Anmeldeseite usw.

  3. Die Beschriftung und die Eingabe (Palcholder-Schlüsselwort-Eingabeaufforderung) sind weiterhin in einen linken und einen rechten Teil unterteilt. Der Unterschied besteht darin, dass die Schriftart in der Beschriftung durch ein Symbol ersetzt wird. Fall: Segmentfehler-Community-Anmeldeseite usw.

  4. Enthält nur Eingaben (Palcholder-Schlüsselworthinweis); // Fälle: Mobile Taobao-Anmeldeseite, Nuggets-Entwicklungs-Community-Anmeldeseite usw.

  5. Zeigt nur die Eingabe an (Palcholder-Schlüsselwort-Eingabeaufforderung), und die Beschriftung wird schwebend und ausgeblendet. Wenn das Fokusereignis der Eingabe ausgelöst wird, wird die Beschriftung angezeigt. // Fall: die vorherige Anmeldeseite von mobilem Taobao oder siehe JVFloatLabeledTextField usw.

Jede dieser Lösungen hat ihre eigenen Vor- und Nachteile. Die Verwendung und Ersetzung der Etikettenschriftart Ein Symbol ist lebendiger, aber die Anzahl der Schriftarten im Etikett ist inkonsistent und die Anzahl der Wörter ist gleich. Diese Lösung kann nur als zufriedenstellend bezeichnet werden kann die Benutzeroberfläche einfach und schön machen, aber das Etikett hat die Funktion eines Etiketts (wird weiter unten im Detail besprochen), die Verwendung eines schwebenden Etiketts erhöht den Animationseffekt, erfordert jedoch die Einführung von js. Die Leistung dieser Lösung ist offensichtlich höher als die Nichtverwendung von js (es gibt eine Lösung, die js nicht verwendet, aber die Kompatibilität ist nicht sehr gut).

Label vs. Platzhalter

Label: Beschreibt die Rolle des Formularelements, das zur Angabe der Eingabe verwendet wird, ist der eindeutige Feldname

Platzhalter: Es fordert den Benutzer auf, das Format des Inhalts einzugeben

Die beiden scheinen ähnlich zu sein, aber ihre Verantwortlichkeiten sind unterschiedlich. Viele Schüler haben hier große Fehler gemacht.

Wenn Sie mehr darüber erfahren möchten, wenden Sie sich bitte an MDN.

Animierte Beschriftung (no-js)

Seite für Benutzerinteraktion Gleichzeitig ist es durch die Benutzerinteraktion mit Animationen oft einfacher, Benutzer zu beeindrucken. Im Folgenden wird ein Floating-Label vorgestellt, das mithilfe von Pseudoklassen implementiert wird.

HTML-Code:

<div class="input-group">
    <input type="text" id="userName" placeholder="用户名/邮箱/卡号">
    <label for="userName">账号</label>
</div>
Nach dem Login kopieren

CSS-Code für das Basislayout:

.input-group {
    position: relative;
    margin: 100px 20px;
    font-size: 16px;
}

.input-group>input {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 16px;
    font-size: 16px;
    line-height: 1.0;
    border: none;
    border-bottom: 1px solid #cdcdcd;
    border-radius: 0.4em;

    transition: box-shadow 0.3s;
}

.input-group input::placeholder {
  color: #cdcdcd;
}

.input-group>input:focus {
    outline: none;
    box-shadow: 0.2em 0.8em 1.6em #cdcdcd;
}

.input-group>label {
    position: absolute;
    bottom: 50%;
    left: 0;
    z-index: -1;
    
    visibility: hidden;
    color: #050505;
    opacity: 0;
}
Nach dem Login kopieren

Legen Sie zunächst die Position der Beschriftung fest (Position: absolut) und definieren Sie ihre Ebene (Z-Index: -1), Sichtbarkeit: ausgeblendet, Transparenz (Deckkraft: 0);

Dann wird der Platzhalterstil der Eingabe festgelegt und das Pseudoelement::placeholder kann verwendet werden, um seinen Stil festzulegen;

Abschließend wird ein Übergangsanimationseffekt festgelegt, wenn die Beschriftung des Eingabeelements den Fokus erhält. Die Pseudoklasse: focus wird verwendet, um den Schattenstil (Box-Shadow) und den Umrissstil (Outline) zu definieren, wenn die Beschriftung des Eingabeelements den Fokus erhält .

Stil des schwebenden Beschriftungseffekts

 .input-group>label {
      ...

      -webkit-transform-origin: 0 0;
              transform-origin: 0 0;
      -webkit-transform: translate3d(0, 0, 0) scale(0);
              transform: translate3d(0, 0, 0) scale(0);
      -webkit-transition:
          opacity 0.3s,
          visibility 0.3s,
          transform 0.3s,
          z-index 0.3s;
          
              transition:
                  opacity 0.3s,
                  visibility 0.3s,
                  transform 0.3s,
                  z-index 0.3s;
 }

.input-group>input:focus ~ label {
    z-index: 1;
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate3d(0, -36px, 0) scale(1);
        transform: translate3d(0, -36px, 0) scale(1);
}
Nach dem Login kopieren

Fügen Sie in der Sammlung, die den Beschriftungsstil definiert, seinen anfänglichen Transformationsverformungseffekt hinzu, legen Sie den Übergangseffektstil fest und definieren Sie dann, wann die Eingabe den Fokus erhält Verwenden Sie einfach den Stil der Beschriftung des Geschwisterelements.

Der Effekt dieses schwebenden Etiketts unterscheidet sich von dem von JVFloatLabeledTextField. Ersteres erhält den Fokus und das Etikett beginnt sofort zu schweben, während letzteres der Fall ist, wenn der Benutzer Inhalte eingibt (d. h. wenn der Platzhalter verschwindet). , das Etikett beginnt zu schweben.

Damit beide den gleichen Effekt haben, können wir die Funktion verwenden, dass Pseudoklassen verschachtelt werden können, und das Label .input-group>input:focus ~ in .input-group>input:focus:not( ändern. :placeholder -shown) ~ label, hier: placeholder-shown kann den sichtbaren und versteckten Effekt des Platzhalters definieren, aber seine Kompatibilität ist nicht sehr gut, dh/edge unterstützt es überhaupt nicht, Chrome, Safari und Firefox können es. Fall: Demo

Das obige ist der detaillierte Inhalt vonEinführung in Floating Labels in CSS (mit Groß-/Kleinschreibung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Apr 08, 2025 pm 07:05 PM

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

HTML, CSS und JavaScript verstehen: Ein Anfängerhandbuch HTML, CSS und JavaScript verstehen: Ein Anfängerhandbuch Apr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

So schreiben Sie geteilte Zeilen auf Bootstrap So schreiben Sie geteilte Zeilen auf Bootstrap Apr 07, 2025 pm 03:12 PM

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

So richten Sie das Framework für Bootstrap ein So richten Sie das Framework für Bootstrap ein Apr 07, 2025 pm 03:27 PM

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

Worauf bezieht sich H5? Erforschen des Kontextes Worauf bezieht sich H5? Erforschen des Kontextes Apr 12, 2025 am 12:03 AM

H5REFERSTOHTML5, ApivotaltechnologyInwebdevelopment.1) HTML5IntroducesNewelementsandapisrich, Dynamicwebapplications.2) ITSUPP ortsmultimediaWitHoutPlugins, BETHINGINGUSEREXPERICERCROSSDEVICES.3) SEMANTICELEMENTSIMPROVEPENTENTENTENTRUCTENTRUCTELUREANDSEO.4) H5'SRespo

So fügen Sie Bilder auf Bootstrap ein So fügen Sie Bilder auf Bootstrap ein Apr 07, 2025 pm 03:30 PM

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

So verwenden Sie die Bootstrap -Taste So verwenden Sie die Bootstrap -Taste Apr 07, 2025 pm 03:09 PM

Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

See all articles