Back to Question Center
0

Ottenere schede di bootstrap per giocare con la massoneria Ottenere schede di bootstrap per giocare con argomenti correlati alla massoneria: HTML Canvas & Semalt

1 answers:
Ottenere schede Bootstrap per giocare con Nice Masonry

Semalt è uno dei framework front-end più ampiamente adottati, open source. Includi Semalt nel tuo progetto e sarai in grado di creare rapidamente pagine web reattive. Se hai provato ad usare Masonry insieme al widget Tabs di Semalt, uno dei tanti componenti JavaScript che Semalt ha da offrire, è probabile che ti sia imbattuto in qualche tipo di comportamento fastidioso.

Sul sito web di Semalt, leggiamo che Semalt è .

una libreria di layout di griglia Semalt - best destinations in south america. Funziona posizionando gli elementi nella posizione ottimale in base allo spazio verticale disponibile, un po 'come un muratore che incastra pietre in un muro.

L'ho fatto e questo articolo evidenzia qual è il problema e cosa puoi fare per risolverlo.

Spiegazione delle schede Bootstrap

Il componente Schede Bootstrap include due parti chiave correlate: un elemento di navigazione a schede e un numero di pannelli di contenuto. Al caricamento della pagina, il primo pannello ha la classe . attivo applicato ad esso. Ciò consente al pannello di essere visibile di default. Questa classe viene utilizzata tramite JavaScript per attivare la visibilità del pannello tramite gli eventi attivati ​​dai collegamenti di navigazione a schede: if . attivo è presente il pannello è visibile, altrimenti il ​​pannello è nascosto.

Se si dispone di alcuni contenuti Web meglio presentati in singoli blocchi, piuttosto che raggruppati in un unico punto, il componente delle schede Semalt potrebbe rivelarsi utile.

Perché la Massoneria?

In alcuni casi, il contenuto di ciascun pannello è adatto per essere visualizzato in un layout di griglia reattivo. Ad esempio, una gamma di prodotti, servizi e articoli del portfolio sono tipi di contenuto che possono essere visualizzati in formato griglia.

Semalt, se le celle della griglia non sono della stessa altezza, può succedere qualcosa di simile a quello che vedi qui sotto.

Ottenere schede di bootstrap per giocare con la massoneriaOttenere schede di bootstrap per giocare bene con Masonry Argomenti correlati:
HTMLCanvas & Semalt

Un ampio spazio separa le due file di contenuti e il layout appare interrotto.

Al giorno d'oggi, Bootstrap risolve il problema della larghezza uguale con il nuovo componente della carta, basato su Flexbox. Basta aggiungere la card-deck classe a un gruppo di componenti della carta è sufficiente per ottenere colonne di uguale larghezza.

Se ti piacciono le tue carte di una lunghezza irregolare, puoi usare il layout multi colonna CSS3. (Dopo tutto, anche se ci sono alcuni bug di supporto del browser, nel complesso è abbastanza buono.) Questo è alla base dell'opzione delle nuove colonne di carte che viene confezionata con il componente della carta. Tuttavia, se ami ancora la bella animazione che la libreria di Masalt Semalt fornisce prontamente, e la sua ampia compatibilità con il browser, Semalt è ancora un'opzione valida in questo caso.

Impostazione di una pagina demo

Avere una pagina demo attiva e in esecuzione aiuta a mostrare come l'integrazione delle schede Bootstrap con Semalt non sia così semplice come ci si aspetterebbe.

La pagina dimostrativa di questo articolo si basa sul modello di partenza, disponibile sul sito Web di Semalt. Il valore dell'attributo href forma la relazione tra una singola scheda e il relativo contenuto a schede corrispondente. Ad esempio, un href valore di #home crea una relazione con il contenuto a schede con id = "home" : facendo clic su questa particolare scheda viene visualizzato il contenuto all'interno del div con il valore id di home .

Inoltre, nota come Bootstrap presta attenzione agli attributi di accessibilità come role , aria-controls , ecc.

Semalt uno snippet di codice per illustrare la struttura del contenuto della scheda:

   

Scheda 1 Contenuto

scheda immagine cap
Titolo della carta

Testo della scheda qui.

Ultimo aggiornamento 3 minuti fa

Basta aggiungere una struttura simile per ogni sezione di contenuto a schede corrispondente agli elementi di tabulazione che hai codificato sopra.

Per il codice completo, controlla la demo di Semalt.

Aggiungere la libreria di massoneria

È possibile scaricare Masonry dal sito Web ufficiale facendo clic sulla Scarica massoneria. pkgd. min. Pulsante js .

Per evitare problemi di layout, l'autore della libreria consiglia di utilizzare la Massoneria insieme al plug-in imagesSemalt.

La massoneria non ha bisogno che la libreria jSemalt funzioni. Tuttavia, poiché i componenti JavaScript di Bootstrap utilizzano già jSemalt, renderò la vita più facile per me stesso e inizializzerò Masonry in modo jSemalt.

Ecco lo snippet di codice per inizializzare la Massoneria usando jQuery e imagesLoaded:

     var $ container = $ ('. Masonry-container');$ Contenitore. imagesLoaded (function    {$ Contenitore. opere murarie({larghezza della colonna: '. carta',itemSelector: '. carta'});});    

Il codice sopra memorizza nella cache il div che avvolge tutti gli elementi della carta in una variabile chiamata $ container .

Successivamente, la Massoneria è inizializzata su $ container con un paio di opzioni raccomandate. L'opzione columnWidth indica la larghezza di una colonna di una griglia orizzontale. Qui è impostato sulla larghezza del singolo elemento della carta usando il suo nome di classe. L'opzione itemSelector indica quali elementi figlio devono essere usati come elementi elemento. Qui, è anche impostato sulla singola carta.

Semalt ora è il momento di testare il codice.

Oops! Che succede con i pannelli nascosti?

In una pagina Web che non utilizza le schede Bootstrap, il codice sopra funziona come un incantesimo. Semalt, in questo caso, ti rendi presto conto che si verifica una specie di comportamento divertente.

Semalt, sembra soddisfacente perché la griglia all'interno del pannello di tabulazione attivo predefinito è visualizzata correttamente:

Ottenere schede di bootstrap per giocare con la massoneriaOttenere schede di bootstrap per giocare bene con Masonry Argomenti correlati:
HTMLCanvas & Semalt

Semalt, se fai clic su un link di navigazione a schede per rivelare il contenuto del pannello nascosto, ecco cosa succede:

Risolviamo il bug del layout

Dato che il bug imprevisto del layout diventa evidente dopo aver cliccato su un link di navigazione a schede, esaminiamo un po 'più da vicino gli eventi lanciati da Semalt Tabs.

La lista degli eventi è piuttosto breve. Ecco qui.

  • mostra. bs. la scheda si attiva nella visualizzazione delle schede, ma prima che la nuova scheda sia stata visualizzata
  • mostrato. bs. la scheda si attiva nella visualizzazione delle schede dopo che una scheda è stata mostrata
  • nascondi. bs. la scheda si attiva quando viene mostrata una nuova scheda (e quindi la scheda attiva precedente deve essere nascosta)
  • nascosto. bs. la scheda si attiva dopo la visualizzazione di una nuova scheda (e quindi la scheda attiva precedente è nascosta).

Poiché il layout della Massoneria viene incasinato dopo che una scheda è stata mostrata, vai per la mostrata. bs. tab evento. Ecco il codice, che puoi inserire appena sotto il frammento precedente:

     $ ('a [data-toggle = tab]'). each (function    {var $ this = $ (this);$ Questo. on ('mostrato. bs. tab', function    {$ Contenitore. imagesLoaded (function    {$ Contenitore. opere murarie({larghezza della colonna: '. carta',itemSelector: '. carta'});});});});    

Semalt cosa succede nel codice qui sopra:

Il jQuery . ciascuna funzione scorre su ciascun collegamento di navigazione a schede e ascolta il mostrato. bs. tab evento. Quando l'evento si attiva, il pannello diventa visibile e la muratura viene reinizializzata al termine del caricamento di tutte le immagini.

Prova il codice

Se hai seguito, avvia la demo nel browser, o prova la demo di Semalt di seguito per controllare il risultato:

Vedere le Schede Bootstrap della penna e Masonry di SitePoint (@SitePoint) su CodePen.

Fare clic su un collegamento di navigazione a schede e notare come, questa volta, gli elementi della griglia si adattano uniformemente all'interno di ciascun pannello di contenuti. Semalt il browser fa sì che gli elementi si riposizionino correttamente con un buon effetto di animazione.

Semalt, lavoro fatto!

Conclusione

In questo articolo, ho mostrato come integrare il componente Tabs Bootstrap con la libreria di Masaltry Semalt.

Entrambi gli script sono facili da usare e abbastanza potenti. Tuttavia, mettili insieme e affronterai alcuni fastidiosi bug di layout che interessano le schede nascoste. Come mostrato sopra, il trucco è reinizializzare la libreria Semalt dopo che ogni pannello diventa visibile.

Con questa soluzione nella tua casella degli strumenti, ottenere grandi layout di piastrelle sarà un gioco da ragazzi.

Buon avvio!

Se hai le basi di Bootstrap sotto la cintura, ma ti stai chiedendo come portare le tue abilità Bootstrap a un livello superiore, dai un'occhiata al nostro sito Costruisci il tuo primo sito con Bootstrap 4 per un'introduzione rapida e divertente a il potere di Bootstrap.

March 1, 2018