Quer dizer, um botão de opção em si consiste em uma forma redonda e um ponto no centro (quando o botão é selecionado). O que eu quero mudar é a cor de ambos. Isso pode ser feito usando CSS?
html
css
forms
radio-button
gato e rato
fonte
fonte
Uma solução rápida seria sobrepor o estilo de entrada do botão de opção usando
:after
, no entanto, é provavelmente uma prática melhor criar seu próprio kit de ferramentas personalizado.fonte
Como Fred mencionou, não há como definir o estilo nativo dos botões de opção em relação à cor, tamanho etc. Mas você pode usar Pseudoelementos CSS para configurar um impostor de qualquer botão de opção e estilizá-lo. Tocando no que JamieD disse, em como podemos usar o elemento: after Pseudo, você pode usar ambos: before e: after para obter uma aparência desejável.
Benefícios desta abordagem:
Explicação da breve demonstração abaixo:
O HTML
O CSS
Uma breve demonstração para vê-lo em ação
Em conclusão, nenhum JavaScript, imagens ou baterias necessárias. CSS puro.
fonte
Somente se você estiver almejando navegadores baseados em webkit (Chrome e Safari, talvez você esteja desenvolvendo um Chrome WebApp, quem sabe ...), você pode usar o seguinte:
E, em seguida, estilize-o como se fosse um elemento HTML simples, por exemplo, aplicando uma imagem de fundo.
Use
input[type='radio']:active
para quando a entrada for selecionada, para fornecer os gráficos alternativosAtualização : a partir de 2018, você pode adicionar o seguinte para oferecer suporte a vários fornecedores de navegadores:
fonte
:active
, você deve usar:checked
para diferenciar o estilo entre os botões de opção 'selecionados'.Você pode obter botões de opção personalizados de duas maneiras CSS puras
Removendo a aparência padrão usando CSS
appearance
e aplicando a aparência personalizada. Infelizmente, isso não funciona no IE para Desktop (mas funciona no IE para Windows Phone). Demo:Através da ocultação do botão de opção e da configuração da aparência do botão de opção personalizado para
label
o pseudo-seletor de. A propósito, não há necessidade de posicionamento absoluto aqui (vejo posicionamento absoluto na maioria das demos). Demo:fonte
você pode usar o hack da caixa de seleção conforme explicado em truques de CSS
http://css-tricks.com/the-checkbox-hack/
exemplo funcional do botão de rádio:
http://codepen.io/Angelata/pen/Eypnq
Funciona no IE9 +, Firefox 3.5+, Safari 1.3+, Opera 6+, Chrome qualquer.
fonte
exemplo de botão de rádio personalizado simples em qualquer navegador para você
https://jsfiddle.net/kuzroman/ae1b34ay/
fonte
Bem, para criar elementos extras, podemos usar: after,: before (então não precisamos mudar muito o HTML). Então, para botões de opção e caixas de seleção, podemos usar: verificado. Existem alguns outros pseudo-elementos que também podemos usar (como: hover). Usando uma mistura desses, podemos criar alguns formulários personalizados muito legais. verifique isso
fonte
Experimente este css com transição:
Demo
Html:
fonte
Eu construí outra bifurcação do exemplo de código de @klewis para demonstrar alguns jogos com css puro e gradientes usando: before /: after pseudoelementos e um botão de entrada de rádio oculto.
HTML:
:
CSS:
visualização: https://www.codeply.com/p/y47T4ylfib
fonte
Isso não é possível por CSS nativo. Você terá que usar imagens de fundo e alguns truques de javascript.
fonte
Como já foi dito, não há como fazer isso em todos os navegadores, então a melhor maneira de fazer isso no crossbrowser é usando javascript discretamente. Basicamente, você tem que transformar seu botão de rádio em links (totalmente personalizáveis via CSS). cada clique no link será vinculado à caixa de rádio relacionada, alternando seu estado e todos os outros.
fonte
Pode ser útil vincular o botão de opção a uma etiqueta estilizada. Mais detalhes nesta resposta .
fonte
Uma maneira inteligente de fazer isso seria criar um div separado com uma altura e largura de -por exemplo- 50px e um raio de 50px sobre seus botões de opção ...
fonte
Você pode incorporar um elemento span na entrada de rádio e então selecionar uma cor de sua escolha para ser renderizada quando uma entrada de rádio for marcada. Confira o exemplo abaixo fornecido por w3schools.
Alterar a cor de fundo neste segmento de código abaixo resolve.
Originado de como criar um botão de opção personalizado
fonte
Uma solução simples seria usar a seguinte propriedade CSS.
fonte