Skip to content
Extensões

Checkbox

Controle de seleção múltipla. Permite marcar, desmarcar e estado indeterminado. Dark mode automático via tokens semânticos.

components/checkbox.cssAbrir no Figma

Estados

Padrão, selecionado, desativado e desativado selecionado. O hover aparece ao passar o mouse.

Carregando exemplo...

Indeterminado

Usado quando um grupo tem seleção parcial. Deve ser ativado via JavaScript.

Carregando exemplo...

Anatomia

Estrutura interna do componente e seus elementos.

ParteElementoDescrição
Container.checkboxLabel wrapper, flex horizontal, gap 12px
Input.checkbox-inputInput nativo escondido (acessibilidade)
Box.checkbox-boxCaixa 20x20, borda 1px, radius 4px
Check::afterÍcone de check (pseudo-elemento, borda branca)
Minus::beforeÍcone de minus para indeterminado (pseudo-elemento)
Label.checkbox-labelInter 14px medium, line-height 24px

Propriedades

Classes disponíveis para configurar o checkbox.

PropriedadeTipoDefaultDescrição
.checkboxclasseContainer principal (label).
.checkbox-inputclasseInput nativo escondido.
.checkbox-boxclasseCaixa visual com check via ::after e minus via ::before.
.checkbox-labelclasseTexto do label.

Código

Snippets prontos para copiar e usar no seu projeto.

Checkbox simples

html
<label class="checkbox">
    <input type="checkbox" class="checkbox-input">
    <span class="checkbox-box"></span>
    <span class="checkbox-label">Aceito os termos</span>
</label>

Checkbox marcado

html
<label class="checkbox">
    <input type="checkbox" class="checkbox-input" checked>
    <span class="checkbox-box"></span>
    <span class="checkbox-label">Opção selecionada</span>
</label>

Indeterminado

html
<label class="checkbox">
    <input type="checkbox" class="checkbox-input" id="select-all">
    <span class="checkbox-box"></span>
    <span class="checkbox-label">Selecionar todos</span>
</label>

<script>
document.getElementById('select-all').indeterminate = true;
</script>

Desativado

html
<label class="checkbox">
    <input type="checkbox" class="checkbox-input" disabled>
    <span class="checkbox-box"></span>
    <span class="checkbox-label">Indisponível</span>
</label>

Tokens utilizados

Variáveis semânticas aplicadas ao componente.

TokenUso
--border-base-neutral-strongBorda padrão da box
--border-base-neutral-defaultBorda no estado desativado
--border-base-brand-defaultOutline de foco
--surface-base-neutral-container-deepBackground no hover
--surface-base-neutral-container-emphasisBackground no disabled+checked
--surface-base-brand-container-mediumBackground no checked
--icon-base-neutral-whiteCor do check/minus
--icon-base-neutral-subtleCor do check/minus desativado
--text-base-neutral-defaultCor do label
--text-base-neutral-subtleCor do label desativado
--spacing-1Border-radius da box (4px)
--spacing-3Gap entre box e label (12px)

Design System interno do GALES