Heim > Web-Frontend > CSS-Tutorial > Wie kann ich die Inkrementpfeile einer Eingabe vom Typ Zahl mithilfe von CSS anpassen?

Wie kann ich die Inkrementpfeile einer Eingabe vom Typ Zahl mithilfe von CSS anpassen?

DDD
Freigeben: 2024-11-09 21:47:02
Original
309 Leute haben es durchsucht

How can I customize the increment arrows of an input of type number using CSS?

Inkrementpfeile bei der Eingabe von Typnummern mithilfe von CSS anpassen

In diesem Szenario möchten Sie eine Eingabe vom Typ Nummer in eine optisch ansprechendere Komponente mit angepasster Anpassung umwandeln Inkrementpfeile. Das gegebene Beispiel verwendet CSS-Techniken und einen cleveren Ansatz, um den gewünschten Effekt zu erzielen.

Lösung:

Der erste Schritt besteht darin, die Standard-Inkrementpfeile mithilfe von CSS auszublenden:

.form-control[type="number"]::-webkit-inner-spin-button,
.form-control[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
Nach dem Login kopieren

Dadurch werden die Pfeile ausgeblendet, sodass Sie Ihr eigenes benutzerdefiniertes Design erstellen können.

Als nächstes erstellen Sie zwei separate Schaltflächen für die Inkrementierungs- und Dekrementierungsfunktionen:

<button class="btn btn-plus">+</button>
<button class="btn btn-minus">-</button>
Nach dem Login kopieren

Position Diese Schaltflächen auf beiden Seiten des Eingabefelds mithilfe einer Eingabegruppe:

<div class="input-group inline-group">
  <div class="input-group-prepend"><button class="btn btn-outline-secondary btn-minus">-</button></div>
  <input class="form-control quantity" min="0" name="quantity" value="1" type="number">
  <div class="input-group-append"><button class="btn btn-outline-secondary btn-plus">+</button></div>
</div>
Nach dem Login kopieren

Fügen Sie abschließend JavaScript hinzu, um die Inkrementierungs- und Dekrementierungsvorgänge zu verarbeiten, wenn auf die Schaltflächen geklickt wird:

$('.btn-plus, .btn-minus').on('click', function(e) {
  const isNegative = $(e.target).closest('.btn-minus').is('.btn-minus');
  const input = $(e.target).closest('.input-group').find('input');
  if (input.is('input')) {
    input[0][isNegative ? 'stepDown' : 'stepUp']()
  }
})
Nach dem Login kopieren

Dieser Ansatz kombiniert CSS, um die Standardpfeile auszublenden, benutzerdefinierte Schaltflächen, um die Inkrementierungs- und Dekrementierungsfunktion bereitzustellen, und JavaScript, um die Schaltflächenklicks zu verarbeiten und den Eingabewert entsprechend zu aktualisieren, sodass Sie die gewünschten benutzerdefinierten Inkrementierungspfeile für Ihre Eingabe vom Typ „Nummer“ erhalten.

Das obige ist der detaillierte Inhalt vonWie kann ich die Inkrementpfeile einer Eingabe vom Typ Zahl mithilfe von CSS anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage