目次
2。基本的なCSSスタイリング
3。CSSでコンテンツを切り替えます
4.オプション:開いた/閉じるアイコンを追加します
覚えておくべき重要なポイント
ホームページ ウェブフロントエンド CSSチュートリアル CSSのみのアコーディオンメニューを作成する方法は?

CSSのみのアコーディオンメニューを作成する方法は?

Aug 03, 2025 pm 01:48 PM
css

非表示のチェックボックスとCSSを使用してください。隣接する兄弟セレクター()と組み合わせたチェックされた擬似クラス()を制御するコンテンツディスプレイ。 2. HTML構造には、崩壊したアイテムごとに入力、ラベル、コンテンツDIVが含まれています。 3.最大高さの遷移を設定することにより、スムーズな拡張/崩壊アニメーション。 4.擬似要素を使用してオープン/クローズステータスアイコンを追加します。 5.無線タイプを使用してシングルオープンモードを実装しますが、チェックボックスを使用すると複数の開口部が可能になります。これは、JavaScriptを必要とせず、最新のブラウザーと互換性のあるインタラクティブな折りたたみ式メニューの実装です。

CSSのみのアコーディオンメニューを作成する方法は?

メニューに応じてCSSのみを作成することは、JavaScriptに依存せずにインタラクティブコンテンツを追加するのに最適な方法です。次のことを使用します:checked )コンテンツの可視性を切り替えます。一歩一歩構築する方法は次のとおりです。

CSSのみのアコーディオンメニューを作成する方法は?

1。HTML構造

チェックボックス(またはラジオボタン)を使用して、クリーンなHTML構造から始めて、各アイテムを制御します。各セクションには、ラベル(クリック可能なヘッダーとして)とコンテンツDivが含まれます。

 <div class = "accordion">
  <div class = "accordion-item">
    <入力型= "チェックボックス" id = "section1" name = "Accordion" />
    <ラベル= "section1">セクション1 </label>
    <div class = "accordion-content">
      <p>これは、セクション1のコンテンツです。</p>
    </div>
  </div>

  <div class = "accordion-item">
    <入力型= "チェックボックス" id = "section2" name = "Accordion" />
    <ラベル= "section2">セクション2 </label>
    <div class = "accordion-content">
      <p>これはセクション2のコンテンツです。</p>
    </div>
  </div>

  <div class = "accordion-item">
    <入力型= "チェックボックス" id = "section3" name = "Accordion" />
    <ラベル= "section3">セクション3 </label>
    <div class = "accordion-content">
      <p>これはセクション3のコンテンツです。</p>
    </div>
  </div>
</div>

一度に1つのセクションのみを開く必要がある場合は、 checkboxの代わりにtype="radio"を使用します。

CSSのみのアコーディオンメニューを作成する方法は?

2。基本的なCSSスタイリング

きれいで機能的な見た目に応じてスタイルをスタイルします。チェックボックス入力を非表示にし、クリック可能なヘッダーとしてラベルをスタイリングします。

 .accordion {
  幅:100%;
  最大幅:600px;
  マージン:0 Auto;
  フォントファミリー:arial、sans-serif;
}

.ACCORDION-ITEM {
  ボーダーボトム:1PX SOLID #DDD;
}

.accordion-itemラベル{
  表示:ブロック;
  パディング:15px;
  背景色:#f5f5f5;
  font-weight:bold;
  カーソル:ポインター;
  ユーザーセレクト:なし;
  遷移:バックグラウンドカラー0.3s容易さ。
}

.ACCORDION-ITEMラベル:Hover {
  背景色:#e9e9e9;
}

.accordion-content {
  Max-Height:0;
  オーバーフロー:隠し;
  遷移:最大0.3秒の容易さ、パディング0.3s容易さ。
  パディング:0 15px;
  バックグラウンドカラー:#fff;
}

.ACCORDION-CONTENT P {
  マージン:10px 0;
}

3。CSSでコンテンツを切り替えます

使用:checkedセレクターと (隣接する兄弟)コンバイナーチェックボックスがチェックされたときにコンテンツを拡張します。

CSSのみのアコーディオンメニューを作成する方法は?
 #section1:checked label .accordion-content、
#セクション2:checked label .accordion-content、
#セクション3:checked label .accordion-content {
  Max-Height:200px;
  パディング:15px;
}

max-heightトリックにより、スムーズな開閉が可能になります。コンテンツに適合するのに十分高く設定しますが、長いアニメーションを避けるには高すぎません。


4.オプション:開いた/閉じるアイコンを追加します

擬似要素を使用して、小さな矢印またはプラス/マイナスアイコンを追加できます。

 .ACCORDION-ITEMラベル::後{
  コンテンツ: &#39; &#39;;
  フロート:そうです;
}

#セクション1:チェックラベル::後、
#セクション2:チェックラベル::後、
#section3:checked label :: afted {
  コンテンツ: &#39; - &#39;;
}

これにより、ユーザーは各セクションの状態に関する視覚的な手がかりを得ることができます。


覚えておくべき重要なポイント

  • チェックボックスは、兄弟セレクターが動作するためにHTMLのラベルとコンテンツの前に来る必要があります。
  • ディスプレイの代わりにmax-heightを使用しますdisplay: none
  • ラジオ入力( type="radio" )では、一度に1つの開いたアイテムのみが許可されます。チェックボックスでは、複数のオープンアイテムが可能になります。
  • アクセシビリティ:後で最小限のJSで強化する場合はaria-expandedおよびaria-controls属性の追加を検討してください。

基本的に、それは相互作用をシミュレートするためのフォーム入力とCSSセレクターの巧妙な使用です。 JavaScriptは不要であり、すべての最新のブラウザで動作します。

以上がCSSのみのアコーディオンメニューを作成する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CSSバックドロップフィルタープロパティを使用する方法は? CSSバックドロップフィルタープロパティを使用する方法は? Aug 02, 2025 pm 12:11 PM

バックドロップフィルターは、要素の背後にあるコンテンツに視覚効果を適用するために使用されます。 1。バックドロップフィルター:Blur(10px)およびその他の構文を使用して、つや消しガラス効果を実現します。 2。ぼやけ、明るさ、コントラストなどの複数のフィルター関数をサポートし、重ねることができます。 3.ガラスカードの設計でよく使用されており、要素が背景と重複するようにする必要があります。 4.最新のブラウザには優れたサポートがあり、@Supportsを使用してダウングレードソリューションを提供できます。 5。パフォーマンスを最適化するために、過度のぼかしと頻繁な再描画を避けてください。この属性は、要素の背後にコンテンツがある場合にのみ有効になります。

CSSアスペクト比プロパティとの使用方法は何ですか? CSSアスペクト比プロパティとの使用方法は何ですか? Aug 04, 2025 pm 04:38 PM

Theaspect-ratioCSSpropertydefinesthewidth-to-heightratioofanelement,ensuringconsistentproportionsinresponsivedesigns.1.Itisapplieddirectlytoelementslikeimages,videos,orcontainersusingsyntaxsuchasaspect-ratio:16/9.2.Commonusecasesincludemaintainingres

CSSでバウンスアニメーションを作成する方法は? CSSでバウンスアニメーションを作成する方法は? Aug 02, 2025 am 05:44 AM

@keyframesbouncewith0%、100%attranslatey(0)および50%attranslatey(-20px)tocreateabasicbounce.2.applytheanimation to nelementusinginimation:Bounce0.6 sease-inutinfiniteforsmoth.

CSSの使用方法:空の擬似クラス? CSSの使用方法:空の擬似クラス? Aug 05, 2025 am 09:48 AM

The:emptypseudo-classselecteselementswithnochildrenorcontent、includingspacesorcomments、aonterlytrulyelementslikematchit;

仮想通貨取引アプリとは何ですか?_ 2025年にトップ10の推奨公式仮想通貨取引アプリ 仮想通貨取引アプリとは何ですか?_ 2025年にトップ10の推奨公式仮想通貨取引アプリ Aug 08, 2025 pm 06:42 PM

1. Binanceは、膨大なトランザクションボリュームと豊富な取引ペアで知られています。多様な取引モデルと完璧なエコシステムを提供します。また、SAFUファンドと複数のセキュリティテクノロジーを通じてユーザー資産のセキュリティを保証し、準拠した運用を非常に重要にします。 2。OKXOUYIは、幅広いデジタル資産取引サービスと統一された取引アカウントモデルを提供し、Web3フィールドを積極的に展開し、厳格なリスク管理とユーザー教育を通じてトランザクションセキュリティと経験を改善します。 3。GATE.IOセサミはドアを開き、通貨速度と豊富な通貨を備え、多様な取引ツールと付加価値サービスを提供し、複数のセキュリティ検証メカニズムを採用し、ユーザーの信頼を強化するための資産準備を遵守します。 4。Huobiは、深い業界の蓄積を備えたワンストップのデジタル資産サービスを提供し、強いトランザクションの深さと

CSSのみのアコーディオンメニューを作成する方法は? CSSのみのアコーディオンメニューを作成する方法は? Aug 03, 2025 pm 01:48 PM

非表示のチェックボックスとCSSを使用してください。隣接する兄弟セレクター()と組み合わせたチェックされた擬似クラス()を制御するコンテンツディスプレイ。 2. HTML構造には、崩壊したアイテムごとに入力、ラベル、コンテンツDIVが含まれています。 3.最大高さの遷移を設定することにより、スムーズな拡張/崩壊アニメーション。 4.擬似要素を使用してオープン/クローズステータスアイコンを追加します。 5.無線タイプを使用してシングルオープンモードを実装しますが、チェックボックスを使用すると複数の開口部が可能になります。これは、JavaScriptを必要とせず、最新のブラウザーと互換性のあるインタラクティブな折りたたみ式メニューの実装です。

クリエイティブな形状にCSSクリップパスを使用する方法は? クリエイティブな形状にCSSクリップパスを使用する方法は? Aug 04, 2025 pm 02:55 PM

CSSCLIP-PATHを使用して、追加の画像や複雑なSVGなしでブラウザに非長方形の形状を作成します。 2。一般的な形状関数には、INSET()、Circle()、Ellipse()、Polygon()が含まれます。ここで、ポリゴン()は、ダイアログバブルなどの創造的なデザインを作成するのに適した座標ポイントを定義することでカスタムシェイプを実装します。 3.クリップパスは、ホバリング中のサークル拡張など、CSS遷移またはキーフレームアニメーションを通じて動的効果を達成できますが、同じタイプの間隔アニメーションと頂点の数のみをサポートします。 4.応答性とアクセシビリティに注意して、サポートされていないときにコンテンツがまだ利用可能であることを確認し、テキストが読み取り可能であり、過度の収穫を避け、ポリゴン頂点の数を制御してパフォーマンスを最適化します。同時に、それを知る必要があります

CSSでテキストグラデーションを作成する方法は? CSSでテキストグラデーションを作成する方法は? Aug 01, 2025 am 07:39 AM

バックグラウンドイメージとバックグラウンドクリップ:テキストを使用して、CSSテキストグラデーション効果を達成します。 2. [Webkit-Background-Clip:Text and -Webkit-Text-Fill-Color:透過性]を設定する必要があります。 3.線形または放射状の勾配をカスタマイズすることができ、視覚効果を改善するために太字または大きなテキストを使用することをお勧めします。 4.サポートされていない環境の代替色として色を設定することをお勧めします。 5.代替案は、より複雑な効果を達成するために-webkit-mask-imageを使用できますが、主に高度なシナリオに適しています。この方法はシンプルで、互換性と視覚が良好です

See all articles