我试图制作一个跨越页面宽度减去10px左右的页脚.我试图通过在10px的所有侧面给身体填充来做到这一点.在下面的代码中,标题工作正常,但页脚忽略右侧的主体填充.为什么这样做,我该如何解决?
<!DOCTYPE html>
<html>
<head>
<style>
div {
padding:0;
margin:0;
}
body {
margin: 0;
padding: 0 10px;
}
#header {
height: 150px;
width: 100%;
margin: 0 auto;
background: #333;
}
#footer {
position: fixed;
bottom: 5px;
width: 100%;
background: #f63;
text-align: center;
}
</style>
</head>
<body>
<div id="header"></div>
<div id="footer">I am the footer!</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
小智 10
页脚宽度和内边距是单独计算的。您可以使用 usebox-sizing: border-box来防止这种情况发生
* {
box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)
Travis Neilson 在他的 YouTube 频道 DevTips 上有一段精彩的视频,他在视频中解释了盒子模式的概念。
您的页脚不会忽略正文填充,通过控制台查看该元素大小,您将看到页脚宽度为窗口宽度的100%+左侧填充的10px +右侧填充的10px.
你可以在css中使用calc函数:https://developer.mozilla.org/en-US/docs/Web/CSS/calc
#footer {
width: calc(100% - 20px);
}
Run Code Online (Sandbox Code Playgroud)