Web デザインにおけるツリーとは何ですか?簡単に言うと、リンクをクリックするとサブディレクトリが展開され、もう一度クリックすると閉じます。これは最も単純なツリーです。実装方法も非常に簡単です。CSS には display プロパティがあり、コンテンツを表示するかどうかを制御できます。次に、JS を使用して CSS のプロパティを制御してこれを実現します。次のコードを参照してください。 <div>最上位ディレクトリ</div> <div id="メニューリスト"> <div>メニュー 1</div> <div>メニュー 2</div> <div>メニュー 3</div> </div> これはツリーのプロトタイプです。もちろん、初期状態では CSS 表示属性が追加されます。最もよく使用される表示属性は none と block です。 Noneは表示なしを意味し、blockはブロック型要素のように表示されます。コードを見てみましょう。 <div>最上位ディレクトリ</div> <div id="メニューリスト" style="display:none"> <div>メニュー 1</div> <div>メニュー 2</div> <div>メニュー 3</div> </div> このように、ページを実行すると、最上位のディレクトリのみが表示されます。これを制御したい場合は、jsコードを追加する必要があります。 1. まずメニューリストを取得する var メニューリスト = document.getElementById("メニューリスト"); 2. オブジェクトはCSSプロパティを制御できる メニューリスト.style.display="ブロック"; 判断を加える (menulist.style.display="none") の場合 menulist.style.display="ブロック"; それ以外 メニューリスト.style.display="なし"; このようにして、最も原始的なツリーが生成され、最終的なコードは <スクリプト> 関数 showmenu() { var メニューリスト = document.getElementById("メニューリスト"); (menulist.style.display=="none") の場合 メニューリスト.style.display="ブロック"; それ以外 メニューリスト.style.display="なし"; } </スクリプト> <div オン click="showmenu();">トップディレクトリ</div> <div id="メニューリスト" style="display:none"> <div>メニュー 1</div> <div>メニュー 2</div> <div>メニュー 3</div> </div> 私は長い間、この方法を使用してプロパティ ディレクトリを作成してきました。ディレクトリがどんなに複雑であっても、この方法は毎回機能しました。次のスクリーンショットは、IE で作成したより複雑なツリー ディレクトリの実行効果を示しています。 ![]() ![]() ひどいことが起こりました。Chrome ですべてがめちゃくちゃに見えました。情報検索をした後、ようやく理由がわかりました。block と none に加えて、display には他の多くの属性があります。block はブロックで表示され、レイアウトにはテーブルを使用しました。table と block に深い嫌悪感があるかどうかは神のみぞ知るところです。Microsoft は彼らの嫌悪感を無視するのが賢明だと考えていますが、Chrome は依然として標準に誠実に従っており、Firefox も同様です。したがって、彼らの説明にはまだ問題があります。この問題を解決する方法: Display には、コンテンツをテーブル形式でレンダリングする table-cell というプロパティもあります。これは、レイアウトにテーブルを使用する場合にまさにやりたいことです。以下は、3 つのブラウザーの互換性のあるレンダリングです。 ![]() IE6 ![]() クロム2 ![]() ファイアフォックス3.5 |
<<: React コンポーネント通信ルーティングパラメータ転送 (react-router-dom)
この記事では、古典的なスネークゲームを実装するためのJavaScriptの具体的なコードを参考までに...
VMware のインストールパッケージのインストールダウンロードアドレス: https://www....
目次1. アプレットのプロジェクト ディレクトリを開き、ファイルの場所を開きます。 2. プロジェク...
目次1. はじめに2. 自己増分ストレージの説明3つの自己付加価値修正メカニズム4. 自己評価を修正...
JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ていますが、...
最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...
以前、Ubuntu 16.04 に MySQL をスムーズにインストールしました。今回、Ubuntu...
アンカーポイントの設定<a name="トップ"></a>...
あなたも私と同じように、コンピューターのファイルを整然と整理し、不要なファイルを適宜削除するプログラ...
バックグラウンド コントローラー @RequestMapping("/getPDFStre...
01. コマンドの概要dirname - ファイル名からディレクトリ以外のサフィックスを削除しますd...
弊社のプロジェクトは Java で開発され、ミドルウェアは Tomcat でした。運用中に、Tomc...
ここでは、HTML ページのサイズを縮小した後に下部にスクロール バーを表示し、スクロール バーをス...
1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql&...
ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージョンと一致し...