作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个网站,我试图使页脚始终位于底部。我希望页脚始终位于浏览器窗口的底部,但如果内容足够长,它会将页脚推到视线之外并进一步位于底部。现在,页脚始终位于紧邻其上方内容之后的位置。
我尝试设置display: flex, flex-direction, align-items: flex-end, margin-bottom: 0px
,但没有成功。我还试图避免设置固定高度。
相关代码
页脚.js
<footer className='footer'>
<div className='icons'>
<span><a href='/'><img src={LinkedIn} alt='LinkedIn'/></a></span>
<span><a href='/'><img src={Mail} alt='Email' /></a></span>
<span><a href='/'><img src={Resume} alt='Resume' /></a></span>
</div>
<div>
<span className='footer-link'><a href='/'>Home</a></span>
<span className='footer-link'><a href='/about'>About</a></span>
<span className='footer-link'><a href='/blog'>Blog</a></span>
<span className='footer-link'><a href='/contact'>Contact</a></span>
</div>
<div className='footer-copyright'>2020 Daniel Zhang. This site was made by Daniel Zhang from scratch with React.</div>
</footer>
.footer {
align-items: center;
border-top: 1px solid grey;
border-width: 100%;
box-sizing: border-box;
display: flex;
flex-direction: column;
flex-shrink: 0;
font-size: 12px;
margin: 0px auto;
padding: 10px 0px;
text-align: center;
}
.icons img {
display: inline-block;
padding: 10px;
width: 25px;
}
.footer-link {
padding: 0px 5px;
}
.footer-link a {
color: grey;
text-decoration: none;
}
.footer-link a:hover {
color: black;
text-decoration: none;
}
.footer-copyright {
padding: 5px 0px;
}
App.js
<NavBar />
<Router>
<Switch>
<Route exact path='/' render={() => <Home />} />
<Route exact path='/about' render={() => <About />} />
<Route exact path='/blog' render={() => <Blog />} />
<Route exact path='/contact' render={() => <Contact />} />
{/* Adds page not found. */}
<Route render={() => <Home />} />
</Switch>
</Router>
<Footer />
应用程序.css
* {
font-family: 'Lato', sans-serif;
}
html, body {
height: 100%;
margin: 0px;
}
body {
display: flex;
flex-direction: column;
}
.container {
flex: 1 0 auto;
margin: 0px auto;
width: 65%;
}
最佳答案
尝试flex-direction:column;
。
document.getElementById('add').addEventListener('click', e => {
document.getElementById('content').innerHTML += '<br />content<br />content<br />content';
});
html,
body {
margin: 0;
height: 100%;
}
body {
display: flex;
flex-direction: column;
}
.content {
flex: 1 0 auto;
}
.footer {
background: #999;
flex-shrink: 0;
}
<body>
<div class="content">
<button id="add">Add Content</button>
<p id="content">content</p>
</div>
<footer class="footer">footer</footer>
</body>
关于html - 如何让页脚始终在底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63351135/
我是一名优秀的程序员,十分优秀!