在vue中设置背景图片

在vue中设置背景图片

  1. 在App.vue中将样式中默认的margin-top 改为0,使得页面顶部不留白
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 0px;
}
  1. 在App.vue中加入body样式,使得背景图片四周不会留有空白
body{
  margin:0;
  padding:0;
  border:0
}
  1. 在需要背景图的页面里加入样式building
#building{
  background:url("../assets/Chicagohenge_ZH-CN7070361892_1920x1080.jpg");
  width:100%;
  height:100%;
  position:fixed;
  background-size:100% 100%;
}
  1. 在原有代码中的div外再套一层div
<template>
<div id='building'>
	<div>
		主体代码
	</div>
</div>
</template>
  1. 显示el-dialog弹窗时背景会变灰色,解决办法是将el-dialog的append-to-body属性设为true
<el-dialog title="温馨提示" :visible.sync="dialogVisible" width="30%" :append-to-body="true">
      <span>请输入账号和密码</span>
      <span slot="footer" class="dialog-footer">
          <el-button type="primary" @click="dialogVisible = false">确定</el-button>
      </span>
</el-dialog>

结果展示
在这里插入图片描述

发现背景图使得登录框中内容不太清楚,在login-box中加入background-color属性,ragb 前三个参数表示颜色,第四个参数表示透明度

.login-box{
  border:1px solid #dccfcf;
  width: 350px;
  margin:180px auto;
  padding: 35px 80px 15px 35px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  box-shadow: 0 0 25px #909399;
  background-color:rgba(255,255,255,0.7);
}

修改后结果展示
在这里插入图片描述

Vue3中设置背景图片有多种方法: - **相对路径引入**:在VUE3的组件样式里,可使用相对路径引入背景图片。示例代码如下: ```css background: url("./../assets/img/test.png") no-repeat; ``` 此方法适用于在组件样式中直接引入固定的背景图片[^1]。 - **动态引入**:若要动态引入多张背景图片,可先逐个引入图片,再将它们存储在数组中。示例代码如下: ```javascript import pic1 from '../asset/images/pic1' import pic2 from '../asset/images/pic2' import pic3 from '../asset/images/pic3' const arr = [pic1, pic2 , pic3] ``` 通过这种方式,可以在需要时动态地使用这些背景图片[^2]。 - **使用`background-image`属性**:在`style`标签内,利用`background-image`属性来设置背景图片。示例代码如下: ```vue <style> .logincontent { display: flex; flex-direction: column; background-image: url("/src/assets/background.png"); background-size: 100% 100%; background-attachment: fixed; width: 100%; height: 100%; min-width: 900px; min-height: 1000px; justify-content: center; align-items: center; } .loginform { background-color: #fff; min-width: 600px; box-shadow: rgba(0, 0, 0, 0.1) 0px 15px 30px; padding: 30px 20px; } </style> ``` 该方法可对背景图片的样式进行详细设置,如大小、是否固定等[^3]。 - **实现背景图片懒加载**:使用`v-lazy`指令实现背景图片懒加载。示例代码如下: ```vue <template> <div id="app"> <div id='login' v-for="img in imageList" :key="img" v-lazy:background-image="img"> <!-- login --> </div> </div> </template> <script> import Login from './assets/login.jpg'; export default { name:'login', data(){ return{ imageList:[ Login, ], } } } </script> <style> #login{ height: 721px; background-size: 1600px 721px; } </style> ``` 这种方法适用于需要优化页面加载性能,避免一次性加载大量图片的场景[^4]。
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值