On Thu, 1 May 2014, David Bruant wrote:
> Le 30/04/2014 23:32, Ian Hickson a écrit :
> > > > What I'm trying to do is just that an element have display:flex 
> > > > and to hide it with the hidden attribute when I don't need the 
> > > > element to be shown. I guess my only option is changing 
> > > > style.display?
> >
> > Just add "[hidden] { display: none }" to your style sheet.
>
> Hmm... interesting. And that works because my stylesheet is the author 
> stylesheet which takes precedence over the UA stylesheet.
> 
> Is there a scenario where CSS specificity leads to this rule being 
> ignored?

Yeah, as usual specificity can rock the boat. :-)

   div.ui { display: flex; }

...would override it (since 0,0,1,1 > 0,0,1,0). But if that's an issue, 
you can move this to the !important level:

   [hidden] { display: none ! important; }


> If the answer is no, I'm sold. It's not any worse than *{box-sizing: 
> border-box} which I do all the time.

Yeah, it's exactly like that. Or * { font: inherit; }, which I do all the 
time, but which you then have to "fix" for headings and <strong> and so on.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Reply via email to