<main class="main-wrapper">
    <fieldset class="fieldset">
        <legend>チェックボックスはTab+Spaceキーで選択操作</legend>

        <input type="checkbox" id="checkbox1" checked class="checkbox">
        <label for="checkbox1">チェックボックス1</label>

        <input type="checkbox" id="checkbox2" class="checkbox">
        <label for="checkbox2">チェックボックス2</label>

        <input type="checkbox" id="checkbox3" class="checkbox" disabled>
        <label for="checkbox3" disabled>非活性チェックボックス</label>
    </fieldset>
    <p>※キーボード操作時のみフォーカス・インジケーターにスタイル適用</p>
</main>
<main class="main-wrapper">
  <fieldset class="fieldset">
    <legend>チェックボックスはTab+Spaceキーで選択操作</legend>

    <input type="checkbox" id="checkbox1" checked class="checkbox">
    <label for="checkbox1">チェックボックス1</label>

    <input type="checkbox" id="checkbox2" class="checkbox">
    <label for="checkbox2">チェックボックス2</label>

    <input type="checkbox" id="checkbox3" class="checkbox" disabled>
    <label for="checkbox3" disabled>非活性チェックボックス</label>
  </fieldset>
  <p>※キーボード操作時のみフォーカス・インジケーターにスタイル適用</p>
</main>
/* No context defined. */
  • Content:
    .fieldset {
      width: 65%;
      margin-bottom: 1.5rem;
      font-size: calc(var(--font-size-m2));
    }
    
    .fieldset:not(:first-of-type) {
      margin-top: 1rem;
    }
    
    .checkbox {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      border: 0;
      white-space: nowrap;
      overflow: hidden;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
    }
    
    .checkbox + label {
      display: block;
      position: relative;
      width: auto;
      margin-top: 1rem;
      padding-left: 1.8em;
      line-height: 1.75;
      cursor: pointer;
    }
    
    .checkbox:checked + label {
      font-weight: bold;
      color: #000098;
    }
    
    .checkbox:hover + label,
    .checkbox:focus + label {
      opacity: .75;
      transition: all .15s ease-in;
    }
    
    [data-whatinput="keyboard"] .checkbox:focus + label:before {
      border-color: #000098;
      box-shadow: 0 0 4px #000098;
    }
    
    .checkbox + label:before {
      content: "";
      position: absolute;
      top: .2rem;
      left: 0;
      width: 1.5rem;
      height: 1.5rem;
      border: 2px solid #888;
      background-color: #fff;
      border-radius: 4px;
      box-sizing: border-box;
    }
    
    .checkbox + label:after {
      content: "";
      display: inline-block;
      position: absolute;
      top: .575rem;
      left: .3rem;
      z-index: 1;
      width: .9rem;
      height: .55rem;
      border-top: 3px solid #000098;
      border-right: 3px solid #000098;
      opacity: 0;
      transform: rotate(135deg);
      transition: all .15s ease-in;
    }
    
    .checkbox:checked + label:after {
      opacity: 1;
      animation: scale .25s ease-in-out .1s normal running;
    }
    
    .checkbox:disabled,
    .checkbox + label[disabled] {
      opacity: .67;
      cursor: not-allowed;
    }
    
    @-webkit-keyframes scale {
      25% {
        transform: scale(1.175) rotate(135deg);
      }
      83% {
        transform: scale(1) rotate(135deg);
      }
    }
    @keyframes scale {
      25% {
        transform: scale(1.175) rotate(135deg);
      }
      83% {
        transform: scale(1) rotate(135deg);
      }
    }
  • URL: /components/raw/checkbox/style.css
  • Filesystem Path: src/components/3-form-ui/checkbox/style.css
  • Size: 1.8 KB

No notes defined.