CSS でトグルスイッチを作成する

CSSCSSBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、CSS のみを使用してトグルスイッチを作成する方法を学びます。この実験の目的は、:checked疑似クラスセレクタ、::after疑似要素、および位置プロパティを使用して、インタラクティブで視覚的に魅力的なトグルスイッチを作成する方法を教えることです。この実験が終了するまでに、CSS を使用して Web ページにインタラクティビティを追加する方法をより深く理解するようになります。

トグルスイッチ

VM 内には既に index.htmlstyle.css が用意されています。

以下に、もっと簡潔で明確な内容を示します。

CSS のみでトグルスイッチを作成するには、次の手順に従います。

  1. <label>for 属性を使ってチェックボックスの <input> 要素と関連付けます。
  2. <label>::after 疑似要素を使って、スイッチ用の円形のノブを作成します。
  3. :checked 疑似クラスセレクタを使って、transform: translateX(20px) とスイッチの background-color を使ってノブの位置を変更します。
  4. position: absoluteleft: -9999px を使って <input> 要素を視覚的に非表示にします。

以下が HTML コードです。

<input type="checkbox" id="toggle" class="offscreen" />
<label for="toggle" class="switch"></label>

以下が CSS コードです。

.switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 20px;
  transition: all 0.3s;
}

.switch::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 18px;
  background-color: white;
  top: 1px;
  left: 1px;
  transition: all 0.3s;
}

input[type="checkbox"]:checked + .switch::after {
  transform: translateX(20px);
}

input[type="checkbox"]:checked + .switch {
  background-color: #7983ff;
}

.offscreen {
  position: absolute;
  left: -9999px;
}

右下隅の「Go Live」をクリックして、ポート 8080 で Web サービスを実行してください。その後、Web 8080 タブを更新して Web ページをプレビューできます。

まとめ

おめでとうございます!あなたはトグルスイッチの実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を練習することができます。