javascript - 如何让一个 Vue 组件占据整个浏览器高度?
问题描述
我正在学习 Vue 3,我正在尝试为我正在尝试构建的应用程序制作一个简单的侧边栏
我有两个 div:main
和sidebar
, 我给了他们两个(和身体)height: 100%
但是,div 并没有占据窗口的整个高度。
这是我的代码:
<template>
<div class="sidebar">
sidebar
</div>
<div class="main">
hi
</div>
</template>
<style>
body {
height: 100%;
}
.sidebar {
width: 12%;
height: 100%;
float: left;
background-color: red;
}
.main {
margin-left: 12%;
height: 100%;
background-color: blue;
}
</style>
这就是网站目前的样子。图片
解决方案
您可以使用height: 100vh
而不是height: 100%
.
vh
本身的意思是Viewport Height
,如果我们使用10vh
作为值,它将占据当前视口高度的10%。由于侧边栏和主类在主体内部,因此高度将引用父类,即主体。因此,占据了100%的body class,也就是100vh。
<template>
<div class="sidebar">
sidebar
</div>
<div class="main">
hi
</div>
</template>
<style>
body {
height: 100vh;
}
.sidebar {
width: 12%;
height: 100%;
float: left;
background-color: red;
}
.main {
margin-left: 12%;
height: 100%;
background-color: blue;
}
</style>
推荐阅读
- python - Pandas 系列加/减法不适用于 Python 切片
- javascript - 未捕获(承诺)类型错误:无法读取 null 的属性“附加”-JS
- google-sheets - 选中复选框时,是否有删除链接或使单元格空白的公式?
- r - 基于组(geom_rect 或 geom_mark_rect)的 ggplot 背景着色?
- python - 从 github 安装 RDKit
- c - 在 Visual Studio 2017 中初始化可变大小的二维数组
- python - 光线多处理中的存储空间不足?
- javascript - Flask Socket-IO - 实时聊天应用程序,套接字无法正常工作
- node.js - 从后端获取图像并将其发送给客户端
- rapids - 用火花跑急流时 nvvp 时间线中的间隙