Welcome to Code Forum!

Join a community that supports you and your coding journey from day one. We strive to be a friendly, supportive community that empowers everyone to be better developers. By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • Guest, before posting your code please take these rules into consideration:
    • It is required to use our BBCode feature to display your code. While within the editor click < / > or >_ and place your code within the BB Code prompt. This helps others with finding a solution by making it easier to read and easier to copy.
    • You can also use markdown to share your code. When using markdown your code will be automatically converted to BBCode. For help with markdown check out the markdown guide.
    • Don't share a wall of code. All we want is the problem area, the code related to your issue.

    GIF shows where to locate </> in the thread and or post editor toolbar.
    To learn more about how to use our BBCode feature, review our "How to post your code into threads" here.

    Thank you, Code Forum.

hidden

m1a1t

Coder
HTML:
   <div id="buttons" class="hidden">
                        <button>1</button>
                        <button>2</button>
                        <button>3</button>
                        <button>4</button> 
                </div>
CSS:
    #buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%;
    }

    .hidden {
        display: none;
    }

Please help me understand why this is not hidden?
 
I think I've solved it now by simplifying it down like this and as sometimes is the case that when you ask for help the answer presents itself. It's because the ID is more specific than the class and so the id overrides the class of the display:none;

I don't know if the display: grid; was part of it because I have other elements with display: flex; etc and the hidden was working ok.

I've wrapped it in a container and now I can make it do what I wanted

Code:
<div id="button-container" class="hidden">
  <div class="buttons">
     some content
  </div>
</div>
 
The reason is because in CSS, styles using an id selector have higher specificity than class selectors and will override the class selector styles.


You can get past this by changing your selector to:

#buttons.hidden{display:none;}
 
Back
Top Bottom