【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元素能够完全铺满整个浏览器窗口。

不管做什么,只要坚持下去就会看到不一样!
相关推荐
天天扭码3 分钟前
从数组到对象:JavaScript 遍历语法全解析(ES5 到 ES6 + 超详细指南)
前端·javascript·面试
拉不动的猪5 分钟前
前端开发中常见的数据结构优化问题
前端·javascript·面试
街尾杂货店&5 分钟前
css word
前端·css
Мартин.8 分钟前
[Meachines] [Hard] CrimeStoppers LFI+ZIP-Shell+Firefox-Dec+DLINK+rootme-0.5
前端·firefox
冰镇生鲜8 分钟前
快速静态界面 MDC规则约束 示范
前端
技术与健康22 分钟前
【解读】Chrome 浏览器实验性功能全景
前端·chrome
Bald Monkey29 分钟前
【Element Plus】解决移动设备使用 el-menu 和 el-sub-menu 时,子菜单需要点击两次才会隐藏的问题
前端·elementui·vue·element plus
小小小小宇1 小时前
PC和WebView白屏检测
前端
三原1 小时前
2025 乾坤(qiankun)和 Vue3 最佳实践(提供模版)
vue.js·架构·前端框架
天天扭码1 小时前
ES6 Symbol 超详细教程:为什么它是避免对象属性冲突的终极方案?
前端·javascript·面试