CSS Viewport单位实战:5个响应式布局高级技巧
1. 基础Viewport单位
视口比例尺寸控制:
视口自适应文本
2. 完美全屏布局
实现真正的全屏区块:
.hero-section {
width: 100vw;
height: 100vh;
margin-left: calc(-50vw + 50%);
position: relative;
left: 50%;
right: 50%;
}
3. 响应式正方形
使用vmin创建等宽高元素:
.square {
width: 50vmin;
height: 50vmin;
/* 始终保持正方形 */
}
4. 复杂比例计算
结合calc实现动态布局:
.card {
width: calc(33.33% - 2vw);
margin: 1vw;
padding: 2vh 2vw;
font-size: calc(12px + 0.5vw);
}
单位 | 描述 | 典型应用 |
---|---|---|
vw | 视口宽度的1% | 水平布局 |
vh | 视口高度的1% | 垂直布局 |
vmin | vw和vh中较小的值 | 移动端适配 |
5. 电商实战:响应式商品卡片
完美适配各种屏幕:
.product-card {
width: calc(25vw - 30px);
min-width: 250px;
max-width: 350px;
padding: 2vh 2vw;
margin: 1.5vh;
}
.product-image {
height: 30vh;
max-height: 300px;
}
.product-title {
font-size: calc(1rem + 0.5vw);
}
@media (max-width: 768px) {
.product-card {
width: calc(50vw - 30px);
}
}
CSS Viewport单位为现代响应式设计提供了完美的解决方案,特别适合全屏布局、字体缩放、比例元素等需要精确视口适配的场景,能大幅提升跨设备用户体验。