html - 了解 CSS 网格和 flexbox
问题描述
https://codepen.io/masm/pen/MxWBEB
您好,我正在尝试使用 CSS Grid 和 Flexbox 创建一个基本的响应式布局。但是,我遇到了标题的一些问题。我不完全理解为什么徽标和导航没有跨越 960px 宽度。
HTML:
<div id="hd">
<div class="container">
<div class"ct">
<div class="logo">
Logo
</div>
<div class="nav">
<a href="#">one</a>
<a href="#">two</a>
<a href="#">three</a>
<a href="#">four</a>
<a href="#">five</a>
</div>
</div>
</div>
CSS:
.container {
width: 960px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
grid-template-areas: "top top"
"main side"
}
.ct {
grid-area: top;
}
.logo {
background: #ddd;
}
.nav {
background: #ddf;
}
其次,我正在努力使徽标和导航并排。我的想法是将 .ct 设置为 display:flex,但它不起作用。
.ct {
grid-area: top;
display: flex;
flex-direction: column;
}
最后,我希望标题的背景颜色跨越页面的整个宽度,并且内容(徽标、导航、主要、侧面)占用的宽度不超过 960 像素,这就是我在两者之间添加一个容器的原因#hd 和 #main div。我的问题是,这是一个好方法吗?
解决方案
对于并排,您需要将它们按行放置,并在中心垂直对齐 div 的内容,同时为其提供一些预定义的高度:
.ct{
height: 80px;
display: flex;
justify-content: flex-start;
align-items:center;
flex-flow: row;
}
推荐阅读
- ssis - 使用 SQL Server 管理器部署 ispac 时,SSIS 不起作用
- kubernetes - 无法浏览在 Azure 中创建的集群的 Kubernetes 仪表板
- python - 如何重塑 Pandas DataFrame 中的数据
- html - 以角度解析html组件中的对象
- python - Mac 终端上没有用于 python 的此类文件或目录
- node.js - React 应用程序应该直接与 cognito 通信,或者更好地在两者之间设置后端服务
- javascript - 使用 Puppeteer 下载文件时 Chrome 下载错误
- php - php localtime() 函数返回 UTC 时间而不是本地时间
- java - Java 代码在 NetBeans 中不间断地运行 (setDefaultCloseOperation)
- c - 如何在 C 中为跨平台应用程序着色输出