display:none遇到display:flex

我们css布局时候,会遇到这样一种情况:

​ 父元素设置display:flex时,子元素中的display:none或者display:block就会失效。这是因为display:flex优先级高于display:nonedisplay:block,使他们作用失效了。

解决办法如下

​ 在子元素的外层,原来父元素的内层套一个盒子比如divdisplay: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>

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注