Joachim Fröhlich: Flexbox - grid-Layout

0 53

Flexbox - grid-Layout

Joachim Fröhlich
  • flexbox
  1. 0
    Felix Riesterer
    1. 0
      Joachim
      1. 0
        Jonathan Harker
        • javascript
        • programmiertechnik
        1. 0
          Joachim
          1. 0
            Jonathan Harker
            1. 0
              Joachim
            2. 0
              Jonathan Harker
              1. 0
                Joachim Fröhlich
                1. 0
                  Jonathan Harker
                  • grid
                  1. 0
                    Joachim Fröhlich
                    1. 2
                      Jonathan Harker
                      1. 0
                        Joachim Fröhlich
      2. 2
        Rolf B
        1. 0
          Joachim Fröhlich
          1. 3
            Felix Riesterer
            1. 0
              Joachim Fröhlich
              1. 0
                Joachim
                1. 1
                  Felix Riesterer
                  • dhtml
                  • usability
                  1. 0
                    Felix Riesterer
                    1. 0
                      Joachim
                      1. 0
                        Felix Riesterer
                        1. 0
                          Joachim
                          1. 0
                            Felix Riesterer
                            1. 0
                              Joachim
                      2. 0
                        Felix Riesterer
          2. 2
            Rolf B
            1. 0
              Joachim
              1. 0
                Joachim
              2. 0
                Joachim
              3. 0
                Joachim
              4. 0
                Felix Riesterer
                1. 0
                  Matthias Scharwies
                  • grid
                2. 0
                  Joachim
                  1. 0
                    Matthias Scharwies
                    • grid
                    • javascript
                  2. 0
                    Rolf B
                    1. 0
                      Joachim
                      1. 0
                        Joachim
                      2. 0
                        Matthias Scharwies
                        • formulare
                        • javascript
                      3. 0
                        Felix Riesterer
                        • formulare
                        • javascript
    2. 0
      Joachim
      1. 0
        Felix Riesterer
        1. 0
          Joachim
          1. 0
            Felix Riesterer
            1. 0
              Joachim
              1. 0
                Felix Riesterer
          2. 0
            ThomasM
            1. 0
              Joachim
        2. 0
          Gunnar Bittersmann
          • mathml
          • typografie
          • unicode
          1. 0
            Gunnar Bittersmann
            • latex
            • mathml
            1. 0
              Joachim
            2. 0
              Joachim
              1. 0
                Gunnar Bittersmann

problematische Seite

Guten Tag,

kann mir jemand zeigen, wie man die Aufgaben 1 und 2 sowie 10 und 11 genau untereinander bekommt. Habe es mit grid.layout versucht, klappt nicht, vor allen Dingen möchte ich keine Breite angeben. Wäre schön, wenn jemand etwas dazu einfällt, ob mit oder ohne grid. Gruß Joachim.

  1. problematische Seite

    Lieber Joachim,

    Wäre schön, wenn jemand etwas dazu einfällt, ob mit oder ohne grid.

    Da fallen mir diese Dinge ein:

    1. Wir hatten das doch schon, dass die Lösung besser nicht per PDF-Datei angeboten werden sollte.
    2. Das Korrigieren meiner Eingabe im entsprechenden Input-Feld ist keine sinnvolle Rückmeldung meines Fehlers. Vielleicht will ich es ja vorher noch einmal versuchen, bevor Du mir die Lösung verrätst? Besser wäre es, den Mechanismus zum Einblenden der Lösung so zu verbessern, dass er technisch intuitiver genutzt werden kann (siehe 1.), dann kann ich vielleicht auch gleich die Lösung anschauen, bevor ich meine Eingabe mache.
    3. Die Bedienung Deiner Aufgaben ist unnötig umständlich. Wenn Du schon Aufgaben 1, 2, 10 und 11 anzeigst, dann sollten sie ohne weiteren Bedienschritt benutzbar sein. Ich muss aber zuerst den Button mit ihrer Nummer betätigen, ehe ich die Lösung eintragen darf! Nicht schön!
    4. „Bitte klicken.“ ist kein guter Linktext. Besser wäre es „Zu den Primzahlen“ als Link anzubieten. Da stellt sich aber insgesamt gleich die Frage nach einer sinnvollen Navigation.
    5. Wo sind eigentlich die Aufgaben 3-9? Eine Info-Box sagt etwas „zu den Aufgaben 1-9“, jedoch sehe ich die Aufgaben 3-9 nicht, sondern nur 1 und 2. Sehr irreführend!
    6. Beschäftige Dich mit inhaltsleeren Elementen. Diese haben kein schließendes Tag. Und wenn Du Abstände irgendwo haben möchtest, dann verwende dafür bitte keine leeren Textabsätze, sondern eine geeignete Dokumentstruktur! Du kannst ja gerne für eine Aufgabe ein <div>-Element verwenden, dem Du dann eine Klasse (z.B. Aufgabe) gibst, um via CSS Elementen mit dieser Klasse einen Abstand nach unten zu geben.
    7. Erstelle Deine Seite mit einer gut durchdachten Semantik, damit generelle Gestaltung mit CSS sinnvoll möglich wird. Aktuell denkst Du in Papierform, also in etwa „das soll (genau) so aussehen“.

    Wenn Du ein vernünftiges (weil semantisch logisches) Markup (HTML-Code) hast, dann kann man darüber reden, ob Flexbox oder Grid für Deine Vorstellungen das Werkzeug der Wahl ist.

    Liebe Grüße

    Felix Riesterer

    1. problematische Seite

      Guten Abend Felix, danke für Deine nachdenkenswerten Anmerkungen. Meine Überlegungen: Der Nutzer soll sich eine Aufgabe durch Klick aussuchen, dann ist entweder der Focus auf dem Eingabefeld oder er hat den Link zur Lösung. Den Link zu den Primzahlen werde ich ändern. Die Aufgaben 3 - 9 gibt es deswegen noch nicht, weil ich vorher gerne eine Lösung für 1 und 2 hätte. Was schlägst Du statt pdf vor? Herzliche Grüße Joachim

      1. problematische Seite

        Hallo Joachim,

        Was schlägst Du statt pdf vor?

        Text ist immer Text in den passenden semantischen Elementen. Der ist dann von alleine responsiv. Mit CSS kannst du ihn formatieren.

        Der Nutzer soll sich eine Aufgabe durch Klick aussuchen,

        Ich würde ihm in einer Auswahl verschiedene Aufgabentypen vorschlagen. Wenn er auf den passenden (Radio)-Button klickt, erhält er eine Aufgabe.

        Vorteil von JavaScript ist, dass du den Aufgabentext als Text auslieferst und die entsprechenden Werte durch eine Zufallsfunktion bei jeder Runde anders sind und vom Script in die Aufgabe geschrieben werden.
        So wie du es machst, ist der Spaß nach 1x vorbei.

        Bis bald!
        Jonathan

        --
        Was ja kaum einer weiß:
        Lorem Ipsum ist ein Zitat von Julius Caesar, was übersetzt so viel heißt wie
        „Das schlimme am Internet ist, dass man nie weiß, ob Zitate echt sind.“
        1. problematische Seite

          Guten Abend Jonathan, Im Moment wäre ich erst mal froh, wenn ich mein Problem lösen könnte. Im übrigen: gelungener Autorenname. SchönenAbend. Joachim

          1. problematische Seite

            Hallo Joachim,

            Im Moment wäre ich erst mal froh, wenn ich mein Problem lösen könnte.

            Flexbox und Grid wirken nur auf direkte Kindelemente.

            <div class="container">
            
               <div class="aufgabe">
                  <button  id="aufgabe1" >1</button>
                  <p>1 840</p> 
                  <input  id="eintrag1" maxlength="12" size="10" >
                </div>
                <div class="aufgabe">              
                    <button id ="aufgabe10">10</button>
                    <p >Bestimmen Sie das kgV von<br>
                      2, 3, 4, 5, 6, 10, und 12.</p>
                       <input id="eintrag10" maxlength="2" size="1" >
                 </div>
            </div>
            

            Ich habe die Aufgaben in ein div gepackt.

            Script sollte nicht in HTML stehen.

            Die Input-Elemente brauchen label.

            Der Container ist ein Grid:

            container {
              display: grid;
             grid-template-columns: 1fr 1fr;
              gap: 1em;
            }
            

            Mein Tipp: Mach mal eine Programmmierpause und lies einige Grundlagen-Tutorials.

            Bis bald!
            Jonathan

            Im übrigen: gelungener Autorenname.

            Mina freut sich auch, bald so zu heißen.

            --
            Was ja kaum einer weiß:
            Lorem Ipsum ist ein Zitat von Julius Caesar, was übersetzt so viel heißt wie
            „Das schlimme am Internet ist, dass man nie weiß, ob Zitate echt sind.“
            1. problematische Seite

              Lieber Jonathan, danke für Deinen Programmiervorschlag. Was die Grundlagen angeht, so beschäftige ich mich intensiv damit, komme leider nicht immer zur Lösung. Herzliche Grüße an Mina. Joachim

            2. problematische Seite

              Hallo @Joachim Fröhlich

              Der Container ist ein Grid:

              container {
                display: grid;
               grid-template-columns: 1fr 1fr;
                gap: 1em;
              }
              

              Es gibt kein <container>-Element. Es muss so heißen:

              .container {
                 display: grid;
                grid-template-columns: 1fr 1fr;
                 gap: 1em;
              }
              

              Der Punkt spricht die Klasse an. Sorry.

              Bis bald!
              Jonathan

              --
              Was ja kaum einer weiß:
              Lorem Ipsum ist ein Zitat von Julius Caesar, was übersetzt so viel heißt wie
              „Das schlimme am Internet ist, dass man nie weiß, ob Zitate echt sind.“
              1. problematische Seite

                Guten Morgen Jonathan, habe Deinen Vorschlag ausprobiert. Wenn ich das so gemacht habe, werden die einzelnen Elemente auf dem Laptop links untereinander nicht nebeneinander angezeigt. Gruß Joachim

                1. problematische Seite

                  Hallo Joachim,

                  sorry wegen des fehlenden Punkts.

                  Hast du im Seiteninspektor / den Dev Tools geschaut, ob

                  • die Selektoren greifen?
                  • eine CSS-Eigenschaft nicht funktioniert?

                  Bis bald!
                  Jonathan

                  --
                  Was ja kaum einer weiß:
                  Lorem Ipsum ist ein Zitat von Julius Caesar, was übersetzt so viel heißt wie
                  „Das schlimme am Internet ist, dass man nie weiß, ob Zitate echt sind.“
                  1. problematische Seite

                    Jonathan, die Seite sieht dann so aus. Irgendwie reagiert mein Code anders auf die Änderung. Gruß Joachim

                    1. problematische Seite

                      Hallo Joachim,

                      Jonathan, die Seite sieht dann so aus. Irgendwie reagiert mein Code anders auf die Änderung.

                      Gestern schrieb ich:

                      Flexbox und Grid wirken nur auf direkte Kindelemente.

                      Ich habe Dein Beispiel in den Dev tools von Chrome untersucht. Mit [F12] kommst du da rein und mit einem Klick auf grid erscheinen die Hilfslinien:

                      Du hast das CSS übernommen, nicht aber das von mir veränderte HTML-Markup.

                      Bevor du weitermachst, einige Tipps:

                      1. Mach Dir einen Plan, wie du Dein Quiz am einfachsten und benutzerfreundlichsten gestalten kannst.
                      2. Felix schrieb gestern:
                        Erstelle Deine Seite mit einer gut durchdachten Semantik, damit generelle Gestaltung mit CSS sinnvoll möglich wird. Aktuell denkst Du in Papierform, also in etwa „das soll (genau) so aussehen“.
                      3. Überprüfe Deine Seite im Validator nach Fehlern.
                      4. Lies dieses Tutorial durch - es ist wirklich nützlich!
                        Arbeiten_mit_dem_Seiteninspektor

                      Bis bald!
                      Jonathan

                      --
                      Was ja kaum einer weiß:
                      Lorem Ipsum ist ein Zitat von Julius Caesar, was übersetzt so viel heißt wie
                      „Das schlimme am Internet ist, dass man nie weiß, ob Zitate echt sind.“
                      1. problematische Seite

                        Jonathan, kriege das nicht hin. Was muss ich am html ändern? Joachim

      2. problematische Seite

        Hallo Joachim,

        Der Nutzer soll sich eine Aufgabe durch Klick aussuchen

        Gute Idee. Aber warum dafür auf einen Extrabutton klicken? Warum dafür eine aufwändige UI-Steuerung?

        dann ist entweder der Focus auf dem Eingabefeld oder er hat den Link zur Lösung.

        Das gelingt, indem die Nutzerin per Klick ein Eingabefeld auswählt (womit Du übrigend etwas sparsam bist - ist es Absicht, dass einige Aufgaben keine Eingabefelder haben?)

        Spricht denn etwas dagegen, alle Eingabefelder ständig offen zu haben? Und daneben zwei Buttons: "Überprüfen" und "Lösung" - jederzeit verfügbar. Es ist überhaupt nicht sinnvoll, den Lösung-Button erstmal vorzuenthalten. Wer sich selbst täuschen und einfach die Lösung nachgucken will, der trägt einfach Müll ein und ruft dann die Lösung ab.

        Es ist auch nicht nötig, Aufgaben nebeneinander zu setzen. Das ist Papierform-Denke, wie Felix schon sagte.

        Die Idee, immer nur eine Aufgabe anzubieten und eine Zufallsauswahl zu erstellen, ist sicherlich auch denkbar, aber dann sieht deine Seite ganz anders aus.

        Wenn Du eine Aufgabenliste hast und sie per Grid in einem Raster anordnen willst (2xN bei breitem Fenster, 1xN bei schmalem Fenster), dann ist relevant was Jonathan sagte. Eine Flexbox und auch ein Grid bestehen aus einem Container - das Element mit display:flex oder display:grid - und den Flex-Items oder Grid-Items. Die Items sind die direkten Kindelemente des Containers (abgesehen von display:contents, was ich hier nicht diskutieren will).

        Aber, wie gesagt, die Mühe mit einer zweispalten Aufgabendarstellung würde ich mir nicht machen. Das bringt deinen Schülern keinen Mehrwert, und es ignoriert eine wesentliche Eigenschaft von Webseiten: Sie sind beliebig weit scrollbar. Bei Textinhalten ist es besser, nur in einer Richtung scrollen zu müssen.

        Eine interessante Frage ist, ob Du den Anleitungstext immer sichtbar halten möchtest, auch wenn gescrollt wird. Das kann man mit position:sticky oder einem body-Layout lösen, das dafür sorgt, dass nur ein Teil des Body scrollt.

        Dass nur ein Teil des Body scrollt, erreicht man prinzipiell so:

        <body>
          <header>
          </header>
          <main>
          </main>
        </body>
        
        body {
           margin: 0;
           height: 100vh;
           display: grid;
           grid-template-columns: 1fr;
           grid-template-rows: auto 1fr;
        }
        header {
           grid-row: 1;
        }
        main {
           grid-row: 2;
           overflow-y: scroll;
        }
        

        Mit Flexbox oder einer Position:absolute-Orgie lässt sich das auch realisieren, aber Grid ist für solche Layout-Aufgaben eigentlich Mittel der Wahl. Ich habe jetzt nur header und main als Seitenregionen gezeigt. Sicherlich gibt's noch eine Navigation. Das dafür zuständige <nav>-Element kann entweder ein Kind des <header> sein und fällt dann in dessen Layout-Zuständigkeit, oder es ist ein eigenes Kind des <body> und muss dann über dessen Grid-Layout verwaltet werden. Üblicher ist es, daraus ein Kind des <body> zu machen. Per Grid-Layout kannst Du header und nav entweder untereinander oder nebeneinander setzen. Wie möchtest Du es haben?

        Innerhalb von main kommen dann die Aufgaben. Hier sollte jede Aufgabe ein eigenes Container-Element haben. Semantisch passend ist das <article>-Element. ABER ich würde Dir eher ein Formular empfehlen. Damit könntest Du, wenn Du möchtest, die Auswertung auch mit einer Scriptsprache auf dem Server machen.

        <form class="aufgabe" name="aufgabe_1">
        <h2>Aufgabe 1</h2>
        <p class="text">Aufgabentext</p>
        <label class="versuch">Ihr Versuch: <input type="text"></label>
        <button name="verify">Prüfen</button>
        <a href="..." target="_blank">Lösung</a>
        </form>
        

        Diese 5 Elemente musst Du nun nach Geschmack anordnen. Hierfür bietet sich wieder Grid an, damit kannst Du über eine @media-Abfrage auch automatisch dafür sorgen, dass bei einem breiteren Fenster die Darstellung wechselt. Erstmal die schmale Darstellung:

        .aufgabe {
           display: grid;
           grid: "h2   h2  " auto 
                 "text text" auto
                 "vers lsng" auto
               /  1fr  auto;
        }
        .aufgabe h2 {
           grid-area: h2;
        }
        .aufgabe .text {
           grid-area: text;
        }
        .aufgabe .versuch {
           grid-area: vers;
           text-align: right;
        }
        .aufgabe button {
           grid-area: prüf;
           justify-self: end;
        }
        .aufgabe a {
           grid-area: lsng;
        }
        .aufgabe input {
           width: 6em;
        }
        .aufgabe :is(button, a) {
           width: 4.5em;
           /* plus etliches Zeugs zur visuallen Angleichung a / button */
        }
        

        Das ist jetzt nur die rudimentäre Grid-Verteilung. Die Verwendung der grid-Eigenschaft hat die schöne Eigenschaft, dass man sich sein Layout sozusagen per ASCII-Kunst „malen“ kann. Für jede Zeile, die man möchte, schreibt man eine Namensliste in Anführungszeichen und die Höhe (hier immer auto). Die Namensliste besteht aus sovielen Namen, wie man Spalten haben möchte (hier 2). Ich habe hier also ein Raster von 3×2=6 Zellen definiert. Nun habe ich Layoutelemente, die in diesem Raster "aufgehängt" werden sollen. Dafür denke ich mir Namen aus, z.B. "h2" für die Überschrift - aber ich hätte für die Überschrift auch den Namen "xy" oder "Fridolin" verwenden können. Die Überschrift soll Spalte 1-2 der ersten Zeile belegen, darum schreibe ich ihren Namen in diese 2 Zellen.

        Der Text soll die ganze zweite Zeile, der Eingabebereich die ganze dritte Zeile belegen. Mit text-align:right sorge ich dafür, dass Label und Eingabefeld am rechten Rand stehen.

        In die vierte Zeile kommen der Prüfen-Button und der Lösung-Link. Ja, Link, denn du öffnest ja eine neue Seite und das gelingt mit <a target="_blank"> ohne weiteres Script.

        Hinter den Zeilendefinitionen folgt ein Schrägstrich und dann die Angabe der Spaltenbreiten. Die erste Spalte bekommt 1fr - mehr dazu im Wiki. Hier bedeutet es: Die erste Spalte nimmt, was die zweite nicht braucht. Die zweite Spalte ist "auto" breit, was den Lösungs-Link zum bestimmenden Element für ihre Breite macht.

        Für die Grid-Items wird über die grid-area Eigenschaft festgelegt, in welchem benannten Bereich sie dargestellt werden sollen. Der Prüfen-Button hat eine Besonderheit: seine Spalte nimmt typischerweise mehr Raum ein als der Button braucht. Damit er am rechten Rand der Spalte steht, wird das Grid-Item per justify-self: end; an die rechte Seite platziert. Warum nicht mit text-align, wie beim Eingabefeld? Beim Eingabefeld ging es um den Inhalt des Grid-Items. Würde ich dort justify-self:end verwenden, dann wäre der Inhalt innerhalb des Labels links ausgerichtet. Das fällt bei sehr schmalen Viewports auf.

        Auf breiten Fenstern kann man Eingabe und Buttons nebeneinander setzen. Dafür kann man das Grid-Layout über eine @media-Abfrage ersetzen:

        @media (width > 20em) {
           .aufgabe {
              grid: "h2   h2   h2  " auto 
                    "text text text" auto
                    "vers prüf lsng" auto
                  /  1fr  auto auto;
           }
        }
        

        Ich habe hier ein Fiddle, dass das zeigt: https://jsfiddle.net/prb8c67d/. Wenn Du mit der Breite des Ausgabebereichs spielst, siehst Du die Effekte.

        Rolf

        --
        sumpsi - posui - obstruxi
        1. problematische Seite

          Guten Morgen Rolf, danke für Deine ausführliche Stellungnahme und die Vorschläge. Kurze Bemerkung vorweg: Das Programm, um das es hier geht, existiert bereits unter www.matheaufgaben-loesen.de. Mein Problem ist, dass das Übungsprogramm eine exe.Datei ist, die nicht auf Handys läuft. Also bin ich dabei, eine Version zu erstellen, die das macht, und orientiere mich dabei an dem bestehenden Aussehen. Zu Deinen Überlegungen: Ja, auf dem Handy ist es sinnvoll, die Aufgaben untereinander anzuordnen, wobei eben die Aufgabennummern untereinander angeordnet sein sollten. Was auf dem Handy gut aussieht, macht es nicht auf dem Laptop, da wären 2 Aufgaben nebeneinander besser. Was die Nutzer angeht, wäre es sicher wünschenswert, wenn sie zuverlässig üben würden, wenn nicht, irgendwie egal, Hauptsache sie beschäftigen sich mit dem Thema. Bin gespannt auf Deine Überlegungen. Gruß Joachim

          1. problematische Seite

            Lieber Joachim,

            ich lese in diesem Post von Dir folgendes heraus:

            1. Du willst ein Programm (*.exe) als Website nachbilden
            2. Es soll nach Deinen Vorstellungen aussehen.

            Was Du eigentlich tun solltest, Dich bisher aber wortreich dagegen weigerst zu tun: Festlegen, wie Deine Seite funktionieren soll. Das ist beim Erstellen einer Seite immer das Erste. Das Aussehen ist dann das Zweite.

            Wie die Seite aussieht, kannst Du nur zu einem gewissen Grad sinnvoll vorschreiben, da Du nie weißt, wie jemand die Seite auf seinem Gerät anzeigen lässt. Zum Beispiel verwende ich meinen Browser am PC/Laptop selten im maximierten Fenster. Wie breit meine Anzeigefläche also ist, kannst Du mir nicht vorschreiben. Deshalb ist auch Dein Beharren auf einer Zweispaltigkeit absolut keine gute Idee! Und wenn ich an meinem extrabreiten Monitor das Fenster maximieren würde, wäre Deine zweispaltige Darstellung geradezu mickrig, weil locker vier Spalten dort passen würden!

            Vielleicht hast Du ja schon die Leseansicht verwendet (kann Firefox und Chrome auch), die viele Teile Deiner visuellen Gestaltung ignorieren, damit der Besucher Deiner Seite Deine Inhalte optimal lesen kann. Spätestens hier ist nun wirklich egal, was Du für die Gestaltung an Anstrengungen unternommen hast.

            Assistive Technologien wie Screenreader machen die Seite hörbar, wobei das Aussehen so überhaupt keine Rolle mehr spielt. Damit sie aber auch unter diesen Umständen sinnvoll bedienbar bleibt, setzt voraus, dass Du ihre Funktionsweise gut (genug) umgesetzt hast. Und hier kommt ein semantisches Markup ins Spiel, das Dir so unbedingt wichtig sein muss! Ja, muss, nicht sollte.

            Merke: Wie die Seite aussieht, entscheidet zu einem wesentlichen Teil der Benutzer mit seinem Gerät!

            Löse Dich bitte unbedingt von visuellen Leitsätzen und wende Dich technischen Funktionsprinzipien zu! Wenn Deine Seite sinnvoll bedienbar ist, dann können wir gemeinsam schauen, dass sie sinnvoll angezeigt wird.

            Bin gespannt auf Deine Überlegungen.

            Das klingt für mich nach: Jetzt mach halt endlich so, wie ich das die ganze Zeit fordere!

            Liebe Grüße

            Felix Riesterer

            1. problematische Seite

              Lieber Felix, sei mal nicht so streng mit mir, bin keineswegs festgelegt. Gruß Joachim

              1. problematische Seite

                Lieber Felix, sinnvoll bedienbar wäre die Seite: wenn der Nutzer für die Hälfte der Aufgaben dazu aufgefordert wird, zu üben, sein Ergebnis einzugeben und es mit der Lösung zu vergleichen. Für die andere Hälfte wird die Lösung gezeigt, um dem Nutzer anzuzeigen, wie man ähnliche Aufgaben lösen könnte. Schönen Sonntag Joachim.

                1. problematische Seite

                  Lieber Joachim,

                  sinnvoll bedienbar wäre die Seite: wenn der Nutzer für die Hälfte der Aufgaben dazu aufgefordert wird, zu üben, sein Ergebnis einzugeben und es mit der Lösung zu vergleichen.

                  ist das wirklich sinnvoll so? Oder ist das nur der (sehr enge) Rahmen dessen, was das *.exe-Programm kann?

                  Für die andere Hälfte wird die Lösung gezeigt, um dem Nutzer anzuzeigen, wie man ähnliche Aufgaben lösen könnte.

                  Was bedeutet „Hälfte“ hier genau?

                  Wenn ich eine Lernseite für mathematische Probleme wie z.B. Primfaktorenzerlegung oder kleinstes gemeinsames Vielfaches bauen sollte, dann würde ich genau eine Seite für jedes Problem erstellen, die eine Anleitung zur Lösung dieses Problems beinhaltet, sowie eine Selbsttest-Aufgabe, die zufällig erstellte Inhalte für dieses Problem erzeugen und korrigieren kann - vielleicht sogar mit einem Mechanismus „Lösung zeigen“, der den für diese Aufgabe individuellen Rechenweg mit Ergebnis aufzeigen kann. Hat man diese Aufgabe gelöst, kann man mit einem Button „neue Aufgabe“ sich beliebig oft neue Aufgaben erstellen lassen. Das wäre genau das, was ich im Web als Angebot erwarten würde: sehr dynamisch und auf den Punkt gebracht.

                  [Edit]Hier hat man schon eine sehr schöne Auflistung diverser Aufgaben samt Lösung.[/Edit]

                  Liebe Grüße

                  Felix Riesterer

                  1. problematische Seite

                    Wenn ich eine Lernseite für mathematische Probleme wie z.B. Primfaktorenzerlegung oder kleinstes gemeinsames Vielfaches bauen sollte, dann

                    ... würde ich das in etwa so bauen.

                    Liebe Grüße

                    Felix Riesterer

                    1. problematische Seite

                      Guten Tag Felix, danke für Deine Ausarbeitung zu den Primfaktoren. Ja, natürlich könnte man das auch so anbieten. Meine Absicht bei der Erstellung des exe-Programms war eine andere, die ich gerne bei der Umsetzung in html usw. beibehalten möchte:

                      1. Keine Anleitung, das soll im Unterricht passieren oder in einem Lehrbuch stehen.
                      2. Aufgaben, die üblicherweise in Lehrbüchern zu finden sind und deren Lösung anbieten.
                      3. Dein Vorschlag passt für dieses kleine Teilgebiet in der Bruchrechnung, für die weiteren, Textaufgaben zum Beispiel, ist in meinen Augen eine solche Vorgehensweise schwer zu realisieren. Im Moment bin ich auf dem dargestellten Stand, nach der Berücksichtigung Eurer Überlegungen und würde gerne so weitermachen. Eine Frage habe ich noch dazu: Wie bekommt man den Lösungsbutton für die Aufgabe 2 unter die Zahl 2 535? Freundliche Grüße Joachim
                      1. problematische Seite

                        Lieber Joachim,

                        Keine Anleitung, das soll im Unterricht passieren oder in einem Lehrbuch stehen.

                        aha... von mir aus. Dieses <details>-Element kann man auch weglassen.

                        Aufgaben, die üblicherweise in Lehrbüchern zu finden sind und deren Lösung anbieten.

                        Dann vielleicht in Form eines Quiz?

                        Dein Vorschlag passt für dieses kleine Teilgebiet in der Bruchrechnung, für die weiteren, Textaufgaben zum Beispiel, ist in meinen Augen eine solche Vorgehensweise schwer zu realisieren.

                        Ja, dafür braucht es eine andere Vorgehensweise. Damit aber der Reiz entsteht, sie zu lösen, muss die Bedienung sehr intuitiv sein und ein gewisses Maß an Spaß erzeugen.

                        Prinzipiell könnte man das Script auf meiner Beispielseite dahin erweitern, dass die Darstellung der jeweiligen Aufgabe freier gestaltet werden kann. Es muss ja keine Zufallszahl aus einem Zahlenbereich sein, sondern kann eine fest vorgegebene Zahl sein. Das Verarbeiten im Sinne von Benutzereingabe und Lösungsbutton bleibt dann ja gleich.

                        Wie bekommt man den Lösungsbutton für die Aufgabe 2 unter die Zahl 2 535?

                        Wie ist denn die Logik in Deinem Grid? Denke daran, dass Du entweder eine grundsätzliche Aufteilung einer Zeile definierst, oder dass Du für jede Aufgabe eine eigene Grid-Aufteilung erstellst. Wie hättest Du es denn gerne?

                        Und noch immer bringst Du PDF, obwohl ich Dir gezeigt habe, wie es besser geht...

                        Liebe Grüße

                        Felix Riesterer

                        1. problematische Seite

                          Lieber Felix, dein Ersatzvorschlag bezüglich pdf eignet sich für die momentanen Aufgaben, für andere, wo die Lösungen über mehrere Seiten gehen, eher pdf. Es gibt 2 Typen von Aufgaben in dem Programm, einmal mit der Aufforderung ein Ergebnis einzutragen, zum anderen direkter Weg zur Lösung. Dafür wüsste ich gerne, wie man den Lösungsbutton an eine beliebige Stelle im Raster verschieben kann. Ich habe das zwar linksbündig hinbekommen mit einem zweiten Grid, aber da haben sich die Zeilenhöhen verändert. Freundliche Grüße Joachim

                          1. problematische Seite

                            Lieber Joachim,

                            auch wenn Du es nicht einsehen willst, ist PDF unverändert der denkbar unsinnigste Weg um eine Lösung anzuzeigen. Dass sie in ausgedruckter Form über mehr als eine Seite im Format DIN A4 geht, ist für das Web absolut bedeutungslos. Das musst Du mir nicht glauben, aber wenn Du es tust, kann Deine Seite besser werden.

                            Es gibt 2 Typen von Aufgaben in dem Programm, einmal mit der Aufforderung ein Ergebnis einzutragen, zum anderen direkter Weg zur Lösung.

                            Ob der direkte Weg zur Lösung erreichbar ist, oder nicht, darf nichts mit der Art der gestellten Aufgabe zu tun haben. Hängst Du da noch immer in der Denkweise Deines sehr eingeschränkten VB-Programmes fest? Löse Dich davon!

                            Dafür wüsste ich gerne, wie man den Lösungsbutton an eine beliebige Stelle im Raster verschieben kann. Ich habe das zwar linksbündig hinbekommen mit einem zweiten Grid, aber da haben sich die Zeilenhöhen verändert.

                            Im Web ist nach unten immer unendlich viel Platz. Deswegen ist es sinnvoll, die verfügbare Breite als „kann alles sein“ zu betrachten und davon auszugehen, dass der Browser bei Bedarf die Zeilen so oft umbricht, wie auf dem jeweiligen Gerät eben notwendig. Deswegen sollte der Button nur in eine eigene Zeile kommen, nicht jedoch frei irgendwo im Grid. Das würde sich nicht mit der Idee vertragen, dass nach unten aller notwendiger Platz vorhanden ist, zu dem man nötigenfalls scrollen müsste.

                            Liebe Grüße

                            Felix Riesterer

                            1. problematische Seite

                              O.k. Ich probiere das mit details nochmal intensiver aus. Unglücklich ausgedrückt. 2 Typen bedeutet, im Wechsel wird mal das Eingabefeld, mal der Lösungsbutton angezeigt, egal, was es für eine Aufgabe ist. Schönen Abend. Joachim

                      2. problematische Seite

                        Lieber Joachim,

                        1. Keine Anleitung, das soll im Unterricht passieren oder in einem Lehrbuch stehen.

                        darüber habe ich noch einmal nachgedacht und komme zu dem Ergebnis, dass nicht alle Besucher Deiner Seite ein Schulbuch zur Hand haben, sodass die Inhalte Deiner Seite so gestaltet sein sollten, dass man auch ohne dieses Schulbuch zurecht kommt. Und da man die Anleitung ja beim Laden der Seite eingeklappt anzeigen kann (Du kennst ja schon meine Primfaktorenseite), ist das auch nicht (oder höchstens kaum) störend, wenn die Anleitung doch auf der Seite enthalten ist. Für diejenigen Seitenbesucher, die die Anleitung brauchen, wäre es jedoch schlimm, wenn sie diese nicht zur Verfügung hätten!

                        Liebe Grüße

                        Felix Riesterer

          2. problematische Seite

            Hallo Joachim,

            der Anspruch, eine Website wie ein existierendes EXE aussehen lassen zu wollen, ist weit verbreitet.

            Und grundsätzlich falsch. Viele Designentscheidungen bei Exes sind in Restriktionen begründet, die den klassischen Microsoft-Anwendungsarchitekturen SDI/MDI/Dialog zugrunde liegen. Scrollbare UIs waren aufwändig im Bau und wurden daher vermieden, wenn man es konnte. Responsivität war oft ein Fremdwort.

            Im Browser sieht die Welt anders aus.

            Papier, Exe und Web sind unterschiedliche Medien. Die Präsentation von Inhalten muss dem jeweiligen Medium angemessen sein. Deswegen ist es nicht die beste Idee, das EXE als unumstößliche Designrichtlinie zu sehen.

            Rolf

            --
            sumpsi - posui - obstruxi
            1. problematische Seite

              Guten Tag Rolf, bin dabei Deinen Vorschlag in Teilen zu übernehmen, möchte aber auch ein paar Dinge beibehalte, so z.Bsp. dass der Schalter für die Aufgabe angeklickt werden soll, damit das Eingabefeld den Fokus hat. Weiterhin soll die Lösung erst nach einer Eingabe auftauchen. Bitte dafür um Nachsicht. Zu meinen Problemen im Moment: Ich kann probieren, was ich will, der Fokus will nach dem Klick nicht ins Eingabefeld. Bitte da um Eure Hilfe. Weiterhin verwendest Du im Code einen Befehl, nämlich die Festlegung von Grid, da finde ich keine Beschreibung. Vielleicht habt Ihr einen Tip.

              1. problematische Seite

                Freundliche Grüße Joachim

              2. Dieser Beitrag wurde gelöscht: Der Beitrag ist ein Duplikat eines anderen Beitrags.
              3. Dieser Beitrag wurde gelöscht: Der Beitrag ist ein Duplikat eines anderen Beitrags.
              4. problematische Seite

                Lieber Joachim,

                dass der Schalter für die Aufgabe angeklickt werden soll, damit das Eingabefeld den Fokus hat.

                warum soll man etwas anderes anklicken, als das Eingabefeld, damit dieses den Fokus hat? Bei Eingabefeldern ist es üblich, dass man eine Beschriftung dazu verwendet. Das Anklicken dieser Beschriftung führt in der Tat dazu, dass das Eingabefeld den Fokus erhält. Es ist aber entgegen aller Erfahrung Deiner Seitenbesucher, dass sie ein Eingabefeld nicht direkt anklicken dürfen, um dort etwas einzutragen, sondern erst irgendetwas anderes, das nicht offensichtlich seine Beschriftung ist.

                Weiterhin soll die Lösung erst nach einer Eingabe auftauchen. Bitte dafür um Nachsicht.

                Nein, keine Nachsicht. Es entscheidet allein der Benutzer, wie er die Inhalte Deiner Seite lesen möchte. Bevormundung ist da keine gute Idee, weil sie die Zugänglichkeit ohne Not einschränkt.

                Hast Du die von mir verlinkte Seite überhaupt angesehen? Die machen das dort sehr zugänglich. Wer die Lösung jetzt sehen will, kann sie sich jederzeit aufklappen - ganz ohne Wenn und Aber.

                Zu meinen Problemen im Moment: Ich kann probieren, was ich will, der Fokus will nach dem Klick nicht ins Eingabefeld.

                Du verausgabst Dich an der definitiv falschen Stelle. So wird das nichts. Und wenn Du weiterhin so versessen auf Deine Sichtweise bist, kann man Dir auch schwerlich helfen.

                die Festlegung von Grid, da finde ich keine Beschreibung. Vielleicht habt Ihr einen Tip.

                Grid wird in unserem Wiki sehr ausführlich erklärt. Seltsam, dass Du da nichts von selbst gefunden hast...

                Liebe Grüße

                Felix Riesterer

                1. problematische Seite

                  Guten Abend!

                  Lieber Joachim,

                  die Festlegung von Grid, da finde ich keine Beschreibung. Vielleicht habt Ihr einen Tip.

                  Grid wird in unserem Wiki sehr ausführlich erklärt. Seltsam, dass Du da nichts von selbst gefunden hast...

                  @Jonathan Harker schrieb am 17.05.2025 :

                  Der Container ist ein Grid:

                  Herzliche Grüße

                  Matthias Scharwies

                2. problematische Seite

                  Guten Abend, den Code, für den ich keine Erlärung fand, auch nicht in den angegebenen Beiträgen ist:

                  .aufgabe {
                     display: grid;
                     grid: "h2   h2  " auto 
                           "text text" auto
                           "vers lsng" auto
                         /  1fr  auto;
                  

                  versuchte für das, was Rolf beschrieben hat, eine zweite Erläuterung zu bekommen.

                  Ich gestatte mir eine Bemerkung zu Felix, der mir mit seinen Bemerkungen Verhaltensweisen unterstellt, die mir fremd sind. Auch wenn es ihm schwerfällt, eine andere Sicht der Dinge zu akzeptieren, solche Situationen gibt es. Wäre schade, wenn deswegen die Hilfe eingestellt wird. Bin nach wie vor daran interessiert, wie man es hinkriegt, dass eine Funktion nach dem Anklicken des Buttons aus Grid heraus aufgerufen wird. Freundliche Grüße Joachim

                  1. problematische Seite

                    Servus!

                    Guten Abend, den Code, für den ich keine Erlärung fand, auch nicht in den angegebenen Beiträgen ist:

                    .aufgabe {
                       display: grid;
                       grid: "h2   h2  " auto 
                             "text text" auto
                             "vers lsng" auto
                           /  1fr  auto;
                    }
                    

                    versuchte für das, was Rolf beschrieben hat, eine zweite Erläuterung zu bekommen.

                    Geh die einzelnen Eigenschaften durch, in dem du die Begriffe in die Suche des Wiki eingibst:

                    Ich gestatte mir eine Bemerkung zu Felix, der mir mit seinen Bemerkungen Verhaltensweisen unterstellt, die mir fremd sind. Auch wenn es ihm schwerfällt, eine andere Sicht der Dinge zu akzeptieren, solche Situationen gibt es. Wäre schade, wenn deswegen die Hilfe eingestellt wird.

                    Ich glaube eher, dass dir diese Verhaltensweisen nicht bewusst sind. Schließlich haben ja schon mehrere Experten gesagt, dass es so wie von dir gewünscht nicht funktionieren wird.

                    Bin nach wie vor daran interessiert, wie man es hinkriegt, dass eine Funktion nach dem Anklicken des Buttons aus Grid heraus aufgerufen wird.

                    Das Grid dient der Gestaltung der Seite in einem responsiven Raster. Es hat nichts mit der Funktionsweise eines Button oder Eingabefelds zu tun.

                    Du kannst mit JavaScript den Focus auf ein bestimmtes Element setzen:

                    Herzliche Grüße

                    Matthias Scharwies

                  2. problematische Seite

                    Hallo Joachim,

                    ich bin im Moment sehr ausgelastet und konnte daher nicht weiter auf Dich eingehen.

                    Ist das hier der Link zu deinem aktuellen Arbeitsstand?
                    https://joafroehlich.github.io/MaTest/Test1.html

                    Ich habe Dir gesagt, dass Grid-Items direkte Kindelemente des Grid-Containers sein müssen. In Aufgabe 1 ist Dir das </label> Tag verrutscht, darum funktioniert das Grid dort nicht.

                    Ich hatte auch text-align:right für's label gesetzt. Das hast Du nicht übernommen, dadurch steht "Versuch" und Eingabefeld links. War das Absicht?

                    Und warum hast Du in Aufgabe 1 für die Lösung einen Button genommen, den Du mit Script zum Jagen tragen musst? Ein Link öffnet das PDF eigenständig. Die Styles, die Link und Button gleich aussehen lassen, hast Du doch übernommen. Und in Aufgabe 2 hast Du meinen Vorschlag behalten, da siehst Du, wie Link und Button gleich aussehen.

                    Du verwendest auf deinen Aufgabenseiten Aufgaben ohne überprüfte Lösung. Wieso eigentlich?

                    Du verwendest Script zum Öffnen der Eingabefelder. Unnötig. Du verwendest Script zum Öffnen der Lösungs-PDFs. Unnötig.

                    Script braucht man zum Verifizieren der Eingaben. Und zwar genau eins, das alle Eingabefelder gemeinsam behandelt und über data-Attribute seine Informationen bekommt.

                    Wenn Du UNBEDINGT die Eingabefelder per Button freischalten willst, dann ist das erste, was 'rein muss, ein aria-controls Attribut am Button. Damit ist (a) die Zugänglichkeit gewahrt und (b) kann ein zentrales Script bei einem Klick auf einen Button mit aria-controls-Attribut und vielleicht noch name="einschalten" oder so dafür sorgen, dass das über aria-controls angegebene Eingabefeld freigegeben wird.

                    <form class="aufgabe" name="aufgabe_1">
                      <h2>
                        <button name="einschalten" aria-controls="Eintrag1">Aufgabe 1</button> 
                      </h2>
                      <p class="text">...</p>
                      <label class="versuch">
                        Ihr Ergebnis:
                        <input type="text" id="Eintrag1" data-lösung="1234" disabled>
                      </label>
                      <button name="verify">Prüfen</button>
                      <a href="..." target="_blank">Lösung</a>
                    </form>
                    

                    Ob "Eintrag1" eine ideale ID ist, beweifle ich, aber Hauptsache ist, dass sie eindeutig ist.

                    Dem disabled-Attribut gibt man nicht "true" als Wert. Wenn überhaupt, dann disabled="disabled", aber das ist XHTML und für Dich wohl uninteressant. Im JavaScript ist das was anderes, da weist man true oder false zu, aber nicht an das disabled-Attribut (das ist HTML), sondern an die disabled-Eigenschaft des JavaScript-Objekts, das für das input-Element steht. Die beiden Dinger heißen gleich und sie sind unter der Haube gekoppelt, aber sie sind nicht das Gleiche. Weise ich in JavaScript an die disabled-Eigenschaft false zu, verschwindet das disabled-Attribut aus dem DOM. Weise ich true zu, erscheint das Attribut wieder. Im Seiteninspektor (kennst Du den?) sieht man das.

                    Bei dem oben gezeigten HTML kann man das so scripten:

                    document.body.addEventListener("click", function(clickEvent) {
                       // Buttons können HTML enthalten, mit closest findet man den Button selbst
                       const button = clickEvent.target.closest("button");
                       // button kann null oder was anderes sein, wenn anderswohin geklickt wurde
                       // Dann einfach wieder raus. That's not the Button you're looking for! ✋
                       if (!(button instanceof HTMLButtonElement)) return;
                    
                       // Das Eingabeelement für die Aufgabe suchen. Erstmal hoch zum form-Element,
                       // von da aus das input type="text" aufsuchen.
                       const aufgabe = button.closest("form").querySelector("input[type=text]");
                       // Nicht da - dann tschüs.
                       if (aufgabe == null) return;
                    
                       // Wir interessieren uns für die Buttons mit Name "einschalten" und
                       // "verify". Jeder Button hat eigene Logik
                       if (button.name == "einschalten") {
                          aufgabe.disabled = false;
                       }
                       else if (button.name == "verify" && aufgabe.hasAttribute("data-lösung")) {
                          const lösung = aufgabe.dataset.lösung;
                          if (parseFloat(aufgabe.value) == parseFloat(lösung)) {
                            // Richtig
                          }
                          else {
                            // Falsch
                          }
                       }
                    }
                    

                    Dieses Script behandelt vollautomatisch das Einschalten und das Überprüfen für alle Aufgaben. Es ist allerdings überfordert, wenn mehrere Eingaben richtig sind, sowas hast Du ja auch drin, wenn je nach Rechenweg unterschiedliche Rundungen zu gleichen Ergebnissen führen. Für die allermeisten Eingabefelder sollte das aber hinreichen. Wenn es mehr als eine richtige Lösung gibt, wäre mein Vorschlag, im data-lösung Attribut mehrere Werte einzutragen, z.B.

                    data-lösung="12.3|12.35"

                    das mit split zu zerlegen und die Werte der Reihe nach zu prüfen. Aber darauf gehe ich nur ein, wenn Dich das überhaupt interessiert und Du nicht bei deiner "Eine Aufgabe, Ein Script" Idee bleiben willst.

                    Rolf

                    --
                    sumpsi - posui - obstruxi
                    1. problematische Seite

                      Guten Tag Rolf, erstmal Dankeschön für Deine ausgezeichnete Hilfe. Ja, die aufgeführte Seite ist der letzte Stand der Dinge, den ich gerne auch so beibehalten möchte, das Ergebnis mit dem Eingabefeld links sagt mir etwas mehr zu. Womit ich mich jetzt ausführlich beschäftigen will, auch um es besser zu verstehen, ist, wie ein click auf Prüfen verarbeitet werden soll, bevor ich mich mit Deinem Vorschlag befasse. Die Aufgabenseiten auf dem VB-Programm zeigen deswegen bei der Hälfte der Aufgaben den Weg zur Lösung, weil auf den Handys das Übungsprogramm nicht läuft. Herzliche Grüße Joachim

                      1. problematische Seite

                        Das ist die richtige Seite. Sorry.

                      2. problematische Seite

                        Hallo Joachim!

                        Womit ich mich jetzt ausführlich beschäftigen will, auch um es besser zu verstehen, ist, wie ein click auf Prüfen verarbeitet werden soll, bevor ich mich mit Deinem Vorschlag befasse.

                        Da steht alles drin:

                        Herzliche Grüße

                        Matthias Scharwies

                      3. problematische Seite

                        Lieber Joachim,

                        Womit ich mich jetzt ausführlich beschäftigen will, auch um es besser zu verstehen, ist, wie ein click auf Prüfen verarbeitet werden soll, bevor ich mich mit Deinem Vorschlag befasse.

                        dann mach' doch was Du willst. Anscheinend ist in Deinen Augen nur das wirklich eine Hilfe, was Deinen Vorstellungen entspricht, und nicht das, was Deine Vorstellungen infrage stellt und Dir aufzeigt, dass das Web eben anders funktioniert, als Du es gerne hättest.

                        Viel Glück bei Deinem Studium unseres Wikis hinsichtlich JavaScript und dem Verarbeiten von Formulareingaben!

                        Liebe Grüße

                        Felix Riesterer

    2. problematische Seite

      Guten Tag, bin nach wie vor dabei, die ersten Aufgaben aus dem Bruchrechnen umzusetzen. Habe an Euch die Bitte, die Aufgaben zur Bruchrechnung einmal komplett anzusehen und mir zu sagen, wie Ihr zur Umsetzung vorgehen würdet und ob es so etwas wie eine allgemeingültige Vorgehensweise gibt. Freundliche Grüße Joachim

      1. problematische Seite

        Lieber Joachim,

        für mathematische Schreibweisen gibt es MathML. Das ist sozusagen eine Ergänzung zu HTML, um spezielle Schreibweisen für mathematische Terme auszuzeichnen. Für Brüche ist da auch etwas dabei.

        Liebe Grüße

        Felix Riesterer

        1. problematische Seite

          Lieber Felix, das ist ein sehr hilfreicher und nützlicher Hinweis, ähnelt dem Formeleditor von Word, mit dem ich bisher gearbeitet habe. Meine Frage ist noch grundsätzlicher. Die beigefügte Seite zeigt den momentanen Stand der Dinge. Um den Platz besser zu nutzen, würde ich gerne den Lösungsbutton der Aufgaben ohne Eingabefeld eine Zeile höher setzen. Dies scheint ohne Einführung eines zweiten Grids nicht möglich, oder sehe ich das falsch? Die Frage stellt sich mir auch deswegen, weil ich ja weiß, welche Aufgaben, auch zu anderen Themen, noch kommen, da wäre ein allgemeingültiger Ansatz am besten. Freundliche Grüße Joachim

          1. problematische Seite

            Lieber Joachim,

            Um den Platz besser zu nutzen, würde ich gerne

            tja, ich rede hier gegen eine Wand.

            Liebe Grüße

            Felix Riesterer

            1. problematische Seite

              Lieber Felix, ja, tatsächlich bin ich mit dem Ersatz der PDFs noch nicht klar gekommen, sehe noch nicht den Vorteil, vielleicht hilfst Du mir dabei. Freundliche Grüße Joachim

              1. problematische Seite

                Lieber Joachim,

                vielleicht hilfst Du mir dabei.

                ich helfe Dir damit, dass ich den Validator die technische Richtigkeit Deiner Seite überprüfen lasse: [Ergebnis des Validators]

                Liebe Grüße

                Felix Riesterer

          2. problematische Seite

            Hallo Joachim,

            Lieber Felix, das ist ein sehr hilfreicher und nützlicher Hinweis, ähnelt dem Formeleditor von Word, mit dem ich bisher gearbeitet habe.

            Nur als Hinweis: mit dem Word-Formeleditor erstellte Formeln lassen sich nach MathML konvertieren, wobei die mml-Prefixe entfernt werden können.

            Grüße,
            Thomas

            1. problematische Seite

              Lieber Thomas, danke für den Hinweis. Joachim

        2. problematische Seite

          @@Felix Riesterer

          für mathematische Schreibweisen gibt es MathML.

          Da ist aber die Lernkurve sehr steil. Vom Schreiben von Formeln direkt in MathML würde ich abraten. Einen Formeleditor verwenden, der MathML ausgibt, wie ThomasM sagte – kann man machen.

          Muss man aber vielleicht gar nicht. Unicode kann Brüche: ½ + ⅔ − ¾ − ⅙. Ich nehme an, es gibt auch Fonts, die horizontale Bruchstriche darstellen.

          Das Minuszeichen sollte natürlich ein Minuszeichen ‚−‘ (U+2212) sein, kein Bindestrich ‚-‘ (U+002D).

          🖖 Live long and prosper

          --
          “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
          — Bruce Springsteen, Manchester 2025-05-14
          1. problematische Seite

            @@Gunnar Bittersmann

            [Bei MathML] ist aber die Lernkurve sehr steil. Vom Schreiben von Formeln direkt in MathML würde ich abraten. Einen Formeleditor verwenden, der MathML ausgibt, wie ThomasM sagte – kann man machen.

            Man kann auch LaTeX als Formeleditor verwenden. Da ist immer noch eine Lernkurve, aber die ist nicht so steil wie die bei MathML.

            So wie es auch hier im Forum verwendet werden kann: aus

            \frac{1}{2} + \frac{2}{3} - \frac{3}{4} - \frac{1}{6}
            

            wird

            $$\frac{1}{2} + \frac{2}{3} - \frac{3}{4} - \frac{1}{6}$$

            🖖 Live long and prosper

            --
            “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
            — Bruce Springsteen, Manchester 2025-05-14
            1. problematische Seite

              Guten Morgen Gunnar, mal sehen, wie ich zurecht komme. Bin für Springsteen. Freundliche Grüße Joachim

            2. Guten Morgen Gunnar, kannst Du mir bitte einen Tip dafür geben, wo ich eine Anleitung für das Einfügen dieser Codezeile finde.
              Freundliche Grüße Joachim

              1. @@Joachim

                kannst Du mir bitte einen Tip dafür geben, wo ich eine Anleitung für das Einfügen dieser Codezeile finde.

                Auf https://www.mathjax.org/.

                🖖 Live long and prosper

                --
                “In my home, the America I love, the America I've written about, that has been a beacon of hope and liberty for 250 years, is currently in the hands of a corrupt, incompetent and treasonous administration. Tonight, we ask all who believe in democracy and the best of our American spirit, to rise with us, raise your voices against authoritarianism, and let freedom reign.”
                — Bruce Springsteen, Manchester 2025-05-14