Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. (gelöst) eigene CSS Klasse (dynamisch)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    SOLVED (gelöst) eigene CSS Klasse (dynamisch)

    This topic has been deleted. Only users with topic management privileges can see it.
    • ice987
      ice987 @liv-in-sky last edited by

      @liv-in-sky
      das mit mehreren Klassen habe ich auch erfolgreich getestet, funktioniert auch im Binding. Die Frage ist nun nur, ob diese dynamisch, z.b. aus einer eigenen CSS-Datei, angesprochen werden könnte. Es gäbe natürlich die Möglichkeit, alle Klassen 2x im Binding einzufügen, was aber recht umständlich ist...

      liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @ice987 last edited by

        @ice987

        wie du sagst, so gehts:

        Image 2.png

        {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "norm":""} {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "big":""}
        

        Image 1.png

        1 Reply Last reply Reply Quote 1
        • OliverIO
          OliverIO @ice987 last edited by OliverIO

          @ice987 sagte in eigene CSS Klasse:

          Hallo zusammen,
          ich möchte die Farbgestaltung meiner Visualisierung per Day/Nightmode (Binding) umschalten. Nun habe ich ein "basic - HTML"-Widget mit z.B. folgendem Inhalt:
          <div class="title1">title1 blabla</div> <div class="subtitle1">subtitle1 blabla</div>
          Meine Idee war nun, zwei CSS-Dateien anzulegen, welche per Binding umgeschalten werden:
          in VIS unter Eigenschaften -> Reiter "w00xxx" -> CSS Klasse: {lightmode:0_userdata.0.navigation.lightMode;lightmode === "true" ? "@import

          @import ist doch ein css Befehl.
          Im html Widget ist ja erst einmal html der Standard.
          Wenn du da JavaScript reinmachen willst dann musst du den Code in <Script> Tags schreiben.

          Wenn du dann den Import Befehl hinzufügen möchtest, musst du per JavaScript ein Style Tag erzeugen und dann in das Style Tag den @import Befehl reinschreiben.
          Sobald du die Style Node der Dom hinzufügst, sollte das auch geladen werden.
          Beim Wechseln solltest du natürlich den anderen styletag wieder entfernen.

          liv-in-sky 2 Replies Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @ice987 last edited by

            @ice987

            wie du sagst, so gehts:

            Image 2.png

            {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "norm":""} {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "big":""}
            

            Image 1.png

            1 Reply Last reply Reply Quote 1
            • liv-in-sky
              liv-in-sky @OliverIO last edited by

              @oliverio

              muss man die css datei eigentlich mit writefile schreiben bzw mit dem vis editor importieren? oder legt man die einfach im dateiverzeichnis an

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @ice987 last edited by

                @ice987

                {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "norm big":""}
                

                funktioniert auch - also nur ein binding !

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO last edited by

                  @liv-in-sky sagte in eigene CSS Klasse:

                  @oliverio

                  muss man die css datei eigentlich mit writefile schreiben bzw mit dem vis editor importieren? oder legt man die einfach im dateiverzeichnis an

                  Ja mit writefile. Ansonsten kennt Iobroker die Datei nicht,
                  Obwohl sie da ist.

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @OliverIO last edited by

                    @oliverio sagte in eigene CSS Klasse:

                    Wenn du dann den Import Befehl hinzufügen möchtest, musst du per JavaScript ein Style Tag erzeugen und dann in das Style Tag den @import Befehl reinschreiben.
                    Sobald du die Style Node der Dom hinzufügst, sollte das auch geladen werden.
                    Beim Wechseln solltest du natürlich den anderen styletag wieder entfernen.

                    meinst du mit jquery ? also einen dp abfragen und dann über z.b jquery einfügen ?

                    1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @ice987 last edited by

                      @ice987

                      Um die Vorgehensweise nochmal zu verdeutlichen.

                      Ihr schreibt eine javascriptfunktion mit der oben genannten Logik in Script Tag und packt die in ein html Widget.

                      In einem binding, welches auf den datenpunkt reagiert, ruft ihr dann diese Funktion auf. Das binding muss im selben html Widget stehen

                      ice987 2 Replies Last reply Reply Quote 1
                      • ice987
                        ice987 @OliverIO last edited by

                        @oliverio
                        Vielen Dank für deine Hilfe!
                        Ich generiere eine html-Tabelle in einem Javascript, schreibe dieses in einen DP. Per Binding lasse ich mir dieses im html-Widget anzeigen. Funktioniert das Umschalten dann auch?

                        OliverIO liv-in-sky 2 Replies Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @ice987 last edited by

                          @ice987
                          Theoretisch ja. Hab selbst sowas nie probiert

                          1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @ice987 last edited by

                            @ice987

                            mache das mit allen meinen tabellenscripts - das funktioniert

                            1 Reply Last reply Reply Quote 0
                            • ice987
                              ice987 @OliverIO last edited by

                              @oliverio sagte in eigene CSS Klasse:

                              @ice987

                              Um die Vorgehensweise nochmal zu verdeutlichen.

                              Ihr schreibt eine javascriptfunktion mit der oben genannten Logik in Script Tag und packt die in ein html Widget.

                              In einem binding, welches auf den datenpunkt reagiert, ruft ihr dann diese Funktion auf. Das binding muss im selben html Widget stehen

                              dieses Vorgehen funktioniert! Wunderbar, vielen Dank! 👍

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              843
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              vis
                              3
                              16
                              556
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo