Search code examples
csswordpressthemesspectra

Wordpress Astra Theme with Spectra. Tabs on tabs block moving from top to side, if browser is getting narrower


I'm using the tabs block from Spectra in the Astra Theme for displaying the results of tournament rounds of my chessclub. These results are just tables, and without the tabs block the page is getting very long in some cases.

I now have the problem, that the tabs, which are configured to show up on the top of the block are moving to the side, if the page is getting resized and narrower.

The tabs block doesn't seem to be a flexbox block, because the according options are missing in the editor.

Target is, that these tabs are staying on top, all the time, regardless of the width of the page. Can anybody help to achieve this?

The page, where the issue is visible is: https://ford-schachfreunde.de/ford-pokal-2024/

I tried to change some CSS-options, but I'm not a web designer/developer, just a hobbyist, who is maintaining the chess clubs site and I don't have a clue (yet) where to start, to solve the problem.

Regards, Michael


Solution

  • After inspecting there are 2 media break points, 1023px and 767px, where the flex-direction of some elements changes from row to column and the other way around, also the max-width of the tab list changes to 24% and the max-width of the table below the tabs changes to 75%.

    To keep story short, lets keep the things like above 1023px by using !important for the relevant styles to override everything.

    The tricks are:

    1. use devtools
    2. inspect an element. change width of window.
    3. observe and take notes.
    4. common properties for layout: flex, width, padding, margin, float... and many more actually.

    .uagb-tabs__body-wrap {
      max-width: 100% !important;
    }
    
    ul.uagb-tabs__panel.uagb-tabs__align-left {
      max-width: 100% !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
    }
    
    .wp-block-uagb-tabs {
      display: flex !important;
      flex-direction: column !important;
    }