一般的な開発ニーズとして、要素の一部を必要になるまで折りたたんでおきたいことが挙げられます。 Bootstrap や JQuery などの一般的なフレームワークには、トランジション効果を提供するものがあります。ただし、CSS Transition を使用すると、高さの遷移に関して非常に柔軟に対応できます。したがって、プロジェクトに追加のフレームワークを含める必要はありません。 遷移の高さ私たちが実現したいのは、「もっと見る」ボタンをクリックすると、要素の高さが増加して記事のすべてのコンテンツが表示され、もう一度クリックすると元のサイズに戻ることです。 <記事id="記事"> <h3>CSS トランジションを使用して高さを変更することで要素を展開したり折りたたんだりする</h3> <p>Lorem ipsum、痛みはエリートのアディピス中毒者によってもたらされました。一時的に症状が現れ、その後、責任を問われました。完全に元に戻ったため、通常の生活に戻ることができず、法的措置が取られました。</p> <p> lorem ipsum dolor sit amet adipisicing elit、ab doloribus optio。エクササイズのCommodi reiciendis culpa optio aliquam incidunt、ab sapiente dignissimos、sit deleniti boluptatibus animi repudiandae 、nisi ullam boluptatum odio non eum vel vel dolorum dolorum adipisci culpa <p> lorem ipsum dolor sit amet adipisicing elit、ab doloribus optio。エクササイズのCommodi reiciendis culpa optio aliquam incidunt、ab sapiente dignissimos、sit deleniti boluptatibus animi repudiandae 、nisi ullam boluptatum odio non eum vel vel dolorum dolorum adipisci culpa <p> lorem ipsum dolor sit amet adipisicing elit、ab doloribus optio。エクササイズのCommodi reiciendis culpa optio aliquam incidunt、ab sapiente dignissimos、sit deleniti boluptatibus animi repudiandae 、nisi ullam boluptatum odio non eum vel vel dolorum dolorum adipisci culpa </記事> <button id="seeMoreBtn">もっと見る</button> CSS スタイルは次のとおりです。 記事 { 最大幅: 800px; 高さ: 300px; オーバーフロー-y: 非表示; } /* ボタンがクリックされたときにこのクラスを追加します */ 記事.extended { 高さ: 628px; } ボタン { パディング: .6rem; } JavaScript は次のとおりです。 定数seeMore = document.getElementById('seeMoreBtn') 定数記事 = document.getElementById('記事') seeMore.addEventListener('click', () => { article.classList.toggle('拡張') const 拡張 = article.classList.contains('拡張') if (拡張) { seeMore.innerHTML = 'コンテンツを折りたたむ' } それ以外 { seeMore.innerHTML = 'もっと見る' } }) ボタンがクリックされたときにコンテンツがスムーズに上下にスライドできるように、記事に CSS トランジション プロパティを追加します。 記事 { 最大幅: 800px; 高さ: 300px; オーバーフロー-y: 非表示; 遷移: 高さ 0.4 秒の線形; } これを記事に適用すると、スムーズに上下にスライドできることがわかります。シンプルで便利ですが、この方法には制限があります。以下で見てみましょう。 制限この制限は、高さがわかっているかどうかです。上記の例では、記事の高さが明確にわかっており、非常にうまく機能しますが、動的なコンテンツを扱う場合、要素の高さはわかりません。また、画面サイズやその他の手段によって高さが変わることもあります。 解決解決策は、height プロパティの代わりに max-height プロパティを変換することです。まず、要素が到達できる最大の高さを見積もる必要があります。次に、要素が拡大するときに、要素の max-height を推定値よりも大きく設定します。 記事 { 最大幅: 800px; 最大高さ: 300px; オーバーフロー-y: 非表示; /* 高さに合わせて遷移時間を増やす */ 遷移: 最大高さ 0.7 秒線形; } 記事.展開{ 最大高さ: 1500px; } この方法ではアニメーションが機能し、必要な効果が得られます。必要な効果に応じて遷移時間を調整する必要がある場合があります。 CSSトランジションの高さを変更して要素を展開したり折りたたんだりする方法についての記事はこれで終わりです。CSS高さを使用した要素の展開と折りたたみの詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 |
<<: 指定されたIEブラウザのレンダリング方法の詳細な理解
CSS でレスポンシブ レイアウトを実装するレスポンシブレイアウトは非常にハイエンドで難しいように思...
目次序文デザイン成し遂げるまとめ序文最近は、いつも延々とスワイプしています。 Weibo をチェック...
1. yumの紹介Yum (フルネームは Yellow dogUpdater、Modified) は...
序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...
ElasticSearch クラスターは、クラスターを構築するための動態請求的方式と靜態配置文件をサ...
目次序文積極的な撤退例外、拒否、および発行されたエラー信号まとめ序文NodeJS プロセスが終了する...
リバースプロキシリバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザ...
目次1. はじめに1.1 Babel トランスコーダ1.2 ポリフィル2. let と const ...
ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...
1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...
適応型レイアウトは、実際のアプリケーションでますます一般的になっています。今日は、主にフローティング...
コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...
配列[1,8,5,4,3,9,2]が与えられた場合、配列の最大値9と最小値1を取得するアルゴリズムを...
概要データベースでは、ツリー ディレクトリと同様に、インデックスを使用してデータ検索を高速化します。...
この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...