Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Transformar

O botão "checkbox" é uma "caixa" que quando clicado mostra um "visto". Para transformá-lo em um "controle deslizante", precisei procurar na web e a W3C mostrou o código. É muito complicado: No HTML:

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel = "stylesheet" href = "stle.css" /> <!--CSS dos controles deslizantes-->
    <link rel = "shortcut icon" href = "assustado.ico" type = "image/x-icon" />
    <title>Checkbox com controles deslizantes - W3C</title>
</head>
<body>
    <!-- Chave retangular -->
    <label class="switch">
        <input type="checkbox">
        <span class="slider"></span>
    </label>
    <!-- Chave arredondada -->
    <label class="switch">
        <input type="checkbox">
        <span class="slider round"></span>
    </label>
    </body>
</html>

No CSS:

@charset "utf-8";
/* O switch - a caixa ao redor do controle deslizante */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
  }
  /* Ocultar caixa de seleção HTML padrão */
  .switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  /* O controle deslizante */
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
  }
  .slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
  }
  input:checked + .slider {
    background-color: #2196F3;
  }
  input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
  }
  input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
  }
  /* Controles deslizantes arredondados */
  .slider.round {
    border-radius: 34px;
  }
  .slider.round:before {
    border-radius: 50%;
  }
2 respostas
solução!

Olá Everton!

Transformar um checkbox padrão em um controle deslizante pode realmente parecer um pouco complicado no início, especialmente se você está apenas começando com CSS e HTML. Mas, com um pouco de prática, logo você vai ser capaz de produzir muitas coisas bacanas, além do mais, achei incrível, a sua vontade de se desafiar e a sua curiosidade em pesquisar e se aprofundar.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado!