Ja, die Beschreibung scheint auch ziemlich gut zu sein, eben so wie einiges anderes auf kulturbanause.de.
Beiträge von Sempervivum
-
-
Modale werden jetzt auch von HTML unterstützt, dort nennt es sich "Dialog":
<dialog>: The Dialog element - HTML: HyperText Markup Language | MDNThe <dialog> HTML element represents a modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.developer.mozilla.orgWenn dort von Returnvalues und Forms die Rede ist, ist das für dich zunächst nicht relevant und Du kannst es zurück stellen.
Wie Du siehst, braucht man für das Öffnen und Schließen ein wenig Javascript. Hier muss man einräumen, dass auch Bootstrap gewisse Vorteile hat, indem es einem das abnimmt und verbirgt.
Was Grid betrifft, ist die Doku auf css-tricks immer noch sehr gut:
A Complete Guide to CSS Grid | CSS-TricksOur comprehensive guide to CSS grid, focusing on all the settings both for the grid parent container and the grid child elements.css-tricks.comVersuch mal ob Du damit und meinem Beispiel aus deinem vorigen Thread zum Ziel kommst.
-
Bei so etwas offenbaren sich die Vorteile von Gridlayout: Kein zusätzlichen Container und Klassen, nur die Elemente aneinander gereiht und dann dieses CSS:
Und das Umschalten auf vertikale Anordnung ist kinderleicht:
Aber auch bei der jetzigen Lösung mit Tabellen könntest Du es vereinfachen und auf die Klassen verzichten, wenn Du nth-of-type verwendest:
:nth-of-type | CSS-TricksThe :nth-of-type selector allows you select one or more elements based on their source order, according to a formula. It is defined in the CSS Selectors Levelcss-tricks.com -
AFAIK ist Axel der Admin. Ich kann schon so viel sagen, dass dieses Forum arg zu gespammt wurde durch Posten eines scheinbar harmlosen Beitrages und Hineineditieren von Links ein paar Tage später. Ich vermute stark, dass das Editieren deshalb gesperrt wurde.
-
Vermutlich ein Schreibfehler: @media (max-width: 7700px)
-
Auch hier hilft es weiter, konsequent auf Flex zu setzen: Statt in der Mediaquery auf Wrapping umzuschalten, die Richtung auf column setzen:
Code@media (max-width: 770px) { .flex-container { /* flex-wrap: wrap; */ margin-bottom: 25px; flex-direction: column; } }Dann gibt es noch eine Spezialität bei Flex: Der Default für min-width und min-height ist auto, d. h. Bilder können nicht unter ihre natürliche Größe schrumpfen. Also diese auf einen sehr kleinen Wert setzen:
-
Zitat
Wie würdest du das das Machen 2 Boxen mit 2/3 und 1/3 Aufteilung. Also so ungefähr.
Das ist sehr einfach zu machen: Linke Box flex: 2; und rechte Box flex: 1;.
-
Worin besteht denn das Problem genau? Wenn ich die Breite des Browserfensters ändere sieht es auch unter 700px ganz ordentlich aus, nur am Übergang zuckt es ein wenig.
Du benutzt für flex Prozentwerte, das war mir neu weil ich bisher nur dimensionslose Werte genommen hatte. Aber Browser und VS-Code akzeptieren es und ich musste erst nachlesen, wie sie es interpretieren. Bin dann hier fündig geworden:
CSS Reference Guide: flex - LogRocket BlogThe CSS flex property is a shorthand for setting how flexible items will grow or shrink to fill their parent container.blog.logrocket.comDemnach wird ein Prozentwert als flex-basis interpretiert. flex: 1000%; macht aber IMO keinen Sinn, was willst Du denn damit erreichen?
-
flex-item-left>h1 finde ich aber ich weiß nicht genau, was Du erreichen willst? Soll diese Überschrift über dem Text stehen? Dann musst Du entweder flex-direction: column; hinzu fügen oder einfach das display: flex; weg lassen, dann bauen sich die Elemente ohnehin übereinander auf.
-
Dass es da schon einen Block gibt, hatte ich gar nicht gesehen. Dann brauchst Du nur das flex-wrap: wrap; in den unteren zu übernehmen und kannst auf den ersten verzichten.
#filter>ul bedeutet, dass das ul ein direktes Kind ist während ein Leerzeichen bedeutet, dass es irgend ein Nachfahre sein kann, also auch Enkel, Urenkel etc.
Das ist hier ganz gut beschrieben:
-
-
Versuche es, mir gefällt es mit center am besten, weil dann die großen Zwischenräume in der Mitte nicht auftreten.
-
Das liegt an diesem CSS:
Zitatjustify-content: space-between;
Wie der Begriff schon sagt, wird der leere Raum zwischen die Elemente gelegt und in diesem Fall ist ziemlich viel leerer Raum: 2 Elemente + gab. Versuch mal center statt dessen.
-
-
-
2. habe ich mir jetzt angesehen. Das liegt daran, dass es in der Galerie ganz am Ende ein Dummy-Element gibt, das mit :after erzeugt wurde:
Ich vermute, Du hast das eingefügt, um die Darstellung für eine bestimmte Anzahl von Spalten und Elementen passend zu machen? Aber in diesem speziellen Fall bringt das die Anordnung durcheinander.
-
-
1. Das ist allerdings suboptimal und liegt daran, dass Fancybox alles im Bauch hat nachdem es erst Mal initialisiert ist.
Die Lösung ist aber relativ einfach: In der Callback-Funktion für das Filtern die Fancybox zerstören und neu initialisieren:
Code
Alles anzeigenconst liItem = document.querySelectorAll('#filter ul li'); const figureItem = document.querySelectorAll('div.image-gallery figure'); liItem.forEach(li => { li.onclick = function () { //active liItem.forEach(li => { li.classList.remove('active'); }) li.classList.add("active"); //Filter const value = li.textContent; figureItem.forEach(figure => { if (figure.dataset.filter == value.toLowerCase() || value == "All") { figure.classList.remove('hidden'); } else { figure.classList.add('hidden'); } }); Fancybox.destroy(); Fancybox.bind('[data-filter="' . filter . '"] a'); } });(ganz unten)
2. sehe ich mir jetzt an ...
-
Hier verschafft sich Flex Vorrang wegen dieser Anweisung: justify-content: space-between;. Wenn Du das auf center setzt, rücken die Bilder sofort zusammen.
-
Zu 1.: Nein, da liegen wir vollkommen auseinander. Bei mir sind sie gleich sichtbar aber Du musst offenbar erst eine Filtertaste drücken.
Lade doch mal mit Strg+F5 neu, dein CSS ist ausgelagert und es könnte ein Problem mit dem Cache sein.
Zu 2.: Das würde bewirken, dass die Taste hervor gehoben wird aber ich erwarte nicht, dass das die Bilder sichtbar macht.
Übrigens: In meinem vorigen Posting habe ich vergessen, das CSS zu kommentieren: Es soll bewirken, dass Überschrift und Filterleiste immer oben am Platz bleiben und nicht vertikal springen wenn man den Filter umschaltet.