当display:none遇到了display:flex
当我们在css布局的时候,会遇到这样一种情况:
父元素设置了display:flex
时,子元素中的display:none
或者display:block
就会失效。这是因为display:flex
的优先级高于display:none
和display:block
,使他们的作用失效了。
解决办法如下:
在子元素的外层,原来父元素的内层套一个盒子,比如div
,display:none
就能作用了。
在这种情况下,section
盒子是不会被隐藏的
<body>
<header>
<section>123</section>
</header>
</body>
<style>
header{
display:flex;
}
section {
display:none;
}
</style>
修改后:
<body>
<header>
<div>
<section>123</section>
</div>
</header>
</body>
<style>
header{
display:flex;
}
section {
display:none;
}
</style>