Checkbox basic
チェックボックス。
2023年12月以降、すべてのブラウザーで利用可能です。
- Baseline
- BaselineWidely available
- 対応ブラウザ
- Chrome120+Edge120+Firefox117+Safari17.2+
プレビューを読み込み中
<label class="checkbox-basic">
<input class="checkbox-basic__input" type="checkbox" />
<span class="checkbox-basic__text">テキスト</span>
</label>
<label class="checkbox-basic">
<input class="checkbox-basic__input" type="checkbox" />
<span class="checkbox-basic__text">テキスト</span>
</label>
/* reset */
:where(label).checkbox-basic {
font: inherit;
cursor: pointer;
}
:where(input).checkbox-basic__input {
box-sizing: border-box;
font: inherit;
appearance: none;
}
/* snippet */
.checkbox-basic {
--checkbox-border: #e7e7e7;
--checkbox-text-color: #364153;
--checkbox-background: #fff;
--checkbox-accent: #2b36f5;
--checkbox-focus-color: var(--checkbox-accent);
display: inline-flex;
column-gap: 10px;
align-items: center;
font-size: 14px;
line-height: 1.6;
color: var(--checkbox-text-color);
}
.checkbox-basic__input {
flex-shrink: 0;
width: 20px;
height: 20px;
cursor: pointer;
background-color: var(--checkbox-background);
border: 1px solid var(--checkbox-border);
border-radius: 4px;
&:checked {
background-color: var(--checkbox-accent);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6l2.5 2.5 4.5-5' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
border-color: var(--checkbox-accent);
}
&:focus:not(:focus-visible) {
outline: none;
}
&:focus-visible {
outline: 2px solid var(--checkbox-focus-color);
outline-offset: 2px;
}
}
/* reset */
:where(label).checkbox-basic {
font: inherit;
cursor: pointer;
}
:where(input).checkbox-basic__input {
box-sizing: border-box;
font: inherit;
appearance: none;
}
/* snippet */
.checkbox-basic {
--checkbox-border: #e7e7e7;
--checkbox-text-color: #364153;
--checkbox-background: #fff;
--checkbox-accent: #2b36f5;
--checkbox-focus-color: var(--checkbox-accent);
display: inline-flex;
column-gap: 10px;
align-items: center;
font-size: 14px;
line-height: 1.6;
color: var(--checkbox-text-color);
}
.checkbox-basic__input {
flex-shrink: 0;
width: 20px;
height: 20px;
cursor: pointer;
background-color: var(--checkbox-background);
border: 1px solid var(--checkbox-border);
border-radius: 4px;
&:checked {
background-color: var(--checkbox-accent);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6l2.5 2.5 4.5-5' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
border-color: var(--checkbox-accent);
}
&:focus:not(:focus-visible) {
outline: none;
}
&:focus-visible {
outline: 2px solid var(--checkbox-focus-color);
outline-offset: 2px;
}
}