//html
body>footer
// css
body {
position: relative;
margin: 0 auto;
max-height: 500px;
}
footer {
position: fixed;
width: 100%;
}
footer
会超出body直到浏览器边缘,如何解决?
前提是不能直接设footer
的宽度
//html
body>footer
// css
body {
position: relative;
margin: 0 auto;
max-height: 500px;
}
footer {
position: fixed;
width: 100%;
}
footer
会超出body直到浏览器边缘,如何解决?
前提是不能直接设footer
的宽度
首先 fixed是根据视窗来进行定位的,所以没有出现你想要的继承body的宽度情况出现。
不过根据你的代码来看你是做的移动端的页面,那footer应该是个菜单栏,需要固定在底部
解决思路:
1. js获取body实际宽度,然后再给footer赋值宽度。
2. body和footer都采用百分比布局或者flex布局。
//html
body>footer
// css
body {
position: relative;
margin: 0 auto;
max-height: 500px;
width:100%;
}
footer {
position: fixed;
width: 100%;
padding:0;
margin:0;
}
原因: fixed固定布局是基于视窗的,跟父元素无关,因此会超出容器
解决: 只能设宽度了。保持fixed的情况下,要加上与body相同的max-width。考虑到要共用的问题,可以分为两种情况:不用预处理器,可以存为一个公共class,所有页面共用;用预处理器,就存为变量了,更简单。
3 回答1.1k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
2 回答956 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答1.1k 阅读✓ 已解决
fixed是相对于浏览器窗口进行定位,absolute才是相对于 static 定位以外的第一个父元素进行定位,所以改成absolute就可以了