點燈坊

失くすものさえない今が強くなるチャンスよ

HTML 之 CheckBox

Sam Xiao's Avatar 2023-08-05

CheckBox 必須點到 方框 才能選取,實務上會想要點擊 Label 也相當於選擇 CheckBox,可將 <input><label> 合作達成。

Version

HTML 5

CheckBox in Label

checkbox000

當 cursor 指向 label 時也會出現 pointer,表示點下 label 亦能點選 checkbox。

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>HTML Lab</title>
    <style>
      .checkbox label:hover,
      .checkbox input:hover {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div class="checkbox">
      <label><input type="checkbox" />Swimming </label>
      <label><input type="checkbox" />Reading</label>
      <label><input type="checkbox" />Shopping</label>
    </div>
  </body>
</html>

14 行

<div class="checkbox">
  <label><input type="checkbox" />Swimming </label>
  <label><input type="checkbox" />Reading</label>
  <label><input type="checkbox" />Shopping</label>
</div>
  • <input> 包在 <label> 內,如此當點下 <label> 時相當於選擇 checkbox
  • 將三個 <label> 統一放在 <div> 下設定 CSS

10 行

.checkbox label:hover, .checkbox input:hover {
  cursor: pointer;
}
  • 雖然 <label> 可點選,但 user 並不知道,因此在 label:hover 加上 cursor: pointer 顯示 cursor 提醒
  • 希望 <input> 也能如 label 有 cursor,因此在 input:hover 加上 cursor: pointer 顯示 cursor 提醒
  • label:hoverinput:hover 都放在 .checkbox 一起設定

Conclusion

  • 實務上 checkBox 都會搭配 <label> 一起使用,可再搭配 hover 加上 pointer

Reference

MDN, Checkbox