Gunnar Bittersmann: ist ein open polygon nur mit CSS /HTML möglich?

Beitrag lesen

@@TS

Die Messpunkte selber sind doch kein Problem

Messpunkte? Ah, du willst ein Liniendiagramm. Sag das doch gleich, nicht sowas wie „open polygon“.

sondern die Verbindungslinien dazwischen.

Sind auch nicht so’n Problem. Ein HTML-Element für eine Verbindungslinie, die man mit linear-gradient hinbekommt. djr deutete es an.

Ich hab da mal was gebastelt.

Die n − 1 Elemente (bei n Messpunkten) werden per JavaScript generiert. Ansonsten tut das Script kaum mehr als die Argumente (Zeitpunkte t) und Messwerte (x) in custom properties zu schreiben und Minimum und Maximum der Argumente und Messwerte zu ermitteln. Die Berechnung der Position erfolgt dann im CSS, bspw:

	left: calc(
		var(--width) * (var(--t1) - var(--tmin)) / (var(--tmax) - var(--tmin))
	);

Obwohl, doch: bei der Darstellung kann man nicht die „obere“ Kante unter die „untere“ legen und darauf spekulieren, dass die Box trotzdem angezeigt wird, nur halt auf dem Kopf stehend. Deshalb bekommen die Elemente eine Klasse "up", "down" bzw. "const" verpasst, über welche die Richtung des Gradienten geregelt wird.

Bei konstantem Verlauf fallen obere und untere Kante zusammen. Damit vom Strich was zu sehen ist, bekommt die Box negativen margin. Um eine halbwegs durchgehende Linie zu erreichen, bekommen die "up"- und "down"-Boxen den auch.

Dadurch wird der Anstieg der Linie leicht verfälscht. Man müsste die Werte für horizontalen und vertikalen Abstand aus dem Anstieg berechenen – aber das wäre dann schon höhere Schule.

Die Beschriftung des Diagramms überlasse ich dir. Das Beispiel zeigt den vorhergesagten Temperaturverlauf für hier und heute.

LLAP 🖖

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
0 59

ist ein open polygon nur mit CSS /HTML möglich?

TS
  • css
  • html
  1. 0
    Gunnar Bittersmann
    1. 0
      TS
      1. 0
        Gunnar Bittersmann
        1. 0
          TS
          1. 0
            JürgenB
          2. 0
            Gunnar Bittersmann
            1. 0
              Gunnar Bittersmann
              • css
              • javascript
            2. 0
              Gunnar Bittersmann
              1. 0
                JürgenB
                1. 0
                  TS
            3. 0
              Gunnar Bittersmann
              • css
              • svg
        2. 0
          Matthias Apsel
          • sprache
          1. 0
            Gunnar Bittersmann
            1. 0
              Matthias Apsel
  2. 0
    djr
    1. 0
      djr
      1. 0
        Gunnar Bittersmann
        • css
      2. 0
        Gunnar Bittersmann
        • css
  3. 2
    djr
    1. 0
      TS
      1. 0
        djr
        1. 0
          djr
          1. 0
            TS
            1. 3

              Warum nicht svg oder canvas?

              JürgenB
              • canvas
              • svg
              1. 0
                TS
                • css
                • html
                • svg
                1. 0
                  JürgenB
                  1. 0
                    TS
                2. 1
                  Gunnar Bittersmann
                  1. 0
                    TS
                    1. 1
                      Gunnar Bittersmann
                      • meinung
                      1. -2
                        TS
                        • projekt
                        1. 5

                          Zum Thema Zusammenarbeit...

                          Camping_RIDER
                    2. 2
                      JürgenB
                    3. 0
                      Gunnar Bittersmann
                      • svg
                      1. 0
                        JürgenB
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            Matthias Apsel
                            • menschelei
                            1. 0
                              Gunnar Bittersmann
                            2. 0
                              Auge
                        2. 0

                          Warum nicht svg oder canvas? Danke für die Antworten.

                          TS
                          • css
                          • grafik
                          • html
                          1. 0
                            JürgenB
                            1. 0
                              TS
                      2. 0
                        TS
                        • projekt
                        1. 0
                          Gunnar Bittersmann
                        2. 0
                          Camping_RIDER
                3. 1
                  Camping_RIDER
              2. 0

                Warum nicht svg. Für meinen RasPi kann ich es benutzen.

                TS
                • raspberry
                • svg
                1. 0
                  Camping_RIDER
                  • canvas
                  • svg
                  1. 0
                    TS
                    • selfhtml-wiki
                    • svg
                    1. 0
                      Camping_RIDER
                      1. 0
                        JürgenB
                        1. 0
                          Camping_RIDER
                    2. 0

                      Hinweise (Tooltipps) zur Kurve anzeigen?

                      TS
                      • css
                      • html
                      • svg
                      1. 0
                        JürgenB
                        1. 0
                          TS
                          1. 0
                            JürgenB
                            1. 0
                              TS
    2. 0
      Gunnar Bittersmann