section中的容器)中出来,并一直重叠到nav和section。当您预览代码片段时,可以清楚地看到它。PS:在完整的视口高度上,它看起来很好,它在减少的浏览器上搞砸了,让我问一下如何布局页面是这样一种方式,即nav占用了视图高度的20%,而section占用了视图的其余部分。在我的代码中看到了我是如何做到的,并给了我一个更好的方法来完成它,因为我做的事情没有成功。编辑:我实际上需要的是,我希望棋盘以某种方式锁定在其父部分(在我的场景中,它是一个节)中,这样,当调整浏览器的视口高度时,它应该保持在其父页面中,而不超出父部分和重叠其他部分(在本例中,是nav)。看到推特了吗?尝试将浏览器高度降低到绝对为零,您将看到页面的内容/元素没有受到影响,而是浏览器只是包装或覆盖它们(没有twitter元素被扭曲)。这就是我想要的
body {
margin: 0 auto;
}
/* THE NAV */
nav {
background: black;
height: 20vh;
color: white;
display: flex;
align-items: center;
justify-content: center;
}
/* SECTION */
section {
background: pink;
height: 80vh;
display: flex;
align-items: center;
justify-content: center;
}
h1 {
font-family: 'Architects Daughter', cursive;
font-size: 3rem;
}
/* setting up the board */
.container {
display: grid;
grid-template-columns: repeat(8, 1fr);
}
.zone-1 {
background: #CEB67B;
width: 60px;
height: 60px;
}
.zone-2 {
background: #735131;
width: 60px;
height: 60px;
}
/* Checkers */
.checkers-container {
display: flex;
align-items: center;
justify-content: center;
}
.home-checkers {
cursor: pointer;
height: 35px;
width: 35px;
border-radius: 30px;
background: red;
border: 3px solid white;
}
.away-checkers {
cursor: pointer;
height: 35px;
width: 35px;
border-radius: 30px;
border: 3px solid white;
background: black;
}<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Grid Checkers</title>
<link rel="stylesheet" href="gridDraft.css" />
<!-- fonts -->
<link href="https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap" rel="stylesheet" />
</head>
<body>
<nav>
<h1>Checkers Game</h1>
</nav>
<section>
<div class="container">
<!-- Home Section -->
<!-- row-1 -->
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<!-- row-2 -->
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<!-- row-3 -->
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<!-- Empty rows start here -->
<!-- row-4 -->
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<!-- row-5 -->
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<!-- Empty rows end here -->
<!-- Away Section -->
<!-- row-6 -->
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<!-- row-7 -->
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<!-- row-8 -->
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
</div>
</section>
</body>
</html>
发布于 2020-06-26 16:09:27
您需要使板方块响应屏幕高度。
width: calc(80vh / 8); height: calc(80vh / 8);而不是width: 60px; height: 60px;。
我们有80vh可玩,8个方块的堆叠垂直。因此,对于高度,您可以运行一个height: calc(80vh / 8);来找到这个大小。然后,使每个正方形的宽度与高度width: calc(80vh / 8);相同。
body {
margin: 0 auto;
}
/* THE NAV */
nav {
background: black;
height: 20vh;
color: white;
display: flex;
align-items: center;
justify-content: center;
}
/* SECTION */
section {
background: pink;
height: 80vh;
display: flex;
align-items: center;
justify-content: center;
}
h1 {
font-family: 'Architects Daughter', cursive;
font-size: 3rem;
}
/* setting up the board */
.container {
display: grid;
grid-template-columns: repeat(8, 1fr);
}
.zone-1 {
background: #CEB67B;
width: calc(80vh / 8);
height: calc(80vh / 8);
}
.zone-2 {
background: #735131;
width: calc(80vh / 8);
height: calc(80vh / 8);
}
/* Checkers */
.checkers-container {
display: flex;
align-items: center;
justify-content: center;
}
.home-checkers {
cursor: pointer;
height: 35px;
width: 35px;
border-radius: 30px;
background: red;
border: 3px solid white;
}
.away-checkers {
cursor: pointer;
height: 35px;
width: 35px;
border-radius: 30px;
border: 3px solid white;
background: black;
}<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Grid Checkers</title>
<link rel="stylesheet" href="gridDraft.css" />
<!-- fonts -->
<link href="https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap" rel="stylesheet" />
</head>
<body>
<nav>
<h1>Checkers Game</h1>
</nav>
<section>
<div class="container">
<!-- Home Section -->
<!-- row-1 -->
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<!-- row-2 -->
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<!-- row-3 -->
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="home-checkers"></div>
</div>
<!-- Empty rows start here -->
<!-- row-4 -->
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<!-- row-5 -->
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<div class="zone-1"></div>
<div class="zone-2"></div>
<!-- Empty rows end here -->
<!-- Away Section -->
<!-- row-6 -->
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<!-- row-7 -->
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<!-- row-8 -->
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
<div class="zone-2 checkers-container">
<div class="away-checkers"></div>
</div>
<div class="zone-1"></div>
</div>
</section>
</body>
</html>
https://stackoverflow.com/questions/62598526
复制相似问题