この記事の例では、ネイティブJSカプセル化vueタブ切り替えの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 まずは効果画像をご覧ください使用される技術vue.js、css3 の最新バージョンをダウンロード Vueコンポーネントは直接使用できる <テンプレート> <div class="bookcircle-header"> <ul class="wrapper" :class="headerActive == 0 ? 'friend' : 'booklist'"> <li @click="headerChange(0)" :class="headerActive == 0 ? 'active' : ''"> ブックフレンズ</li> <li @click="headerChange(1)" :class="headerActive == 1 ? 'active' : ''"> 書籍リスト</li> </ul> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ コンポーネント: {}, データ() { 戻る { ヘッダーアクティブ: 0, }; }, 計算: {}, 作成された() {}, マウント() { //送信を初期化します。this.$emit("change", this.headerActive); }, メソッド: { ヘッダー変更(インデックス) { this.headerActive = インデックス; this.$emit("change", インデックス); }, }, }; </スクリプト> <style lang="less" スコープ> .bookcircle-header { 高さ: 42px; ディスプレイ: フレックス; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 .ラッパー{ 幅: 286ピクセル; フォントサイズ: 14px; 高さ: 29px; 色: #1489fe; 境界線: 1px 実線 #1489fe; 境界線の半径: 14px; ディスプレイ: フレックス; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 位置: 相対的; box-sizing: border-box; // 境界のオーバーフローを解決し、ボックス内に境界を含める li { フレックス: 1; 高さ: 100%; ディスプレイ: フレックス; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 zインデックス: 2; } 。アクティブ { 色: 白; } &::前に { コンテンツ: ""; 幅: 143ピクセル; 高さ: 100%; 背景色: #1489fe; 位置: 絶対; 上: 0px; 左: 0px; 境界線の半径: 13px 0px 0px 13px; zインデックス: 1; 遷移: すべて 0.3 秒; } &.firend::before { 変換: translateX(0); 境界線の半径: 13px 0px 0px 13px; } &.booklist::before { 変換: translateX(100%); 境界線の半径: 0px 13px 13px 0px; } } } </スタイル> 実施原則:ul、li、フレキシブル ボックスを使用します。まず、親要素の幅と高さを設定します。次に、フレキシブル ボックスを使用して子要素 li を水平方向に拡張します。子要素 li に flex: 1 を設定すると、子要素は親要素の幅を共有します。 次に、最初の li 要素を絶対配置でカバーする親要素の疑似要素を設定し、z-index 属性を使用して疑似要素と子要素間の階層的な表示関係を制御します。 次に、疑似要素に transition 属性を設定し、transform: translateX(); 属性を使用して要素を水平方向に移動します。 注記: 1. スイッチのクリック イベントは子要素にあり、アクティブ スタイルは子要素に追加されていますが、タブの切り替え効果は子要素ではなく、親要素の疑似要素を通じて実現されます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Ubuntu サーバーで MySQL を設定し、リモート接続を実装する方法
>>: VMware Workstationはデバイス/資格情報ガードと互換性がありません
LinuxでのMySQL5.7 rpmのインストール方法を参考までに記録します。具体的な内容は以下の...
HTML4 についてHTML (XHTML ではありません)、MIME タイプは text/html...
ステップ1: サードパーティの信頼できるSSL証明書に署名するAlibaba Cloud で直接、無...
CSS3 はアニメーションを作成でき、多くの Web ページのアニメーション画像、Flash アニメ...
背景プロジェクト開発プロセスでは、前のページから次のページにジャンプする必要に迫られることがよくあり...
通常、全員のスピーチを最初から最後まで読む必要があります。ただし、Stack Overflow には...
li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...
ここでは、フォーム要素とフォーム送信に関する知識を紹介します。フォーム要素フォーム要素の DOM イ...
背景同社のサーバーはすべて Alibaba Cloud ECS ホストを購入しています。デフォルトの...
この記事では、例を使用して、MySQL マスター/スレーブ レプリケーションと読み取り/書き込み分離...
MySQL 8.0.12のダウンロードとインストールのチュートリアルは参考までに、具体的な内容は次の...
目次1. インストール2. インポート3. 検証ルールを定義します(エクスポート用に js ファイル...
背景日本語を学び始めた当初は、日本語の50音を覚えるのは簡単ではなく、特にカタカナを覚えるのは困難で...
1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...
目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...