Projekt Flexbox Galerie mit Isotopen Auswahl

  • Ich sehe schon einen Fehler:

    Code
    // falsch:
    // if (figure.dataset['data-filter'] == value.toLowerCase() || value == "All Menu") {
    
    if (figure.dataset.filter == value.toLowerCase() || value == "All Menu") {

    Den hatte ich schon lokal korrigiert.

    Ich versuche jetzt alles umzusetzen dann lade ich neu hoch

  • So es ist neu hochgeladen

    style.css

    filter.css

    und das script

    noch ist aber der Wurm drin

  • Was fehlt ist, dass Du das data-Attribut jetzt auch in das figure-Tag verschieben musst:

    Code
                      <figure data-filter="food">
                        <a data-fancybox="gallery" href="img/galerie/food/kul3.jpg">
                          <img src="img/galerie/food/kul3_t.jpg"alt="" />
                          <figcaption class="overlay">Tortilla</figcaption>
                      </a>
                      </figure>  
  • Wenn man versteht, wie es funktioniert, kann man das alles durch logische Überlegung herleiten.


    Das Layout ist immer noch ein wenig unsauber. Wenn ich ein display:none hinzu füge, sieht es besser aus. Und auf das flex-basis kann man dann verzichten:

    Code
    figure.hidden {
        /* flex-basis: 0; */
        display: none;
    }
  • Ich hab mir mal den gesamten Code genau angeschaut um auch alles nachvollziehen und verstehen.

    Dabei ist mir aufgefallen, dass ich viel weniger und verständlichen html- Code habe als zb. mit Bootstrap.


    Was ich gut fände wäre, wenn ich einen Fliter bei der Galerie auswähle die animiert zu ihrem Platz gleiten. so wie hier

    Ben Yahia


    Ist das überhaupt möglich bzw. wie groß wäre der Aufwand?

  • Zitat

    Dabei ist mir aufgefallen, dass ich viel weniger und verständlichen html- Code habe als zb. mit Bootstrap.

    Das ist genau der Grund, warum ich selbst kein Freund von Bootstrap bin. Freut mich, dass Du das auch so siehst.


    Was die Animation mit dem Gleiten zum Platz betrifft, so habe ich das schon bei Isotope gesehen, das Du am Anfang gepostet hattest. So weit ich das überblicke werden dort die Positionen nicht mit Flex oder Grid fest gelegt sondern komplett mit Javascript berechnet.

    Auf der einen Seite bin ich nicht so dafür, das Rad neu zu erfinden aber auf der anderen wäre es eine interessante Herausforderung, so etwas wie bei Ben Yahia selbst aufzubauen. Der Effekt, dass die Bilder von unten her eingleiten, wäre noch relativ einfach zu machen: Wie bisher die Positionen durch Flex festlegen lassen, aber direkt nach dem Filtern durch transform:translate die Position nach unten verschieben und dann mit transform: translate(0,0) an den endgültigen Platz gleiten lassen. Die Animation kann man dabei durch CSS machen lassen, man braucht nur die Positionen am Anfang und Ende zu setzen.

  • Vielleicht wäre das ja für dich eine Herausforderung . Für mich ist es ein nettes Gadget auf das ich warte bist jemand es umgesetzt hat.

    Also erstmal unwichtig.


    Was mir wirklich aufgefallen ist und mir nicht gefällt ist:

    Wenn ich die Seite aufrufe und über den Link Galerie zu dieser wechsel ist erst mal leer erst bim betätigen eines Filters werden die Bilder angezeigt.

    Ich habe das

    CSS
      figure.hidden {
            /* flex-basis: 0; */
            display: none;
            }

    im verdacht.

    Da müsst wohl noch was dazu

  • Nein, ich meinte im HTML:

    Code
    <figure data-filter="dog" class="hidden">

    hast Du die Klasse schon zugewiesen. Einfach dort weg lassen, dann werden am Anfang gleich alle Elemente angezeigt.

    Code
    <figure data-filter="dog">
  • Bin ich blöd? langsam bekomm ich zweifel :/

    ich find da keine class="hidden" . Sorry aber ich vertsteh dich da gerade nicht

  • Ich verstehe das jetzt auch nicht: Wenn ich jetzt miflo.de lade, sind die Bilder am Anfang sichtbar und keine Klasse "hidden" am figure.

    Dieses:

    Code
    <figure data-filter="dog" class="hidden">

    hatte ich aus miflo.de kopiert, allerdings aus der Inspektor-Ansicht, d. h. diese Klasse kann genau so gut durch JS gesetzt worden sein. Da habe ich wohl ein wenig Verwirrung gestiftet, tut mir Leid.


    Da die Bilder jetzt nach dem Laden sichtbar sind, ist aber jetzt alles OK, hoffe ich?

  • Ich hab das jetzt so verstanden

    Das hat bei mir keine Auswirkung. Nach dem Hochladen und klick auf Galerie in der Navigation kommt das

    gal1.jpeg


    Erst wenn ich auf einen Filter klicke kommen entsprechen Bilder. Aber die Thumbnails sollten ja gleich zu sehen sein.

  • Jetzt verstehe ich überhaupt nichts mehr: Bei meinem Posting #57 waren nach dem Laden alle Bilder sichtbar und keine Klasse "hidden" im figure. Also alles in Ordnung.


    Jetzt ist die Klasse jedoch drin, auch in der Quelltextansicht und folgerichtig keine Bilder sichtbar. In dem folgenden Screenshot habe ich mit dem Seiteninspektor die Klasse gelöscht und sofort wird das eine Bild sichtbar.

    pasted-from-clipboard.png


    Auf jeden Fall muss diese Klasse heraus aus dem HTML. Wenn Du sie in deinem Editor nicht siehst, müssen wir weiter forschen.

  • ok jetzt ist es so

    was mich etwas irritiert, ist dass h1 Überschrift und ie Filterauswahl erst mittig angezeigt wird und erst bei Filteranwendung alles hochrutscht und man die Bilder sehen kann.


    CSS
    #galerie {
        background-color:rgb(56, 52, 59);
        min-height: 100vh;
        padding-bottom: 40px;
    }  

    vielleicht ist hier was falsch?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!