hand
_1_12_228
4
返回栏目
0k
3k
5k
1k
2k
0.2k
2k
1k
2k
3k
2k
3k
2k
3k
3k
0.3k
0k
2k
0k
1k
0.1k
0k
0k
2k
2k
3k
0.2k
3k
0k
2k
2k
2k
3k
2k
2k
0k
4k
2k
2k
0k
3k
3k
2k
2k
2k
1k
3k
1k
3k
2k
1k
0.8k
2k
0k
2k
2k
2k
2k
3k
0.4k
4k
2k
5k
2k
3k
2k
3k
3k
4k
2k
3k
2k
3k
0.7k
2k
0.8k
3k
2k
4k
2k
2k
2k
2k
2k
3k
3k
3k
3k
4k
3k
3k
0k
2k
2k
0k
3k
2k
3k
1k
2k
2k
3k
3k
3k
3k
5k
3k
3k
3k
4k
3k
5k
4k
4k
4k
4k
1k
2k
2k
2k
2k
2k
2k
1k
2k
3k
3k
3k
3k
3k
2k
3k
4k
2k
2k
3k
5k
3k
3k
3k
4k
3k
3k
2k
3k
5k
4k
3k
4k
4k
2k
3k
3k
1k
3k
4k
4k
2k
2k
2k
3k
2k
4k
2k
4k
2k
4k
1k
2k
1k
2k
2k
1k
2k
2k
2k
2k
2k
2k
1k
1k
4k
3k
2k
2k
3k
3k
6k
2k
8k
3k
7k
2k
3k
3k
4k
3k
5k
4k
3k
3k
2k
2k
3k
3k
2k
2k
2k
3k
2k
6k
4k
4k
4k
4k
3k
3k
2k
4k
2k
3k
3k
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
0k
返回前端 - HTML5栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 18:07:51
在前端开发的响应式设计中,视口单位是非常强大的工具,尤其是 vw
和 vh
单位。它们能够让我们更方便地创建在不同设备上都能完美显示的网页布局。本文将详细介绍 vw
和 vh
单位,并通过一些实用的例子来展示它们的使用方法。
视口(Viewport)指的是浏览器中用于显示网页内容的区域。视口单位就是基于视口大小的单位,主要有以下四个:
| 单位 | 描述 |
| —- | —- |
| vw
| 视口宽度的百分比,1vw 等于视口宽度的 1% |
| vh
| 视口高度的百分比,1vh 等于视口高度的 1% |
| vmin
| 视口宽度和高度中较小值的百分比 |
| vmax
| 视口宽度和高度中较大值的百分比 |
在本文中,我们将重点关注 vw
和 vh
单位。
vw
和 vh
单位的优点vw
和 vh
单位可以轻松创建响应式布局,无需依赖媒体查询。vw
和 vh
单位更加直观,更容易理解和使用。vw
和 vh
单位都能确保网页内容在不同设备上的一致性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
margin: 0;
padding: 0;
}
.fullscreen-bg {
width: 100vw;
height: 100vh;
background-image: url('your-image.jpg');
background-size: cover;
background-position: center;
}
</style>
</head>
<body>
<div class="fullscreen-bg"></div>
</body>
</html>
在这个例子中,我们创建了一个 div
元素,并将其宽度设置为 100vw
,高度设置为 100vh
。这意味着该元素将始终占据整个视口的宽度和高度。同时,我们为该元素添加了一个背景图,并使用 background-size: cover
确保背景图能够覆盖整个元素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
margin: 0;
padding: 0;
}
nav {
width: 100vw;
height: 8vh;
background-color: #333;
display: flex;
justify-content: space-around;
align-items: center;
}
nav a {
color: white;
text-decoration: none;
font-size: 2vw;
}
</style>
</head>
<body>
<nav>
<a href="#">Home</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Contact</a>
</nav>
</body>
</html>
在这个例子中,我们创建了一个导航栏,并将其宽度设置为 100vw
,高度设置为 8vh
。导航栏中的链接文字大小设置为 2vw
,这意味着文字大小将根据视口宽度的变化而自动调整。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
margin: 0;
padding: 0;
}
.grid-container {
display: grid;
grid-template-columns: repeat(3, 30vw);
grid-template-rows: repeat(3, 30vh);
gap: 5vw;
justify-content: center;
align-content: center;
height: 100vh;
}
.grid-item {
background-color: #ccc;
display: flex;
justify-content: center;
align-items: center;
font-size: 3vw;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
在这个例子中,我们使用 CSS 网格布局创建了一个 3x3 的网格。网格的列宽设置为 30vw
,行高设置为 30vh
,网格项之间的间距设置为 5vw
。这样,整个网格布局将根据视口的大小自动调整。
vw
和 vh
单位在现代浏览器中得到了广泛支持,但在一些旧版本的浏览器中可能不支持。因此,在使用时需要进行兼容性测试。vw
或 vh
单位设置字体大小时,要注意避免字体过大或过小。可以结合媒体查询来进行调整。vw
和 vh
单位是前端响应式设计中非常实用的工具。它们能够让我们更轻松地创建在不同设备上都能完美显示的网页布局。通过本文的介绍和示例代码,相信你已经对 vw
和 vh
单位有了更深入的了解。在实际开发中,不妨尝试使用这些单位,让你的网页更加响应式和美观。
前端 - HTML5
整章节共240节
快分享给你的小伙伴吧 ~