html - 添加容器 div 会移除 flexbox
问题描述
我正在使用 flexbox 创建一个简单的导航栏,但是每当我在其中添加一个容器div
以header
使width
80% 和center
flexboxmargin:0 auto
停止justify-content
工作时。
html,
body {
margin: 0;
padding: 0;
background-color: #24252A;
color: white;
height: 100%;
}
header {
display: flex;
justify-content: space-between;
background: gray;
}
.container {
width: 80%;
margin: 0 auto;
}
.logo img {
height: 50px;
}
<header>
<div class="container">
<div class="brand">
<h1>Site</h1>
</div>
<div class="logo">
<img src="https://banner2.cleanpng.com/20180422/srw/kisspng-logo-web-development-clip-art-site-vector-5add4dee019ee5.7373764915244528460066.jpg" alt="">
</div>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
</header>
解决方案
flex
正在应用于 的直接子级header
。当您添加container
div 时,它将适用于该 div,但不适用于它的任何子级。要实现您正在寻找的内容,请将 flex 规则移动到container
而不是header
.
html,
body {
margin: 0;
padding: 0;
background-color: #24252A;
color: white;
height: 100%;
}
header {
background: gray;
}
.container {
display: flex;
justify-content: space-between;
width: 80%;
margin: 0 auto;
}
.logo img {
height: 50px;
}
<body>
<header>
<div class="container">
<div class="brand">
<h1>Site</h1>
</div>
<div class="logo">
<img src="https://banner2.cleanpng.com/20180422/srw/kisspng-logo-web-development-clip-art-site-vector-5add4dee019ee5.7373764915244528460066.jpg" alt="">
</div>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
</header>
</body>
推荐阅读
- java - 如何在吐司内显示剪贴板复制的文本
- ruby-on-rails - Rails 6 服务器刚刚停止编译 webpack
- typescript - 如何以编程方式在 Typescript 中创建类函数?
- python - AWS CDK Python(未找到凭证)
- javascript - 如何将包含太多标题的 HTML 表格拆分为下面的多个表格?
- neo4j - 在没有 apoc 的情况下访问 neo4j 中的路径中的节点
- regex - 为什么这个正则表达式在 css 上会出错?
- android - 关闭打开的活动,因此主要活动可以更新片段而不会在Android中丢失状态
- xamarin - 我们可以控制何时以编程方式显示蓝牙访问提示(如位置)?
- openshift - 无法在 OpenShift 上创建 nginx 应用程序