Beiträge von Sempervivum

    Hier schon mal eine Demo, die die Kreise anordnet:

    Zitat

    Komischerweise funktioniert das mit diesem Code problemlos. Ich verstehe aber nicht warum.

    Das habe ich auch zunächst nicht verstanden, denn das Display deines Samsung-Handys hat eine Breite von über 1000px und dürfte mit dieser Mediaquery eigentlich nicht auf column-Layout umschalten. Ich habe jedoch weiter recherchiert und mit meinem Samsung S4 getestet und dies gefunden:

    https://webplatform.github.io/…/understanding-css-units/

    Sie schreiben dort:

    Zitat

    The CSS pixel is a ‘reference’ pixel, not a device pixel. This is misleading and, personally, I prefer the notion of ‘user unit’ that SVG uses because I think it is easier to then explain the mapping to physical units and device pixels. But once one understands that a ‘px’ is actually a reference, not a device pixel, things make more sense. The thing to remember is that a CSS px is an abstract unit and there is a ratio controlling how it a) maps to actual device pixels and b) maps to physical units (in a fixed way, the ratio is always 96 CSS px to an inch).

    D. h. die Pixel von CSS haben nichts mit den Pixeln des Displays zu tun. Offenbar ergibt sich die Breite in CSS-Pixeln durch die Breite des Displays in physikalischen Pixeln dividiert durch devicePixelRatio. Und das heißt weiter, dass die Berechnung, die ich in #22 erwähnt habe, automatisch durch den Browser stattfindet, man braucht sich darum nicht zu kümmern.


    Bei meinem S4 wird eine devicePixelRatio von 3 angezeigt und eine CSS-Breite des window von 360px (im Hochformat).

    Nein, leider nicht. Das mit den hochauflösenden Displays ist eine Sache, in die ich mich selber noch nicht so eingearbeitet habe. Eine richtige Wissenschaft für sich, auch wenn es darum geht, Bilder verschiedener Auflösung einzubinden. Man sieht ja, dass die Pixelbreite u. U. kein geeignetes Kriterium mehr ist, um zwischen Desktop und Handy zu unterscheiden. Es gibt da eine Pixeldichte, auf die man auch in CSS Zugriff hat, aber alles noch nicht richtig ausgereift mit teilweise proprietärer Syntax.

    Sieht gut aus und funktioniert bei mir ebenfalls, wenn ich es per Copy&Paste in meine Testdatei übertrage.

    Versuche, auf dem PC das Browserfenster stark zu verkleinern in der Breite, ob er dann auf die vertikale Anordnung umschaltet. 500px kommen mir relativ gering vor, weil viele Handys ein hohe Auflösung haben.

    Ja, das habe ich getestet und bei mir funktioniert es. In deinem Posting hast Du es falsch geschrieben

    flex-direction: colum;

    statt

    flex-direction: column;

    aber wahrscheinlich ist das nur ein Übertragungsfehler?

    Auf den Bildern kann ich leider gar nichts erkennen, da sind bei mir nur Schleier und Schatten.


    Zitat
    Komischerweise funktioniert es, wenn ich anstatt 1200PX einfach 62% verwende. Ich weiß aber nicht ob das richtig ist

    Richtig oder falsch ist hier weniger die Frage, sondern ob Du damit zu einer Darstellung kommst, die auf allen Monitoren gut aussieht. Wenn ich das mit den 62% ausprobiere, habe ich das Problem, dass bei schmalem Browserfenster, auch wenn die Mediaquery greift, links und rechts Platz verschenkt wird. Eine einfache Möglichkeit, beiden, schmalen und ganz breiten Browserfenstern gerecht zu werden, ist, max-width statt width zu verwenden. Dann ufert die Breite auf der einen Seite nicht aus und auf der anderen Seite wird bei schmalerem Browserfenster der verfügbare Platz ausgenutzt.

    Gern.


    Deaktiviert man die feste Breite für #homepage, so verschwindet die horizontale Scrollbar und man kann die Seite auf einen Blick erfassen.


    Und die vertikale Anordnung erreichst Du mit diesem CSS:

    Code
            @media screen and (max-width: 500px) {
                #row {
                    flex-direction: column;
                }
            }


    Damit die Sidebar auch dann sichtbar ist, musste ich ihr eine min-height verpassen. Wenn erst Mal Inhalte drin sind, kann das entfallen.


    Code
            .sidebar {
                flex: 1;
                min-height: 470px;
                background-color: #000;
            }

    Was die HG-Grafiken betrifft, so müsste man wissen, wie Du dir die Anzeige vorstellst. Es gibt da ja diverse Varianten, gekachelt oder nicht gekachelt etc. Kannst Du sie vielleicht an dein nächstes Posting anhängen?

    Zitat

    Ich möchte, dass sich alle Container auf dem Handy untereinander anordnen. Verwende ich dann flex-direction innerhalb der Media-Queries ?

    Dann war meine Vermutung ja richtig und die Verwendung von flex-direction:column in der Mediaquery wäre der beste Weg.


    Zitat

    Das Design verwendet Grafiken, welche eine feste Breite haben. Das Layout soll auf dem PC 1200PX breit sein und sich auf einem Mobilgerät entsprechend adaptieren. Vor Allem sind ja alle Werte relativ beziehen sich also auf etwas.

    Nicht jeder hat seinen Browser im Vollbild laufen, ich auch nicht und ich muss horizontal scrollen, um den Bereich rechts sehen zu können. Responsives Layout verstehe ich so, dass sich das Layout an die Breite des Browserfensters anpasst. Das schließt die Verwendung von Hintergrund-Grafiken nicht aus, es gibt CSS-Anweisungen um die Größe an den umgebenden Container anzupassen.

    Da kann man ja vor lauter schwarz kaum etwas erkennen ;)


    Ein Kernproblem ist, dass Du dem Container #homepage eine feste Breite gegeben hast. Damit hebelst Du das Flexlayout insofern aus, als zwar die Verteilung der Breite von 3:1 passt, aber das Layout passt sich nicht an das Browserfenster an und man muss scrollen.


    BTW: Das Body-Element ist nicht tabu für Styling, man kann diesem ebenfalls ein display:flex geben und hat dann einen Container weniger.


    Was die Mediaquery betrifft, so ist mir nicht ganz klar, was Du damit erreichen willst. Naheliegend wäre ein vertikale Anordnung auf einem schmalen Bildschirm. Wolltest Du da vielleicht 100% statt 100px schreiben?

    Eine vertikale Anordnung kannst Du leichter erzielen, wenn Du das Layout auf flex-direction:column umschaltest.


    Edit: Ich sehe gerade, dass der schwarze Hintergrund dadurch kommt, dass ich die Hintergrundbilder nicht habe.

    Dann probiere mal dieses:

    https://webentwicklung.ulrichbangert.de/hover.html

    Ich habe zusätzlich das Bild etwas nach links oben verschoben, weil es sonst vom Finger bedeckt ist.