Beiträge von Sempervivum

    Tag und Monat ziehst Du ja schon korrekt heraus:

    02. Dezember

    Nur ist das kein Format, das für das Date-Objekt verständlich ist.

    Es gibt zwei Wege, das Problem zu lösen:

    Von Hand das Datum in das Iso-Format YYYY-DD-MM umwandeln

    oder

    moment.js verwenden, um das Datum zu parsen:

    Moment.js | Docs

    Es gibt evtl. noch eine bessere Möglichkeit, die Du prüfen kannst:

    Das Datum im ISO-Format als Data-Attribut in den Sections ablegen. Wenn die maschinell erzeugt werden, ist das wahrscheinlich machbar.

    Zitat

    Plan wäre die h1 in der section auszurichten oben, rechts oder links egal. Deshalb habe ich ihr display-flex mitgegeben. Ob das richtig war ist fraglich.

    Dass sie nicht oben ist, liegt daran, dass der Container #my-new-section von main>section justify-content: center; erbt. Ändere ich es auf start rutscht die Überschrift sofort nach oben.

    Zitat

    Wie bekomme ich horizontal Abstand zwischen die boxen? mit row-gab hatte ich kein erfolg.

    row-gap musst Du beim Container notieren, tue ich das, funktioniert es.

    Code
    #my-new-section {
        /* flex: 1; */
        flex-direction: column;
        background-color: lightsalmon;
        border: 20px solid blue;
        row-gap: 5px;
        justify-content: start;
    }

    flex: 1; macht hier keinen Sinn, da wir den Container ja nicht flexibel wollen sondern er soll eine feste Höhe haben entspr. der des Browserfensters.

    Außerdem beobachte ich jetzt, wenn ich rechts die Entwicklerwerkzeuge offen habe, dass einige der Boxen horizontal über den Container hinaus ragen. Das liegt daran, das Du ihnen eine feste Breite gegeben hast. Damit verschenkst Du den eigentlichen Vorteil von Flexlayout, dass sich die Elemente an das Browserfenster anpassen. Deaktiviere ich die Breitenangabe schrumpfen die Boxen in der Breite und orientieren sich am Inhalt.

    Code
    #my-new-section .box1 {
        display: flex;
        /* width: 250px; */
        height: 80px;
        background-color: pink;
    }

    Dadurch werden sie dann sehr schmal, weil nichts drin steht als box1, box2, ... aber das liegt daran, dass das eine Testversion ist ohne ausgefüllte Inhalte.

    Du willst diese Überschrift im neuen Container links ausrichten, nicht wahr? Dazu brauchst Du align-items: flex-start; beim Flex-Container #my-new-section weil Du die Flex-Items durch flex-direction: row; untereinander anordnest. Da wird auch sofort offensichtlich, warum es flex-start heißt statt left: Je nach Anordnung bewirkt das mal Ausrichtung left oder top, start ist dagegen ein Begriff, der allgemein passt. Alternativ kannst Du auch align-self bei der Überschrift bzw. dem Flex-Item verwenden, das wirkt dann, wie der Name sagt, nur auf diese Überschrift:

    Code
    #my-new-section>h1 {
        color: red;
        align-self: start;
    }

    Guten Morgen Emess ,

    dein letztes Posting #20 verstehe ich so, dass Du Probleme siehst, bestimmte Elemente anzusprechen bei der momentanen Struktur deiner Seite. Diese Probleme sehe ich nicht. Gib doch mal ein oder zwei Beispiele wo Du meinst, dass es nicht geht.

    I. allg. sollten die Elemente so angeordnet werden wie es von der Semantik her geboten ist. Es gibt einige Ausnahmen durch die Beschränkungen von CSS aber die sehe ich bei deinem Layout ebenfalls nicht.

    Zitat

    Mein Idee wäre die  main komplett zu entfernen und dem Header eine id zb. #kopf. Also <header id="kopf">

    Die Notwendigkeit sehe ich nicht. Das ist ja ein Vorteil, dass man bei semantischen Tag in gewissem Umfang auf Klassen und IDs verzichten kann. So weit ich das überblicke, hast Du im Moment nur einen Header und dann ist ein Selektor nur mit dem Tagnamen ausreichend:

    Code
    header {
        /* Mach was mit dem Header */
    }

    Anders kann es aussehen, wenn Du auch in deinem Modal header und footer verwenden möchtest. Auch dann kann man es wahrscheinlich über Kind- oder Nachfahrenselektoren regeln aber zur Klarheit kann eine Klasse oder ID angebracht sein.

    Auf dem Bild sind die Boxen ja einfach nebeneinander angeordnet.

    Ich habe mich mal an diesem orientiert:

    Zitat

    Die Boxen sollen rein ich sag einfach mal

    box1 box2

    box3

    box 4

    box 5 - 7

    und das wieder im Seiteninspektor eingerichtet.

    Damit das Styling der Boxen auch wirkt, wenn diese in einem weiteren Container stecken, musst Du statt des Pfeils ">" jetzt ein Leerzeichen im Selektor verwenden:

    Code
    #my-new-section .box1 {
        display: column; /* <-- das gibt es nicht, der Browser erkennt es als fehlerhaft. */
        /* align-self: flex-start; */
        margin-left: 30px;
        width: 250px;
        height: 80px;
        row-gap: 5px;
        background-color: pink;
    }

    Und dann die Boxen in den beiden Wrappern mit der Klasse "horizontal" nebeneinander anordnen:

    Code
    .horizontal {
        display: flex;
    }

    Ich hoffe, ich habe nichts vergessen.

    Dann sieht es so aus:

    pasted-from-clipboard.png

    Zitat

    1. Sollte da jetzt nicht eine lachfarbene Fläche mit einen 2px blauen Rahmen zusehen sein? Ist es aber nicht!

    Anscheinend hast Du das HTML oben im Screenshot nicht bemerkt:

    Code
    <section id="my-new-section">
        <div></div>
        <div></div>
    </section>

    Die beiden divs müssen drin sein, damit das zu sehen ist.

    Zu 3.: Das CSS ist vollkommen richtig. Ein Selektor kann sowohl Tagnamen als auch Klassen als auch IDs enthalten (und noch mehr).

    Zitat

    Zweck der Sache ist: Das ich jede section für sich stylen kann ohne, dass es Auswirkung auf die gesamte Seite (css) hat.

    Du hast ja den einzelnen Sections schon jeweils eine ID gegeben und ich habe für die neue "my-new-section" verwendet. Wenn Du die benutzt, kannst Du gezielt die Elemente ansprechen, die in der betr. Section liegen und alle anderen bleiben außen vor:

    Code
    main>section#my-new-section>h1 {
        margin: 2rem 0;
    }

    Wobei Du das main>section auch weg lassen kannst, weil es die ID ja nur ein Mal gibt.

    Ich hoffe, ich verstehe das richtig: Du willst, so wie in der Section "Über mich" einen weiteren Container einbauen und der soll zentriert sein? In dem Fall hättest Du ja statt des body die Section für die Unterseite und müsstest darin einen weiteren Container, z. B. ein div, einbauen und den zentrieren.

    Allerdings kannst Du das dann wahrscheinlich auch, ohne diesen Zusatzcontainer, durch ein einfaches Padding für die Section erreichen (wenn ich an dein Bild oben denke).

    Zitat

    Neugier und Altersspieltrieb

    Das war auch bei mir eine Antriebsfeder ;)

    Es ist ja so, dass man so gut wie alle HTML-Elemente nach Belieben stylen kann, Farben, Ränder, Schatten, und und und. Das Select macht hier eine Ausnahme und häufig kommt die Frage auf, wie man es denn dort macht. Und es ist häufig so, dass man sich ein einheitliches und individuelles Erscheinungsbild wünscht und auch dabei steht einem dann das Select im Wege. Außerdem ist sein Erscheinungsbild vom Browser abhängig, noch etwas, das häufig unerwünscht ist.

    Auch die Browserhersteller haben dieses Problem erkannt, wie Du in Posting #3 sehen kannst. Aber wahrscheinlich wird noch Zeit ins Land gehen, bis das etabliert ist.

    Auslöser waren dann zwei Fragen in einem anderen Forum.

    Update:

    • Bei den Radiobuttons fehlten die Namen, fügt man sie hinzu, kann man problemlos mit den Pfeiltasten navigieren. Allerdings funktioniert das nur, wenn sie nicht durch das Attribute "hidden" unsichtbar gemacht werden sondern durch ein Klasse, die die Breite auf 0 setzt.
    • Klasse "keep open" hinzu gefügt, diese hält das Select nach Auswahl einer Option sichtbar.
    • Eventlistener nicht für window sondern für das aktuelle Select.

    Ich habe das jetzt auf Custom-Elemente und connectedCallback umgestellt.

    Funktioniert einwandfrei und das JS ist sogar ein wenig einfacher geworden.

    Cool was man so alles machen und lernen kann.