我不知道如何更好地总结这个问题,但问题在于此。正如Kevin Powell和其他人的最佳实践所建议的那样,我将html的height
设置为100%,所以像页脚之类的东西使用空白并粘贴到页面的底部,然而,这带来了一个问题,即如果我想给我的body
标记一个background-image
,而当前页面是"0";"更高";图像将开始每隔100%的视口重复一次,即html
标签设置的100%,这并不总是期望的结果。
不在body
标记上使用background-image
,我应该如何处理此问题?使用更好的平铺background-image
?
附言:我不想把我页面的所有内容都包装在body
标签内的包装器div
上。。。除非这是唯一的解决方案。body
标签的min-height
为100%,我目前在Firefox上。
我认为使用很容易解决
background-size: cover;
源
https://developer.mozilla.org/en-US/docs/Web/CSS/background-size
您还可以只使用背景简写来同时设置所有属性。
源
https://developer.mozilla.org/en-US/docs/Web/CSS/background
您可以通过设置min-height: 100vh
将html
设置为占据用户屏幕的100%。然后您可以将body
的高度设置为height: 100%
以占用父级的高度(HTML),这样,如果内容不大于100vh
,则html
和body
具有相同的高度。如果你想在页面中滚动时有相同的背景,你可以设置background-attachment: scroll
和background-repeat: no-repeat
像这个
html {
min-height: 100vh;
}
body {
height: 100%;
width: 100%;
background-image: url( /* put your background url here */ );
background-repeat: no-repeat;
background-size: cover;
background-attachment: scroll;
}
MDN 中的后台附件文档