【发布时间】:2020-09-21 22:19:57
【问题描述】:
我需要这样的布局:
这是我的尝试:
:root {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
.grid-container {
display: grid;
grid-template-columns:
[full-start] minmax(0, 1fr)
[main-start] minmax(0, 55.625em) [main-end]
minmax(0, 1fr) [full-end];
}
.grid-container > * {
grid-column: full-start / full-end;
}
.header {
background: #0e9daf;
}
.main {
background: #9E9E9E;
grid-column: main-start;
}
.sidebar {
background: #dd9f32;
}
.footer {
background: #9b51e0;
}
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="gridlayout.css">
<title>Document</title>
</head>
<body>
<div class="grid-container">
<header class="header">
Header
</header>
<main class="main">
Main
</main>
<aside class="sidebar">
Sidebar
</aside>
<footer class="footer">
Footer
</footer>
</div>
</body>
</html>
如果屏幕更宽,比方说 1080p 屏幕,主要内容在左右两侧都有装订线,但页眉和页脚延伸了整页。
考虑这样的事情,但我正在通过网格实现它:
.main {
max-width: 800px;
margin: 0 auto;
}
在较大的显示器上,我想将主要区域分成两部分,我需要一个内容区域(所有博客帖子的列表)和右侧的侧边栏,其中包含“最近的帖子”、“搜索栏”等小部件“, 等等)。我需要在内容和侧边栏之间留一些空隙(不多)。
在小屏幕上,我想要标题在前,博客文章在标题下方,小部件在博客文章下方,页脚在最后。
我什至不确定我是否以正确的方式处理这个问题。我很想听听你的意见。谢谢。
【问题讨论】:
-
您的问题到底是什么?有没有你想要的东西不工作?