mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 20:55 Benutzername: Passwort: Auto-Login

Thema: [CSS] Bildergalerie horizontal zentrieren (responsive) vom 13.12.2017


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> [CSS] Bildergalerie horizontal zentrieren (responsive)
Autor Nachricht
Seeker_44
Threadersteller

Dabei seit: 15.09.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 13.12.2017 15:09
Titel

[CSS] Bildergalerie horizontal zentrieren (responsive)

Antworten mit Zitat Zum Seitenanfang

Hallo miteinander

Ich versuche seit Stunden, eine Bildergalerie in reinem CSS zu kreieren, deren Thumbnails über die ganze Breite des Viewports verteilt sind und die auf "display:inline-block" eingestellt sind, damit sie automatisch auf die jeweils nächste Zeile umbrechen, sobald der Viewport schmaler wird.

Die Thumbnails sollen linksbündig sein. Jedoch soll der gesamte Thumbnail-"Block" horizontal zentriert im Viewport dargestellt werden, was ich partout nicht schaffe.

Ich habe dem Body "text-align:left" zugewiesen und das Wrapper-Element auf "display:inline" gestellt, damit es eingemittet dargestellt wird und nicht 100% des Eltern-Elements einnimmt, sondern nur gerade so breit ist, wie die Thumbnail-Reihen.

Siehe hier: https://jsfiddle.net/ta6bue2o/2/

Leider kann ich diesem Wrapper-Element kein "text-align:left" zuweisen – es ist schlichtweg wirkungslos. :(

Folgende Alternativen habe ich schon erfolglos versucht:
- Display:Table (mit und ohne display:table-cell in Kombination)
- Position:absolute (mit "left:50%" und über "translate(-50%, 0)" den Minuswert)
- Display:inline-block
- Float:left

Entweder waren diese Alternativen nicht geeignet für die Lösung meines Problems oder ich habe sie falsch angewendet.

Irgendwie müsste es zu schaffen sein, dass der Wrapper auf der untersten Zeile gleich lang ist, wie auf den darüberliegenden Zeilen, damit die darin enthaltenen roten Quadrate linksbündig dargestellt werden, ohne dass der ganze Wrapper auf die linke Seite des Viewports "rutscht".

Da ich mich mit JS nicht auskenne, wäre eine CSS-Lösung ideal!

Hat jemand einen Rat für mich?
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 13.12.2017 17:59
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
text-align: center;


*zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
hadouken

Dabei seit: 07.11.2015
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 13.12.2017 18:04
Titel

Antworten mit Zitat Zum Seitenanfang

Es geht nicht.

text-align kann nur auf block-container angewendet werden. inline erzeugt keinen block-container.
inline-block erzeugt einen block-container, seine Breite errechnet sich aber vorm auto. Umbruch des contents.
Ist also größer als sein content. Mit justify-content und flex verhält es sich genauso.

Die einzige Lösung ist die maximal mögliche Anzahl von Elementen pro Zeile zu ermitteln und genau soviele Elemente mit korrekter Breite aber height: 0 (oder sonstwie optisch versteckt) ans Ende zu stellen.
  View user's profile Private Nachricht senden
Seeker_44
Threadersteller

Dabei seit: 15.09.2009
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 14.12.2017 14:39
Titel

Antworten mit Zitat Zum Seitenanfang

@ hadouken:

Danke für deine ausführliche und einleuchtende Antwort. Es schien mir ein so simples Problem zu sein, dass ich mir einbildete, CSS schafft das locker. Aber es ist vermutlich doch komplizierter ...

Zitat:
Die einzige Lösung ist die maximal mögliche Anzahl von Elementen pro Zeile zu ermitteln und genau soviele Elemente mit korrekter Breite aber height: 0 (oder sonstwie optisch versteckt) ans Ende zu stellen.

Tausend Dank für diesen cleveren Trick. So mach ich's! :D

Hier der aktuelle Stand: https://jsfiddle.net/ta6bue2o/5/
  View user's profile Private Nachricht senden
l8rdude

Dabei seit: 30.07.2009
Ort: Nordhorn
Alter: -
Geschlecht: Männlich
Verfasst Mo 18.12.2017 15:31
Titel

Antworten mit Zitat Zum Seitenanfang

Dein Post hat mich neugierig gemacht...

Entweder habe ich die Fragestellung nicht zu 100% verstanden, oder aber es ist genau so simpel wie du dir es vorgestellt hast: https://codepen.io/zerfl/full/ea068870e66a65cdeaf1d02e9fb0ceb0/ (Der Container hat zur 'center'-Veranschaulichung ein max-width gesetzt).

Grüße,
  View user's profile Private Nachricht senden
hadouken

Dabei seit: 07.11.2015
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 20.12.2017 10:15
Titel

Antworten mit Zitat Zum Seitenanfang

Yoah, Internet Explorer mag halt nicht so richtig mitspielen *Schnief* aber ansonsten nice *Thumbs up!*

Allerdings mit

Code:
justify-content: center

für gleichmäßige vertikale und horizontale gaps und damit einspaltige Layouts auch zentriert werden.

Und
Code:
grid-template-columns: repeat(auto-fit, 50px)

damit auch einzeilige Layouts zentriert werden.

https://jsfiddle.net/ta6bue2o/8/
  View user's profile Private Nachricht senden
 
Ähnliche Themen [CSS] Zentrieren vertikal und horizontal
[CSS] Textnavigation horizontal zentrieren
[CSS] Seite horizontal zentrieren
[CSS] Fixen Container horizontal und vertical zentrieren
Dreamweaver - Responsive CSS
Responsive Webdesign
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.