3种CSS实现背景图片全屏铺满自适应的方式

01

复制代码
margin:0px;
background: url(images/bg.png) no-repeat;
background-size:100% 100%;
background-attachment:fixed;

url(images/beijing.png)------图片路径的位置;

no-repeat------ 图片不重复;

center 0px------center是距离页面左边的定位,0px是距离页面上面的定位;

background-position: center 0------就是图片的定位,同上;

background-size: cover;------把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中;

min-height: 100vh;------视窗的高度,"视区"所指为浏览器内部的可视区域大小,即window.innerWidth/ window.innerHeight大小。

02

复制代码
background: url("bg.png") no-repeat;
height:100%;
width:100%;
overflow: hidden;
background-size:cover;//或者background-size:100%;

03

给body标签指定背景图,这样背景图就可以填充整个浏览器viewport了。其实,该方案对所有的块级容器都可以生效。块级容器的宽高是动态的,那么背景图将自动伸缩,充满整个容器。

css body标签的样式如下:

复制代码
body {
/* 加载背景图 */
background-image: url(images/bg.jpg);
/* 背景图垂直、水平均居中 */
background-position: center center;
/* 背景图不平铺 */
background-repeat: no-repeat;
/* 当内容高度大于图片高度时,背景图像的位置相对于viewport固定 */
background-attachment: fixed;
/* 让背景图基于容器大小伸缩 */
background-size: cover;
/* 设置背景颜色,背景图加载过程中会显示背景色 */
background-color: #464646;
}
相关推荐
zadyd26 分钟前
Workflow or ReAct ?
前端·react.js·前端框架
北寻北爱2 小时前
vue2和vue3使用less和scss
前端·less·scss
IT_陈寒3 小时前
Redis性能提升3倍的5个冷门技巧,90%开发者都不知道!
前端·人工智能·后端
雨雨雨雨雨别下啦3 小时前
Vue案例——面经
前端·javascript·vue.js
oo121383 小时前
里程碑5 - 完成框架 npm 包抽象封装并发布
前端·npm
达拉3 小时前
我花了三天用AI写了个上一代前端构建工具
前端·前端工程化
bysking3 小时前
【31-Ai-Agent】ai-agent的核心实现细节-bysking
前端
从文处安3 小时前
「前端何去何从」(React教程)React 状态管理:从局部 State 到可扩展架构
前端·react.js
一拳不是超人3 小时前
Three.js一起学-如何通过官方例子高效学习 Three.js?手把手带你“抄”出一个3D动画
前端·webgl·three.js
椰子皮啊3 小时前
400行Node.js搞定mediasoup信令转换:一次跨语言"表白"实录
前端·架构