【发布时间】:2021-05-19 02:08:15
【问题描述】:
我的页面上有三个部分:导航栏、内容和页脚。但不幸的是,它没有填满页面的整个高度,这会在页脚下方创建一个空白区域。如何使容器响应地适应导航栏和页脚?我尝试对 UploadPageComponent 进行媒体查询,但没有成功。
App.scss
html, body {
height: 100%;
}
.App {
background-color: #F5F5F5;
font-family: "Open Sans", sans-serif;
}
@media screen and (min-width: 1024px) {
#root {
height: 100vh;
}
}
App.tsx
function App() {
return (
<div className="App">
<NavigationBar />
<UploadPageComponent />
<FooterComponent />
</div>
);
}
NavigationBar.scss
.NavigationBar {
background-image: radial-gradient(circle at 47% 22%,#a8a19e,#76726b);
box-shadow: 0 2px 8px 0;
display: flex;
flex-flow: row;
height: 3.75em;
-o-object-fit: contain;
justify-content: space-between;
object-fit: contain;
top: 0;
width: 100%;
z-index: 1000;
}
UploadPageComponent.scss
@media screen and (min-width: 1440px) and (max-width: 1680px) {
.UploadPageComponent {
height: 69%;
}
}
@media screen and (min-width: 680px) and (max-width: 1440px) {
.UploadPageComponent {
height: 76%;
}
}
@media screen and (min-width: 480px) and (max-width: 679px) {
.UploadPageComponent {
height: 74%;
}
}
FooterComponent.scss
.FooterComponent {
background-image: url('../../assets/images/footer-background.png');
background-size: cover;
bottom: 0;
color: #fff;
display: flex;
flex-direction: row;
font-size: 13px;
min-height: 100px;
padding: 30px 15px;
width: 100%;
}
【问题讨论】:
-
首先我建议您不要将 html 高度设置为 100%。在我看来,最好使用最小高度 100vh。我会尝试为您编写一个简单的演示,如果其他人不为我做,您将如何解决您的问题
标签: css flexbox responsive-design