【Vue】Vue中使一个div铺满全屏

在Vue中实现div全屏铺满的方式与纯CSS实现类似,只是在Vue组件中应用CSS的方式略有不同。

最近在项目开发中,就遇到了这个问题,特此记录一下,方便大伙避坑。

有这么一段代码:

复制代码
<template>
  <div class="fullscreen-div">
    <!-- 内容区域 -->
  </div>
</template>

<script>
export default {
  name: 'MyComponent',
}
</script>

<style scoped>

</style>

在css中常要的三种铺满全屏方式:

  1. 使用vh和vw单位
  2. 使用绝对定位和100%宽高
  3. 使用Flexbox布局

比如我们使用第二种:

复制代码
<style scoped>
.fullscreen-div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
</style>

在这个示例中,我们在Vue组件中定义了一个名为MyComponent的组件,其中包含一个类名为fullscreen-div的div元素。

通过在<style>标签中定义.fullscreen-div的样式,我们使用了绝对定位和百分比宽高的方式,使得该div元素能够全屏铺满浏览器窗口。

刷新下页面,你会发现div的四周还存在一段留白,这是怎么回事?

这可能由于浏览器默认样式或其他元素的样式导致的,为了确保div元素能够完全铺满整个浏览器窗口,可以尝试以下几种方法:

1.重置浏览器默认样式

复制代码
html, body {
  margin: 0;
  padding: 0;
}

2.设置所有的父级的高度为100%

复制代码
html, body, #app {
  height: 100%;
  margin: 0;
  padding: 0;
}

这两个方法,都可以解决留白问题。

用第二种的话,直接就能实现div铺满全屏了。

复制代码
<template>
  <div class="fullscreen-div">
    <!-- 内容区域 -->
  </div>
</template>

<script>
export default {
  name: 'MyComponent',
}
</script>

<style scoped>
html, body, #app {
  height: 100%;
  margin: 0;
  padding: 0;
}

.fullscreen-div{
  height: 100%;
}
</style>

直接这样设置,就能够解决网页四周出现留白的问题,还确保div元素能够完全铺满整个浏览器窗口。

不管做什么,只要坚持下去就会看到不一样!
相关推荐
今天不要写bug7 分钟前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
用户479492835691530 分钟前
记住这张时间线图,你再也不会乱用 useEffect / useLayoutEffect
前端·react.js
汝生淮南吾在北34 分钟前
SpringBoot+Vue养老院管理系统
vue.js·spring boot·后端·毕业设计·毕设
咬人喵喵43 分钟前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
问君能有几多愁~1 小时前
C++ 日志实现
java·前端·c++
咬人喵喵1 小时前
CSS 盒子模型:万物皆是盒子
前端·css
2401_860319521 小时前
DevUI组件库实战:从入门到企业级应用的深度探索,如何快速应用各种组件
前端·前端框架
韩曙亮2 小时前
【Web APIs】元素滚动 scroll 系列属性 ② ( 右侧固定侧边栏 )
前端·javascript·bom·window·web apis·pageyoffset
珑墨2 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
FreeBuf_2 小时前
Next.js 发布扫描工具:检测并修复受 React2Shell 漏洞(CVE-2025-66478)影响的应用
开发语言·javascript·ecmascript