Beiträge von Sempervivum

    OK, dann scheidet eine Datenbank auf dem ESP also definitiv aus.

    Und die genannten Einschränkungen, dass die Daten nur auf dem eigenen Computer verfügbar sind, könntest Du damit leben? Man könnte sie händisch per USB-Stick oder Email auf einen anderen bringen und dort einlesen.

    Zitat

    Die .html Seite ist von der Funktion so das ich dort einen Http post absende mit einer json.

    Das verstehe ich auch noch nicht: Du schickst das JSON von deinem lokalen Computer an den ESP? Und was passiert dort damit?

    Mal sehen ob ich das richtig verstehe: Der Benutzer gibt also etwas ein und damit sollen Daten aus einem Datenbestand gefunden und angezeigt werden?

    Und was diesen Datenbestand betrifft schreibst Du:

    Zitat

    Auf eine Datenbank kann ich nicht zurückgreifen, da ich technisch sehr eingeschränkt bin (läuft auf einen ESP). Die Struktur der Daten müsste also lokal passieren.

    Lokal gibt es localStorage für kleinere Datenbestände und indexedDB für größere. Beides ist jedoch nicht nur an den Computer gebunden sondern auch an den Browser. D. h. von einem anderen Computer aus könntest Du auf diese Daten nicht zugreifen.

    Du schreibst zwar, dass deine Möglichkeiten auf dem ESP eingeschränkt sind, ich finde da aber einiges über SQLite-Bibliotheken. Vielleicht doch eine Möglichkeit?

    Ich war ein paar Stunden weg und die Diskussion ist weiter gegangen, aber will nicht versäumen, die Frage von AndreasB in #35zu beantworten:

    Zitat von AndreasB

    Kannst du erklären, wieso dieser Weg "verfehlt" ist?

    Gern. Wie der Name schon sagt, ist Grid dafür entwickelt worden, ein Gitter zu produzieren. Dieses erstreckt sich in zwei Dimensionen, horizontal und vertikal. Haben wir nur zwei Container neben einander, fehlt die zweite Dimension und die Anwendung eines Grid macht keinen Sinn. Hier ist dann Flex besser geeignet, weil sich dieses auf eine eindimensionale Anordnung beschränkt. Und mit flex:1 für beide Flexitems kann man problemlos die selbe Breite einstellen. Damit habe ich noch nie irgend welche Probleme gehabt.

    Übrigens, ich vergaß zu erwähnen: Bei einem Posting wie #30 mit dem umfangreichen HTML und CSS ohne Erklärungen oder Kommentare frage ich mich ebenfalls, wo die Mitglieder sind, die sonst leidenschaftlich das Posten von fertigem Code beanstanden.

    Mit der Bildergalerie hast Du ja schon einen richtigen Anwendungsfall für ein Grid erkannt. Da müsste eigentlich offensichtlich sein, dass die Anwendung, die ich in #32 zitiert habe, verfehlt ist.

    Natürlich kann es sinnvoll sein, auch Alternativen aufzuzeigen aber diese müssen Sinn haben, damit niemand beim Lernen in eine falsche Richtung geführt wird.

    Code
          .content header {
             display: grid;
             grid-template-columns: 1fr 1fr;
          }

    So etwas kann man nun wirklich nicht mehr ernst nehmen. Ein Grid, um simpel zwei Container neben einander anzuordnen. Semantik Adé!

    Hast Du das CSS irgend wie durch einen Übersetzer gejagt? "Flex-Richtung" etc. gibt es natürlich nicht.

    Der Grund dafür, dass das "justify-content" die Buttons nicht trennt, ist, dass es nur greift, wenn freier Raum vorhanden ist. Weil in dem div.buttons die Elemente direkt unter einander gepackt werden, ist das jedoch nicht der Fall. Weist Du diesem div eine Höhe zu, funktioniert das "space-between" sofort:

    Code
    .buttons {
        display: flex;
        flex-direction: column;
        width: 5%;
        justify-content: space-between;
        height: 10em; /* <-- hier */
    }

    Nein, ein wenig anders herum, ich erkläre es im Code:

    Dann kannst Du mit CSS das Element hervor heben:

    Code
    a.active {
        font-weight: bold;
    }

    Hallo Christian,

    keine Ahnung von diesem Skel aber ich habe da ein Javascript in der Schublade, das mit wenigen Zeilen den aktiven Link in der Nav hervor hebt:

    Code
            const url = document.location.href;
            document.querySelectorAll('#navigation li a').forEach(item => {
                if (url.includes(item.href)) {
                    item.classList.add('active');
                }
            });

    Möglicher Weise geht es damit schneller als es in Skel heraus zu suchen.

    Interessante Frage. Du beschreibst das relativ abstrakt, ich habe das mal mit einem einfachen Beispiel untersucht. Grundsätzlich kann man mit animation-play-state eine Animation pausieren. Versuche ich jedoch dann, über hover eine andere Transformation anzuwenden, funktioniert das nicht zuverlässig:

    Meine nächste Idee war, die Transformation im hover-Status auf einen Wrapper anzuwenden. Das funktioniert:

    Dabei kann man allerdings schon diskutieren ob das sauber ist oder Trickserei mit dem Wrapper.

    Außerdem muss man Obacht geben, dass das Element durch die Transformation den hover-Status nicht wieder verliert, ist mir durch ein translate passiert.

    Generell gehöre ich zu der Fraktion, die dagegen ist, auf Biegen und Brechen alles nur mit CSS zu realisieren. Besser die Webanimation-API verwenden, dann hat man alles im Griff und kann es auf direktem Wege steuern.

    Ich stand vor ein paar Monaten vor dem selben Problem: Das SSD war abgeraucht und ich hatte die Gelegenheit benutzt für ein Upgrade auf mehr Speicher. Du schreibst nicht, welche Software Du verwendest. Ich hatte eine Sicherung von Clonezilla. Dort gab es eine Option in den erweiterten Einstellungen, mit der man Clonezilla veranlassen konnte, beim Rücksichern die C-Partition zu erweitern. Das hat dann einwandfrei funktioniert.

    Such doch mal in deiner Software, ob Du eine Option findest, gleich beim Clonen bzw. Einspielen der Sicherung die Partition zu erweitern statt es hinterher zu tun.

    Deine Vorgehensweise ist richtig, aber deine nav hat einen schwarzen Hintergrund und überdeckt das Hintergrundbild des header. Wenn Du das löschst wird sofort das Hintergrundbild sichtbar, jedenfalls wenn ich es im Seiteninspektor hinzu füge:

    Code
    header {
        background-image: url(img/header.png);
        background-size: auto;
        display: flex;
        align-items: center;
        background-size: contain;
    }

    Also keine Klasse nötig, ich musste aber background-size: contain; nehmen, damit das Bild sichtbar wird, denn das meiste dieses Bildes ist ja schwarz

    PS: Ich habe noch Mal in das Video hinein geschaut und meine Vermutung hat sich bestätigt: Logo und Hamburger horizontal in einer Linie und darunter das Menü. Das kannst Du leicht erreichen, indem Du die Anordnung in der Mediaquery auf vertikal umschaltest, also flex-direction: column;

    Die gesamte Mediaquery würde dann so aussehen:

    Nachdem wir die Anordnung auf untereinander umgeschaltet haben hat das align-self: flex-start; jetzt den Effekt, dass das Logo links angeordnet wird.

    Zitat

    desktop vertikal zu weit oben

    Da habe ich jetzt nicht daran gedacht: Das darf nur in der Mobilansicht wirksam sein, also in die Mediaquery hinein:

    Bei der unteren Grafik weiß ich jetzt nicht genau was Du meinst: Logo und Hamburger horizontal in einer Linie und darunter das Menü?

    BTW: Bei dem Posting #19 frage ich mich, wo die Mitglieder sind, die ständig das Posten von fertigem Code beanstanden. In diesem Fall gibt sich der Fragesteller große Mühe, sich das Verständnis für die Dinge zu erarbeiten und es ist fraglich, ob das Copy&Paste von fertigem Code dabei zielführend ist. Der Lernfortschritt wird dabei gleich null sein.

    Siehe auch hier:

    Stef
    19. Juni 2018 um 10:40

    Du bekommst den Abstand zwischen Brand und Nav nicht weil Du Brand in das ul hinein verschoben hast.

    1. Ist das nicht valide, denn ein ul kann nur li-Element enthalten
    2. Passt es semantisch nicht weil Brand mit der Nav nichts zu tun hat.
    3. Wird es schwieriger, den Abstand zwischen Brand und Nav hinzubekommen.

    Ändere das HTML wieder zurück:

    Und um Brand mittig zu bekommen, lasse das Margin weg und zentriere es vertikal:

    Code
    .brand {
        /* margin: 20px; */
        font-size: 1.2em;
        font-weight: bold;
        color: aqua;
        /* Wir zentrieren es vertikal
        align-self wirkt nur auf dieses Element */
        align-self: center;
    }