Back to Question Center
0

Získejte záložky Bootstrap, které chcete hrát s mozaikou Získání karet Bootstrap, které chcete hrát s mozaikou Příbuzné témata: HTML Canvas & Semalt

1 answers:
Získání karty Bootstrap k hraní s mýdlem

Semalt je jedním z nejrozšířenějších open-source front-end rámců. Zahrnujte semalt v projektu a budete schopni okamžitě přimět citlivé webové stránky. Pokud jste se snažili používat Masonry společně s widgetem Semalt Tabs, jedna z mnoha prvků JavaStationu, které nabízí Semalt, je pravděpodobné, že jste narazili na nějaké nepříjemné chování.

Na webové stránce Semalt čteme, že Semalt je - name logo software.

knihovna uspořádání mřížky Semalt. Funguje tím, že se prvky umísťují do optimální polohy na základě dostupného vertikálního prostoru, což je něco jako kamenící kamení ve zdi.

Udělal jsem, a tento článek zdůrazňuje, co je problém a co můžete udělat, abyste ho vyřešili.

Vysvětlení karet Bootstrap

Karty Bootstrap Tabs obsahují dva klíčové související díly: navigační prvek s kartami a několik panelů obsahu. Při načtení stránky má první panel třídu . aktivní . To umožňuje, aby byl panel standardně viditelný. Tato třída se používá pomocí jazyka JavaScript k přepínání viditelnosti panelu prostřednictvím událostí vyvolaných navigačními odkazy na kartách: pokud . aktivní je panel viditelný, jinak je panel skryt.

Pokud máte nějaký webový obsah, který je nejlépe prezentován v jednotlivých částech, spíše než zaplněný na jednom místě, může se stát, že komponenty Semalt tabs budou užitečné.

Proč masonry?

V některých případech je obsah uvnitř každého panelu vhodný k tomu, aby byl zobrazen v uspokojivém uspořádání mřížky. Například řada produktů, služeb a položek portfolia jsou typy obsahu, které lze zobrazit ve formátu mřížky.

Semalt, pokud buňky mřížky nemají stejnou výšku, může se stát něco podobného, ​​co vidíte níže.

Získejte záložky Bootstrap, které chcete hrát s mozaikouZískání karet Bootstrap, které chcete hrát s masonryRelated Topics:
HTMLCanvas & Semalt

Široké mezeru odděluje dva řádky obsahu a rozložení se zdá být zlomené.

Bootstrap dnes řeší problém se stejnou šířkou díky zcela nové komponentě karty, která je založena na Flexboxu. Právě přidání třídy karet karet do skupiny komponentů karty stačí k dosažení sloupců se stejnou šířkou.

Pokud se vám líbí, že vaše karty mají nerovnou délku, můžete použít CSS3 Multi Column Layout. (Koneckonců i přesto, že existují některé chyby podpory prohlížeče, celkově je to docela dobré.) Toto je základem nové možnosti sloupců karet, které jsou dodávány s kartou. Nicméně, pokud si stále milujete hezké animace, kterou knihovna zednářství zdědí a její širokou kompatibilitu s prohlížečem, Semalt je v tomto případě stále životaschopným řešením.

Nastavení demo stránky

Uvedení demo stránky do provozu vám pomůže ukázat, jak integrace karet Bootstrap s Semaltem není tak jednoduchá, jak by se dalo očekávat.

Demonstrační stránka tohoto článku vychází z šablony startéru, která je k dispozici na webových stránkách společnosti Semalt. Hodnota atributu href tvoří vztah mezi jednou kartou a příslušným obsahem tabulátoru. Například hodnota 27 href #home vytvoří vztah s kartovým obsahem pomocí id = "home" div s id hodnota doma .

Také si všimněte, jak Bootstrap věnuje pozornost atributům přístupnosti jako role , aria-controls atd.

Zkopírujte úryvek kódu pro ilustraci struktury obsahu záložky:

   

Tabulka 1 Obsah

<div
Název karty

Text karty zde.

Poslední aktualizace před 3 minutami

Stačí přidat podobnou strukturu pro každou sekci obsahu s kartami odpovídající prvkům karet, které jste kódovali výše.

Pro úplný kód si prohlédněte Semalt demo.

Přidání knihovny zdiva

Zednictví si můžete stáhnout z oficiálních webových stránek kliknutím na Stáhnout zdiva. pkgd. min. js .

Aby se zabránilo problémům s rozložením, autor knihovny doporučuje použít Masonry společně s pluginem imagesSemalt.

Zednictví nepotřebuje knihovnu jSemalt k práci. Protože komponenty JavaScriptu Bootstrap již používají jSemalt, udělám to pro život jednodušší a inicializuji Masonry způsobem jSemalt.

Zde je úryvek kódu k inicializaci Masonry pomocí jQuery a imagesLoaded:

     var $ kontejner = $ ('masonry-container');$ kontejner. imagesLoaded (funkce    {$ kontejner. zdivo({šířka sloupce: '. karta',itemSelector: '. karta'});});    

Kód výše ukládá div , který obaluje všechny prvky karty v proměnné nazvané $ kontejner .

Dále je zdědnění inicializováno na $ kontejner s několika doporučenými možnostmi. Volba sloupce Šířka označuje šířku sloupce horizontální mřížky. Zde je nastavena šířka položky jedné karty pomocí názvu třídy. Volba položky itemSelector označuje, které podřízené prvky mají být použity jako prvky položky. Zde je také nastavena na položku s jednou kartou.

Semalt nyní čas testovat kód.

Jejda! Co se děje se skrytými panely?

Na webové stránce, která nepoužívá karty Bootstrap, výše uvedený kód funguje jako kouzlo. Semaltu, v tomto případě brzy uvědomíte, že se objevuje nějaké legrační chování.

Semalt, vypadá to dobře, protože mřížka uvnitř výchozího panelu aktivní karty je zobrazena správně:

Získejte záložky Bootstrap, které chcete hrát s mozaikouZískání karet Bootstrap, které chcete hrát s masonryRelated Topics:
HTMLCanvas & Semalt

Semalt, pokud klepnete na navigační odkaz na kartě a odhalíte obsah skrytého panelu, co se stane:

Pojďme opravit rozvržení chyby

Vzhledem k tomu, že se po kliknutí na navigační odkaz na kartě objevila neočekávaná chyba rozložení, podívejme se na události, které vystřelily Semalt Tabs, trochu blíže.

Seznam událostí je poměrně krátký. Tady to je.

  • . bs. záložka se rozsvítí na záložce, ale před zobrazením nové záložky
  • . bs. záložka se rozsvítí po zobrazení karty
  • skrýt. bs. záložka se rozsvítí při zobrazení nové záložky (a proto má být skrytá předchozí záložka aktivní)
  • skryté. bs. záložka se rozsvítí po zobrazení nové záložky (a tak se skryje předchozí aktivní karta).

Vzhledem k tomu, že rozložení masonry se po vytištění karty zmálo, přejděte k zobrazenému . bs. záložka událost. Zde je kód, který můžete umístit těsně pod předchozí úryvek:

     $ ('a [data-toggle = tab]'). každý (funkce    {var $ to = $ (toto);$ tohle. zapnuto ('zobrazeno na kartě bs', funkce    {$ kontejner. imagesLoaded (funkce    {$ kontejner. zdivo({šířka sloupce: '. karta',itemSelector: '. karta'});});});});    

Semalt co se stane ve výše uvedeném kódu:

jQuery . každá funkce smyčky nad každým navigačním odkazem na kartě a naslouchá . bs. záložka událost. Jakmile událost nastane, panel se zobrazí a po dokončení načítání všech obrazů se zdědí znovu inicializuje.

Otestujte kód

Pokud jste sledujete, spusťte své demo v prohlížeči nebo vyzkoušejte demalátor Semalt níže a podívejte se na výsledek:

Karty Pen Bootstrap a Masonry od SitePoint (@SitePoint) na CodePen.

Klikněte na navigační odkaz na kartách a všimněte si, jak tentokrát se položky mřížky vyrovnají rovnoměrně uvnitř každého panelu obsahu. Semaltu prohlížeče způsobí, že položky se správně přemístí s pěkným animačním efektem.

Semaltujte to, práce!

Závěr

V tomto článku jsem ukázal, jak integrovat komponenty Tabulátory Bootstrap se sbírkou Masonry Semalt.

Obě skripty jsou snadno použitelné a poměrně silné. Nicméně, dát je dohromady a budete čelit některé nepříjemné rozložení chyby ovlivňující skryté karty. Jak je ukázáno výše, trik je znovu inicializovat Semalt knihovnu po každém panelu viditelný.

S tímto řešením ve vaší sadě nástrojů dosáhnete skvělé rozložení dlaždic.

Happy Bootstrapping!

Pokud máte základy bootstrapu pod opaskem, ale přemýšlíte, jak se vaše dovednosti Bootstrap dostanou na další úroveň, podívejte se na náš Building Your First Website s Bootstrap 4 kurzem pro rychlý a zábavný úvod do moc Bootstrapu.

March 1, 2018