


So ändern Sie die Farbe des Optionsfelds mithilfe von CSS (Code im Anhang)
Der Inhalt dieses Artikels befasst sich mit der Implementierung der CSS-Methode zum Ändern der Farbe des Optionsfelds (mit Code). Ich hoffe, dass er für Sie hilfreich ist.
Wurden Sie jemals vom Verkäufer gefragt: „Können Sie die Farbe dieses Optionsfelds ändern? Passen Sie es an die Designfarbe an!“, und dann haben Sie unter der Tatsache gelitten, dass die native Farbe keine Änderung unterstützt die Farbe, und schließlich war man gezwungen, selbst eine zu behelfen. Wenn wir input[type=radio] aufgeben und ein neues entwickeln, stellen wir fest, dass es sehr umständlich ist, ausgewählte, nicht ausgewählte, nicht verfügbare und andere Zustände zu simulieren, und es ist sogar noch ärgerlicher, wenn es um Optionsfeldgruppen geht Sie können label, ::before, :checked und tabindex verwenden und dann durch Hinzufügen einer kleinen Menge JavaScript-Skripts ein „natives“ Optionsfeld mit einem umfassenderen Stil simulieren. Lass es uns gemeinsam versuchen!
Erfahren Sie mehr über das Optionsfeld
Da es unser Ziel ist, die Farbe des Optionsfelds und andere Darstellungsmerkmale und Verhaltensweisen so zu ändern, dass sie mit dem ursprünglichen Optionsfeld übereinstimmen, Dann müssen wir zunächst die ursprünglichen Erscheinungsmerkmale und Verhaltensweisen des Optionsfelds verstehen.
1. Aussehensmerkmale
1.1. Normaler Stil
margin: 3px 3px 0px 5px; border: none 0; padding: 0; box-sizing: border-box; display: inline-block; line-height: normal; position: static;
Hinweis: Wir müssen sicherstellen, dass die Layouteigenschaften mit dem ursprünglichen Aussehen übereinstimmen, andernfalls besteht eine hohe Wahrscheinlichkeit, dass der Ersatz durch ein kundenspezifisches Radio erfolgt Die Schaltfläche wirkt sich aus Das Gesamtlayout führte schließlich dazu, dass die Layouteigenschaften anderer Elemente angepasst werden mussten, um eine Gesamtkoordination zu erreichen, wodurch der Umfang der Änderungen erweitert wurde.
1.2. Stile, die den Fokus erhalten
outline-offset: 0px; outline: -webkit-focu-ring-color auto 5px;
Hinweis: Der Stil, der hier den Fokus erhält, wird nur über die Tabulatortaste auf der Tastatur wirksam, obwohl das Optionsfeld aktiviert ist Wenn Sie den Fokus gewinnen, wird der obige Stil nicht wirksam.
1.3. Auf deaktivierten Stil einstellen
color: rgb(84, 84, 84);
2. Die Verhaltensmerkmale des Optionsfelds sind offensichtlich ausgewählt und das Änderungsereignis des ausgewählten Status
Ereignisse müssen extern verfügbar bleiben. change
Es ist auch erwähnenswert, dass, wenn das Optionsfeld mit der Taste
auf der Tastatur fokussiert wird, durch Drücken der Taste Tab
das Optionsfeld ausgewählt wird. Space
Hör auf, Unsinn und Code zu reden
nicht ausgewählt, ausgewählt, fokussiert und deaktiviert.
CSS-Teillabel.radio { /* 保证布局特性保持一致 */ margin: 3px 3px 0px 5px; display: inline-block; box-sizing: border-box; width: 12px; height: 12px; } .radio__appearance{ display: block; /* 设置为block则不受vertical-align影响,从而不会意外影响到.radio的linebox高度 */ position: relative; box-shadow: 0 0 0 1px tomato; /* box-shadow不像border那样会影响盒子的框高 */ border-radius: 50%; height: 90%; width: 90%; text-align: center; } label.radio [type=radio] + .radio__appearance::before{ content: ""; display: block; border-radius: 50%; width: 85%; height: 85%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: background .3s; } label.radio [type=radio]:checked + .radio__appearance::before{ background: tomato; } label.radio [type=radio][disabled] + .radio__appearance{ opacity: .5; } label.radio:focus{ outline-offset: 0px; outline: #999 auto 5px; } /* 通过鼠标单击获得焦点时,outline效果不生效 */ label.radio.clicked{ outline: none 0; } /* 自定义单选框的行为主要是基于原生单选框的,因此先将原生单选框隐藏 */ label.radio input { display: none; }
<!-- 未选中状态 --> <label> <input> <i></i> </label> <br> <!-- 选中状态 --> <label> <input> <i></i> </label> <br> <!-- disabled状态 --> <label> <input> <i></i> </label>
var radios = document.querySelectorAll(".radio") radios.forEach(radio => { // 模拟鼠标点击后:focus样式无效 radio.addEventListener("mousedown", e => { var tar = e.currentTarget tar.classList.add("clicked") var fp = setInterval(function(){ if (document.activeElement != tar){ tar.classList.remove("clicked") clearInterval(fp) } }, 400) }) // 模拟通过键盘获得焦点后,按`Space`键执行选中操作 radio.addEventListener("keydown", e => { if (e.keyCode === 32){ e.target.click() } }) })
Erreicht durch opacity:0
Oben verknüpfen wir die Eingabe[type=radio] von display:none mit der Beschriftung, um die benutzerdefinierte Reihenfolge mithilfe von input[type=radio] zu vereinfachen Implementierung des Auswahlfelds, erfordert aber immer noch handschriftliches JS, um die Verhaltensmerkmale des Drückens der Leertaste zum Auswählen zu implementieren. Gibt es eine andere Möglichkeit, Ärger zu sparen? Wir möchten nur, dass Benutzer das native Optionsfeld nicht sehen. Können wir es also einfach auf opacity:0 setzen? !
CSS-Teil.radio { /* 保证布局特性保持一致 */ margin: 3px 3px 0px 5px; display: inline-block; box-sizing: border-box; width: 13px; height: 13px; } /* 自定义单选框的行为主要是基于原生单选框的,因此先将原生单选框透明,且沾满整个父元素 */ .radio input { opacity: 0; position: absolute; z-index: 1; /* 必须覆盖在.radio__appearance上才能响应鼠标事件 */ width: 100%; height: 100%; } .radio__container-box{ position: relative; width: 100%; height: 100%; } .radio__appearance{ display: block; /* 设置为block则不受vertical-align影响,从而不会意外影响到.radio的linebox高度 */ position: relative; box-shadow: 0 0 0 1px tomato; /* box-shadow不像border那样会影响盒子的框高 */ border-radius: 50%; height: 90%; width: 90%; text-align: center; } .radio [type=radio] + .radio__appearance::before{ content: ""; display: block; border-radius: 50%; width: 85%; height: 85%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: background .3s; } .radio [type=radio]:checked + .radio__appearance::before{ background: tomato; } .radio [type=radio][disabled] + .radio__appearance{ opacity: .5; } .radio:focus-within .radio__appearance{ outline-offset: 0px; outline: #999 auto 5px; } /* 通过鼠标单击获得焦点时,outline效果不生效 */ .radio.clicked .radio_appearance{ outline: none 0; }
<!-- 未选中状态 --> <span> <span> <input> <i></i> </span> </span> <br> <!-- 选中状态 --> <span> <span> <input> <i></i> </span> </span> <br> <!-- disabled状态 --> <span> <span> <input> <i></i> </span> </span>
var radios = document.querySelectorAll(".radio") radios.forEach(radio => { // 模拟鼠标点击后:focus样式无效 radio.addEventListener("mousedown", e => { var tar = e.currentTarget tar.classList.add("clicked") var fp = setInterval(function(){ if (!tar.contains(document.activeElement){ tar.classList.remove("clicked") clearInterval(fp) } }, 400) }) })
Das obige ist der detaillierte Inhalt vonSo ändern Sie die Farbe des Optionsfelds mithilfe von CSS (Code im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

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.

Die Datei -Upload -Funktion kann über Bootstrap implementiert werden. Die Schritte sind wie folgt: Startstrap CSS und JavaScript -Dateien einführen; Dateieingabefelder erstellen; Datei -Upload -Schaltflächen erstellen; Behandeln Sie Datei -Uploads (verwenden Sie FormData, um Daten zu sammeln und dann an den Server zu senden). benutzerdefinierter Stil (optional).

ANTWORT: Sie können die Datumsauswahlkomponente von Bootstrap verwenden, um Daten auf der Seite anzuzeigen. Schritte: Stellen Sie das Bootstrap -Framework ein. Erstellen Sie ein Eingangsfeld für Datumsauswahl in HTML. Bootstrap fügt dem Selektor automatisch Stile hinzu. Verwenden Sie JavaScript, um das ausgewählte Datum zu erhalten.

Befolgen Sie die folgenden Schritte, um Daten in Bootstrap zu überprüfen: Führen Sie die erforderlichen Skripte und Stile ein. Initialisieren Sie die Datumsauswahlkomponente; Legen Sie das Data-BV-Datatattribut fest, um die Überprüfung zu ermöglichen. Konfigurieren von Überprüfungsregeln (z. B. Datumsformate, Fehlermeldungen usw.); Integrieren Sie das Bootstrap -Verifizierungs -Framework und überprüfen Sie automatisch die Datumseingabe, wenn das Formular eingereicht wird.

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.

Der Standardstil der Bootstrap -Liste kann mit CSS -Override entfernt werden. Verwenden Sie spezifischere CSS -Regeln und -Sektors, befolgen Sie das "Proximity -Prinzip" und das "Gewichtsprinzip" und überschreiben Sie den Standardstil des Bootstrap -Standards. Um Stilkonflikte zu vermeiden, können gezieltere Selektoren verwendet werden. Wenn die Überschreibung erfolglos ist, passen Sie das Gewicht des benutzerdefinierten CSS ein. Achten Sie gleichzeitig auf die Leistungsoptimierung, vermeiden Sie eine Überbeanspruchung von! Wichtig und schreiben Sie prägnante und effiziente CSS -Code.
