この記事では主に、Vue を使用してタブ ナビゲーション バーを実装し、flex レイアウトを使用して左右のスライドを実現し、ボタンの位置を計算し、最初の画面に表示された最後の要素をクリックしてもまだ表示されていない要素がある場合に、表示されていない要素を自動的にスライドして表示する方法について説明します。 タブナビゲーションバーのレイアウト: <セクションクラス="テーマリスト"> <div class="fixed-nav" ref="fixednav"> <div class="fixed-nav-content"> <p v-for="(item, index) テーマ内" :key="インデックス" :class="['タブタイトル', アクティブID === インデックス && 'タブの選択']" @click="changeTab(インデックス、$event)" > {{ アイテム }} </p> </div> </div> </セクション> テーマ: ['CSDN ブログ'、'ブログガーデン'、'大学受験がんばれ'、'高校受験がんばれ'、'リトルジョイ'、'70周年']、 アクティブID: 0 ナビゲーション バーのスタイル コード: .テーマリスト{ 上マージン: 12px; } .固定ナビゲーション{ オーバーフローx: スクロール; -webkit-オーバーフロースクロール: タッチ; } .fixed-nav-content { ディスプレイ: フレックス; } .タブタイトル{ パディング: 0 13px; 右マージン: 12px; 色: #141414; 境界線の半径: 13px; フォントサイズ: 12px; フレックス収縮: 0; 高さ: 0.52rem; 行の高さ: 0.52rem; } この時点で、次のスタイルを実装し、タブを左右にスライドすることができます。 幅が外部コンテナの幅より大きい場合にタブが縮小されないように、スタイル コードに このようにして、基本的なタブ ナビゲーション バーが実装されました。次に、これを実装します。「高校入試頑張ってください」をクリックすると、タブ全体が左にスライドして、残りのタブ要素が表示されます。 changeTab(id, イベント) { // 選択されたものが現在アクティブなものと異なる場合 if (id !== this.activeId) { this.activeId = id; // 現在のボタンの位置を計算して、移動する必要があるかどうかを確認します const spanLeft = event.clientX; // 現在クリックされている要素の左の距離 const divBox = document.querySelector(".select-tab").clientWidth / 2; // クリックされた要素の幅の半分 const totalWidths = document.body.clientWidth; // 画面全体の幅 const widths = totalWidths / 2; // 画面の幅の半分 const spanRight = totalWidths - spanLeft; // 要素の右の距離 const scrollBox = document.querySelector(".fixed-nav"); // 最も外側の要素を取得します const scrollL = scrollBox.scrollLeft; // スクロールバーがスクロールする距離 // 要素の左または右の距離が 100 未満の場合にスライドします if (spanRight < 100 || spanLeft < 100) { scrollBox.scrollLeft = scrollL + (spanLeft - 幅) + divBox; } } } この方法ではタブの自動スクロールを実現できますが、スライド時にスクロールバーが表示されるため、見た目があまり美しくないという問題がまだあります。 /*水平スクロールバーと垂直スクロールバーのサイズに応じて、スクロールバーの高さと幅、および背景の高さと幅を定義します*/ ::-webkit-スクロールバー{ 幅: 0.01rem; 不透明度: 0; 表示: なし; } /*スクロールバートラックの内側の影と丸い角を定義します*/ ::-webkit-スクロールバートラック{ 背景色: #fff; 不透明度: 0; } /*スライダーの内側の影と丸い角を定義します*/ ::-webkit-スクロールバー-サムネイル { 幅: 0.01rem; 境界線の半径: 0.01rem; 不透明度: 0; } このようにナビゲーションバーが実現され、会社の業務に合わせてナビゲーションバーのスタイルを変更することができます! これで、左右スライドをサポートするタブナビゲーションバーの Vue 実装に関するこの記事は終了です。Vue の左右スライドナビゲーションバーに関する関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...
目次1. エラー現象2. エラー分析3. エラー解決1. エラー現象仮想マシンでLVGLエミュレータ...
場合によっては、Windows システム上のプログラムを Linux 上でリモートで実行する必要があ...
データは貴重なものであることは誰もが知っています。データをバックアップしなければ、データをそのまま放...
非準拠データがデータベースに入るのを防ぐために、ユーザーがデータを挿入、変更、削除、その他の操作を行...
目次1. 問題2. 解決策1. オブジェクトをanyとして宣言する2. オブジェクトのインターフェー...
<br />セマンティクス化は一言で説明することはできないし、まだ公式かつ厳密な定義もあ...
画像タグ: <img> ページに画像を挿入するには、「src」属性を持つ「img」タグを...
プロジェクトでは、さまざまな条件や使用シナリオを制御するために、docker-compose.yml...
1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...
目次効果のデモンストレーション:メインJSコード実装 <div class="box...
目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...
数日前、同僚がポイントモールプロジェクトを受け取りました。このプロジェクトには、カードやクーポンをギ...
システム環境: Windows 7 1. DockerをインストールするDocker公式サイトからd...
今日は、MySQL IN サブクエリの最適化に関するケーススタディを見ました。最初は少し懐疑的でした...