MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    How can I limit the width of a module that's crossing over from left to right?

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    11 Posts 4 Posters 320 Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      Kelemvor
      last edited by Kelemvor

      Hi,
      I was looking for something to fill some space on my screen and happened upon the MMM Dad Jokes module. I installed it fine and put it in Top Left under the clock. The problem is the text doesn’t wrap so the module is crossing over into the right half of the screen and overlapping with my calendar module that’s over there. How can I stop this from happening?

      I just want it to be the same size as the default Clock module with the same spacing. Is there a way to do that easily? I’m sure it can be done with some CSS, but I’m no good with CSS so any help would be great. ;)

      Thanks.

      https://i.imgur.com/tFy7Wjh.png

      S BKeyportB 2 Replies Last reply Reply Quote 0
      • S Away
        sdetweil @Kelemvor
        last edited by sdetweil

        @Kelemvor i do not know the exact css

        but see the second link in my signature below on using the developer window elements tab

        and then

        google search
        how to wrap text with css

        it will give you the css terms to use

        you can also see this post about using the developer window elements window. a specific example and steps
        https://forum.magicmirror.builders/post/125328

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • BKeyportB Offline
          BKeyport Module Developer @Kelemvor
          last edited by

          @Kelemvor the answers will lie within the following two CSS items. Using Sam’s link, feel free to play with the CSS then add whatever works to custom.css

          https://www.w3schools.com/cssref/css3_pr_word-wrap.php
          https://www.w3schools.com/cssref/pr_dim_max-width.php

          The "E" in "Javascript" stands for "Easy"

          R 1 Reply Last reply Reply Quote 0
          • R Offline
            rkorell @BKeyport
            last edited by

            @BKeyport , @Kelemvor
            Thanks!

            max-width: 350px;
            

            worked for me.

            • I had a similar “problem” with module MMM-UselessFacts

            word-wrap doesn’t do the trick …

            Regards,
            Ralf

            S 1 Reply Last reply Reply Quote 0
            • S Away
              sdetweil @rkorell
              last edited by

              @rkorell i don’t think there is a single term that works with 100% of content

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              R 1 Reply Last reply Reply Quote 0
              • R Offline
                rkorell @sdetweil
                last edited by

                @sdetweil yes, for sure.
                I’ve experimented a lot - even with trials to identify CSS-locator with debug-console (which fails)…
                Finally this simple statement in module-documentes CSS-locator works fine…
                :-)
                Lucky punch …

                Ralf

                S 1 Reply Last reply Reply Quote 0
                • S Away
                  sdetweil @rkorell
                  last edited by

                  @rkorell said in How can I limit the width of a module that's crossing over from left to right?:

                  even with trials to identify CSS-locator with debug-console (which fails)…

                  then you aren’t using it correctly…

                  if you looked at this
                  https://forum.magicmirror.builders/post/125328

                  the dev console SHOWS you the selector AND you can copy/paste the html to get the terms in custom.css

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  R 1 Reply Last reply Reply Quote 0
                  • R Offline
                    rkorell @sdetweil
                    last edited by rkorell

                    @sdetweil

                    then you aren’t using it correctly…

                    yes :-)
                    For sure.
                    But in your given (referenced) example (Thanks for this - highly appreciated!) is happening exacty this “magic” which I cannot get through …

                    Example:

                    your “magic” reduces

                    .CX3 div .cell.today.thisMonth.thisYear.year_2025.month_3.date_25.weekday_2 div.cellHeader div.cellDate {
                     height: 1em;
                    text-align: left;
                    }
                    

                    to much simpler

                    .CX3 div .cell.today div.cellDate {
                     height: 1em;
                    }
                    

                    The reason behind is pretty clear but from my (naive and may incorrect) “understanding” MY approach would be

                    .CX3 div .cell.today div.cellHeader div.cellDate {
                     height: 1em;
                    }
                    

                    And I’m sure this is wrong and won’t work.
                    But why “div.cellHeader” is NOT neccesary regardless it’s presence in the copied locator - is kind of “contra-intuitive” and hard to understand …

                    And I guess this exactly are these issues why I’m struggling…

                    Warm regards,
                    Ralf

                    S 1 Reply Last reply Reply Quote 0
                    • S Away
                      sdetweil @rkorell
                      last edited by sdetweil

                      @rkorell will explain later
                      I use this set of pages to help me understand the css selector clause…
                      it used to be one page, now separated into like attributes…
                      https://www.w3schools.com/cssref/css_selectors.php

                      the html from my example link

                      <div class="cell today thisMonth thisYear year_2025 month_3 date_29 weekday_6 weekend weekend_1" data-date="1743231600000" data-events="1" data-has-events="true" id="1743231600000_1743306263377" data-popoverble="true">
                           <div class="cellHeader">
                               <div class="cw">13</div>
                               <div class="cellDate">
                                  <span class="dateParts month seq_0">Mar</span>
                                  <span class="dateParts literal seq_1"> </span>
                                  <span class="dateParts day seq_2">29</span>
                               </div>
                             </div>
                             <div class="cellBody"></div>
                             <div class="cellFooter">
                          </div>
                      </div>
                      

                      now, we want to pick today, and the thing that wraps the date itself.

                      css is really pretty straight forward

                      left to right match the elements from the selector
                      . means class=
                      # means id=
                      otherwise its an element name (div, table, p, span …)

                      so. we want JUST content in the `CX3` class content
                         and then we want the things under `today`
                      

                      we don’t HAVE to specify the element as long as there are not different elements with the same class… (div and span)

                      so
                      .CX3 .today

                      the space between means ‘also’, with no space it means ‘AND’ (same element has BOTH specified)

                      we REALLY want the cellDate class elements, can we get there from today?
                      yes,
                      the cellHeader element doesn’t matter, cause there is no OTHER location for cellDate, except under cellHeader…

                      so if we combine those

                      .CX3 .today .cellDate, together they define a specific element family we can ‘select’

                      we could add div.today (a div AND .today specified) , but it wouldn’t be more specific. In a calendar month there will only be ONE element with today class AND it only has ONE child element with cellDate, they are not the SAME element, so we need spaces between the selector elements

                      css will ALWAYS pick ALL elements that match, across the entire document(page)

                      so if we said .CX3 .cellDate we would adjust ALL of them, oops. NOT JUST for the one for today

                      we could use .cellDate
                      BUT if another module used that same class, then we would fiddle with their css… oops

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      R 1 Reply Last reply Reply Quote 0
                      • R Offline
                        rkorell @sdetweil
                        last edited by rkorell

                        @sdetweil Dear Sam,
                        thanks for this long explanation.
                        Understood.

                        But you did it again :-) (no worries - it’s my own inability…).

                        You’ve introduced - magic again :-) - a .today identifier …
                        This definitely makes sens but is not “visible” from a dummie perspective …
                        Just to illustrate what I mean.
                        If one KNOWS what happens (remember our long discussion in another thread where I was not able to pick the right “div” tag in the console) all is quite easy.
                        If not - it’s really hard . That’s all what I try to show…
                        And yes - the right way is and should be to get a full understanding how CSS works - which is not true in my personal case…
                        So I’m seeking around with “trial and error” - which fails often…

                        Thanks for your engagement and effort!

                        Ralf

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy