Cómo crear un interruptor con CSS

15 enero, 2018

Cada día es más común encontrar elementos de formularios totalmente personalizados que mejoran la experiencia del usuario.

En este artículo vamos a ver como convertir el típico checkbox en un interruptor mucho más moderno y atractivo visualmente.

HTML

Primero necesitaremos definir el html. Vamos a usar las etiquetas label e input de tipo checkbox y un div extra que servirá para hacer el truco css.

  1. <label class=«switch»>
  2.   <input type=«checkbox»>
  3.   <div class=«slider round»></div>
  4. </label>

Y ahora vamos con el css:

CSS

  1. /* Formateamos el label que servirá de contenedor */
  2. .switch {
  3. position: relative;
  4. display: inlineblock;
  5. width: 60px;
  6. height: 34px;
  7. }
  8.  
  9. /* Ocultamos el checkbox html */
  10. .switch input {
  11. display:none;
  12. }
  13.  
  14. /* Formateamos la caja del interruptor sobre la cual se deslizará la perilla de control o slider */
  15. .slider {
  16. position: absolute;
  17. cursor: pointer;
  18. top: 0;
  19. left: 0;
  20. right: 0;
  21. bottom: 0;
  22. backgroundcolor: #ccc;
  23. webkittransition: .4s;
  24. transition: .4s;
  25. }
  26.  
  27. /* Pintamos la perilla de control o slider usando el selector before */
  28. .slider:before {
  29. position: absolute;
  30. content: «»;
  31. height: 26px;
  32. width: 26px;
  33. left: 4px;
  34. bottom: 4px;
  35. backgroundcolor: white;
  36. webkittransition: .4s;
  37. transition: .4s;
  38. }
  39.  
  40. /* Cambiamos el color de fondo cuando el checkbox esta activado */
  41. input:checked + .slider {
  42. backgroundcolor: #E27AD8;
  43. }
  44.  
  45. /* Deslizamos el slider a la derecha cuando el checkbox esta activado */
  46. input:checked + .slider:before {
  47. webkittransform: translateX(26px);
  48. mstransform: translateX(26px);
  49. transform: translateX(26px);
  50. }
  51.  
  52. /* Aplicamos efecto de bordes redondeados en slider y en el fondo del slider */
  53. .slider.round {
  54. borderradius: 34px;
  55. }
  56.  
  57. .slider.round:before {
  58. borderradius: 50%;
  59. }


			

Categorías

Makers Zone BCN: Un Espacio Maker Abierto a la Diversidad

Makers Zone BCN: Un Espacio Maker Abierto a la Diversidad

Introducción Makers Zone BCN es un espacio maker ubicado en el barrio de Poble Sec, Barcelona. Este lugar se ha convertido en un referente para la comunidad maker, ofreciendo un entorno accesible y colaborativo para personas de todas las edades y habilidades.Historia...

Xiaomi Smart Band 9: Diseño Premium y Más Autonomía

Xiaomi Smart Band 9: Diseño Premium y Más Autonomía

La Xiaomi Smart Band 9 está a punto de llegar, y trae consigo emocionantes mejoras que la hacen destacar. Veamos qué nos ofrece:Diseño Elegante La Smart Band 9 presenta un diseño más premium que su predecesora. Aunque mantiene la cápsula central característica, ahora...