Chodzi mi o to, że sam przycisk opcji składa się z okrągłego kształtu i kropki pośrodku (gdy przycisk jest wybrany). To, co chcę zmienić, to kolor obu. Czy można to zrobić za pomocą CSS?
html
css
forms
radio-button
Kot i mysz
źródło
źródło
Szybkim rozwiązaniem byłoby nałożenie stylu wprowadzania przycisków radiowych za pomocą
:after
, jednak prawdopodobnie lepszą praktyką jest utworzenie własnego niestandardowego zestawu narzędzi.źródło
Jak wspomniał Fred, nie ma sposobu na natywne stylizowanie przycisków radiowych pod względem koloru, rozmiaru itp. Ale możesz użyć pseudoelementów CSS, aby ustawić oszusta dla dowolnego przycisku opcji i nadać mu styl. Dotykając tego, co powiedział JamieD, w jaki sposób możemy użyć: after Pseudo element, możesz użyć obu: before i: after, aby uzyskać pożądany wygląd.
Korzyści z tego podejścia:
Objaśnienie krótkiego demo poniżej:
HTML
CSS
Krótkie demo , aby zobaczyć go w akcji
Podsumowując, nie jest wymagany JavaScript, obrazy ani baterie. Czysty CSS.
źródło
Tylko jeśli celujesz w przeglądarki oparte na webkitach (Chrome i Safari, być może tworzysz aplikację Chrome WebApp, kto wie ...), możesz użyć:
Następnie nadaj mu styl, jakby był prostym elementem HTML, na przykład stosując obraz tła.
Posługiwać się
input[type='radio']:active
gdy wybrane jest wejście, aby zapewnić alternatywną grafikęAktualizacja : od 2018 r. Można dodać następujące elementy, aby obsługiwać wielu dostawców przeglądarek:
źródło
:active
, należy użyć:checked
do rozróżnienia stylów między „wybranymi” przyciskami radiowymi.Możesz uzyskać spersonalizowane przyciski opcji na dwa czyste sposoby CSS
Poprzez usunięcie standardowego wyglądu za pomocą CSS
appearance
i zastosowanie wyglądu niestandardowego. Niestety to nie działa w IE na komputer (ale działa w IE na Windows Phone). Próbny:Poprzez ukrycie radiobutton i ustawienie niestandardowego wyglądu radiobutton na
label
pseudoselektor. Nawiasem mówiąc, nie ma tu potrzeby pozycjonowania absolutnego (widzę pozycjonowanie absolutne w większości dem). Próbny:źródło
możesz użyć hackowania pola wyboru, jak wyjaśniono w sztuczkach CSS
http://css-tricks.com/the-checkbox-hack/
działający przykład przycisku radiowego:
http://codepen.io/Angelata/pen/Eypnq
Działa w IE9 +, Firefox 3.5+, Safari 1.3+, Opera 6+, Chrome cokolwiek.
źródło
prosty przykład niestandardowego przycisku opcji dla różnych przeglądarek
https://jsfiddle.net/kuzroman/ae1b34ay/
źródło
Cóż, aby stworzyć dodatkowe elementy, możemy użyć: after,: before (więc nie musimy tak bardzo zmieniać HTML). Następnie dla przycisków radiowych i pól wyboru możemy użyć: zaznaczone. Jest jeszcze kilka innych pseudo elementów, których możemy użyć (np. Hover). Używając ich mieszanki, możemy stworzyć całkiem fajne niestandardowe formularze. Sprawdź to
źródło
Zbudowałem kolejny fork przykładowego kodu @ klewis , aby zademonstrować pewne granie z czystym CSS i gradientami, używając: before /: after pseudoelementy i ukrytego przycisku radiowego.
HTML:
:
CSS:
podgląd: https://www.codeply.com/p/y47T4ylfib
źródło
Spróbuj tego CSS z przejściem:
Próbny
HTML:
źródło
Nie jest to możliwe przez natywny CSS. Będziesz musiał użyć obrazów tła i kilku sztuczek javascript.
źródło
Jak powiedzieli inni, nie ma sposobu, aby to osiągnąć we wszystkich przeglądarkach, więc najlepszym sposobem na zrobienie tego w różnych przeglądarkach jest dyskretne używanie javascript. Zasadniczo musisz zamienić swój radiobutton w linki (w pełni konfigurowalne przez CSS). każde kliknięcie odsyłacza będzie powiązane z odpowiednim radioboxem, przełączając jego stan i wszystkie inne.
źródło
Pomocne może być powiązanie przycisku radiowego z etykietą ze stylem. Dalsze szczegóły w tej odpowiedzi .
źródło
Sprytnym sposobem na zrobienie tego byłoby utworzenie oddzielnego elementu div o wysokości i szerokości-na przykład 50 pikseli, a następnie umieszczenie go w promieniu 50 pikseli na przyciskach opcji ...
źródło
Możesz osadzić element span w wejściu radiowym, a następnie wybrać wybrany kolor, który ma być renderowany, gdy wejście radiowe jest zaznaczone. Sprawdź poniższy przykład pochodzący z w3schools.
Zmiana koloru tła w tym segmencie kodu poniżej załatwia sprawę.
Pochodzi z tego, jak utworzyć niestandardowy przycisk opcji
źródło
Prostą poprawką byłoby użycie następującej właściwości CSS.
źródło