如何解决为什么在媒体查询中使用display:块来覆盖display:flex?
我正在看一些HTML代码,看起来像这样(总结):
html,body {
height: 100%;
background: #1c1c1c;
}
header {
background: #1c1c1c;
display: flex;
}
.child {
flex-grow: 1;
}
ul {
display: flex;
}
li {
flex-grow: 1;
}
@media only screen and (max-width:542px) {
header div:nth-child(1) {
display: block;
}
}
<header>
<div class="child">
<img src="logo.png" />
</div>
<ul class="child">
<li>About</li>
<li>Services</li>
<li>Gallery</li>
<li>Contact</li>
</ul>
</header>
css底部第三行的display:block
无效,我发现自己想知道它的作用是什么?
解决方法
在代码中不明显,因为似乎缺少某些部分。
但这是基本逻辑:
-
display: flex
连续排列子元素 -
display: block
恢复垂直堆叠
因此,替代会将您带出Flex布局,并返回到标准块布局(其中flex属性无效)。
在其他用例场景中,此设置可方便地从台式机切换到移动版式。
这是代码的简化版本,用于说明:
.child {
display: flex;
justify-content: space-around;
}
@media (max-width:542px) {
.child {
display: block;
}
}
<ul class="child">
<li>About</li>
<li>Services</li>
<li>Gallery</li>
<li>Contact</li>
</ul>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。