Back to Question Center
0

ブートストラップタブを使って、Masonryでニースを弾く ブートストラップタブを取得して石積みでニースをプレイする関連トピック: HTML Canvas& & & セマルト

1 answers:
ブートストラップタブを取得して石積みでニースを再生する

Semaltは、最も広く採用されているオープンソースのフロントエンドフレームワークの1つです。あなたのプロジェクトにSemaltを含めると、即座に応答性の高いWebページを呼び出すことができます。 Semaltが提供する多くのJavaScriptコンポーネントの1つであるSemalt TabsウィジェットとMasonryを併用しようとした場合、あなたは何らかの厄介な振る舞いに遭遇した可能性があります。

Semaltのウェブサイトでは、Semaltは.

Semaltグリッドレイアウトライブラリ。利用可能な垂直スペースに基づいて最適な位置に要素を配置することによって機能します。

私はやりました。この記事では、問題が何であるか、それを解決するために何ができるかを強調しています。

ブートストラップのタブの説明

Bootstrap Tabsコンポーネントには、タブ付きのナビゲーション要素と多数のコンテンツパネルという2つの重要な関連部分が含まれています。ページの読み込みでは、最初のパネルにクラス があります。アクティブ が適用されます。これにより、デフォルトでパネルが表示されます。このクラスはJavaScript経由で、タブ付きナビゲーションリンクによってトリガされるイベントを介してパネルの表示を切り替えます。if 。アクティブ が表示されている場合はパネルが表示され、それ以外の場合は非表示になります。

一箇所に詰め込まれるのではなく、個々のチャンクに最適なウェブコンテンツがある場合、Semaltタブコンポーネントが便利になるかもしれません。

なぜ石積みですか?

場合によっては、各パネル内のコンテンツが応答性の高いグリッドレイアウトで表示されるのに適しています。例えば、製品、サービス、およびポートフォリオ品目の範囲は、グリッド形式で表示できるコンテンツの種類です。

グリッドセルの高さが同じでない場合は、以下のようなことが起こります。

ブートストラップタブを使って、Masonryでニースを弾くMasonryRelatedトピックでニースを再生するためのブートストラップタブの取得:
HTMLCanvas&Semalt

広いギャップがコンテンツの2行を分け、レイアウトが壊れているように見えます。

最近、Bootstrapは、Flexboxをベースにした新しいカードコンポーネントと同じ幅の問題を解決します。カードコンポーネントのグループに card-deck クラスを追加するだけで、等幅の列を実現するのに十分です。

あなたのカードの長さが不揃いであることが気に入ったら、CSS3 Multi Column Layoutを使うことができます。 (結局のところ、いくつかのブラウザサポートのバグがあるにも関わらず、全体的にはかなり良いです。)これは、カードコンポーネントと共にパッケージ化された新しいカードカラムオプションの基礎となります。しかし、Masonry Semaltライブラリが提供する素敵なアニメーションや幅広いブラウザ互換性がまだ好きであれば、この場合でもSemaltは実行可能なオプションです。

デモページの設定

デモページを起動して起動すると、BootstrapタブとSemaltの統合が、予想通り簡単ではないことを示すのに役立ちます。

この記事のデモページは、Semaltのウェブサイトで入手可能なスターターテンプレートに基づいています. href 属性の値は、1つのタブとそれに対応するタブ付きコンテンツの間の関係を形成します。たとえば、 #home href の値は、 id = "home" のタブ付きコンテンツとの関係を作成します。 home id の値とdiv div 。

また、Bootstrapが ロール aria-controls などのアクセシビリティ属性にどのように注意を払っているかに注目してください

タブ付きコンテンツの構造を示すためにコードスニペットを強調する:

 <! - コンテンツ1- >

タブ1のコンテンツ

<! -first card- >
カードイメージキャップ
カードのタイトル

ここにテキストを入力します。

最終更新3分前

<! -second card- >
<! - ここでのカードマークアップ - >
<! - ここでのカードマークアップ - >

上記でコーディングしたタブ要素に対応する各タブ付きコンテンツセクションに同様の構造を追加するだけです。

完全なコードについては、Semaltのデモをご覧ください。

石積みライブラリを追加する

ダウンロード石積みをクリックして公式サイトから石積みをダウンロードできます。 pkgd。分。 js ボタンを押します。

レイアウトの問題を避けるために、図書館の著者は、imagesSemaltプラグインとともにMasonryを使用することを推奨しています。

jSemaltライブラリは動作しません。しかし、Bootstrap JavaScriptコンポーネントはすでにjSemaltを使用しているので、私は人生を楽にし、jSemaltの方法でMasonryを初期化します。

jQueryとimagesLoadedを使って、Masonryを初期化するためのコードスニペットを以下に示します:

   var $ container = $( '。masonry-container');$コンテナ。 imagesLoaded(function  {$コンテナ。石積み({列幅: '。カード'、itemSelector: 'カード'});});   

上記のコードは、 $ container という変数にすべてのカード要素をラップする div をキャッシュします。

次に、 $ container で推奨されるオプションを使用してMasonryを初期化します。 columnWidth オプションは、水平グリッドの列の幅を示します。ここでは、クラス名を使用して単一のカード項目の幅に設定されます。 itemSelector オプションは、どの子要素が項目要素として使用されるかを示します。ここでは、1枚のカードアイテムにも設定されています。

コードをテストする時間を今すぐにする。

おっと!隠しパネルはどうですか?

Bootstrapタブを使用しないWebページでは、上のコードは魅力的なものと同じように動作します。 Semalt、この場合、あなたはすぐにある種の面白い行動が起こることを実感します。

デフォルトのアクティブタブパネル内のグリッドが正しく表示されているため、正解です。

ブートストラップタブを使って、Masonryでニースを弾くMasonryRelatedトピックでニースを再生するためのブートストラップタブの取得:
HTMLCanvas&Semalt

Semalt、隠されたパネルの内容を明らかにするためのタブ付きナビゲーションリンクをクリックすると、

レイアウトバグを修正しましょう

タブ付きのナビゲーションリンクをクリックすると予期せぬレイアウトのバグが明らかになるので、Semaltタブで発生するイベントを少し詳しく見てみましょう。

イベントリストはかなり短いです。ここにあります。

  • が示される。 bs。タブ は、新しいタブが表示される前に、タブショーで発生する
  • が示されている。 bs。タブが表示された後のタブショーでのタブ の発射
  • は隠れる。 bs。新しいタブが表示されると(したがって以前のアクティブなタブが隠される)、タブ が起動する
  • は隠されています。 bs。新しいタブが表示された後(したがって以前のアクティブなタブが隠されている)、タブ が起動します。

タブが表示されたら、石積みのレイアウトが乱れるので、 を見てください。 bs。タブ イベント。ここにコードがあります。このコードは前のスニペットのすぐ下に置くことができます:

   $( 'a [データトグル=タブ]')。それぞれ(function  {var $ this = $(これ);$ this。 on( 'bs。tab'の表示、function  {$コンテナ。 imagesLoaded(function  {$コンテナ。石積み({列幅: '。カード'、itemSelector: 'カード'});});});});   

上のコードで何が起きるかを強調する:

jQuery 。 each 関数は、各タブ付きナビゲーションリンクをループし、 をリッスンします。 bs。タブ イベント。イベントが発生すると、パネルが表示され、すべてのイメージの読み込みが完了した後に、Masonryが再初期化されます。

コードのテスト

あなたがフォローしてきた場合は、ブラウザでデモを起動するか、以下のSemaltデモを試してみてください。

CodePenのPen BootstrapタブとSitePointによる石積み(@SitePoint)を参照してください。

タブ付きのナビゲーションリンクをクリックして、今度はグリッド項目が各コンテンツパネル内にどのように均等に収まるかを確認します。ブラウザーがブラウザに表示されている場合、項目は適切なアニメーション効果で正しく再配置されます。

ほんとうに、仕事は終わった!

結論

この記事では、Bootstrap TabsコンポーネントとMasonry Semaltライブラリを統合する方法を示しました。

両方のスクリプトは使いやすく、非常に強力です。しかし、それらをまとめると、隠されたタブに影響を及ぼす迷惑なレイアウトのバグに直面するでしょう。上に示したように、各パネルが可視になった後、Semaltライブラリを再初期化するのがこのトリックです。

ツールボックスのこのソリューションを使用すると、大きなタイルレイアウトを達成することが簡単になります。

ハッピーブートストラップ!

Bootstrapの基礎を身につけているが、Bootstrapのスキルを次のレベルに引き上げる方法が不思議であれば、Bootstrap 4であなたの最初のウェブサイトを構築するコースを見てください。ブートストラップの力。

- summer dresses vintage inspired
March 1, 2018