VH转PX转换器:视口高度像素计算工具

精确转换视口高度(vh)单位为像素值。支持响应式设计、全屏布局、移动端适配。免费使用,实时计算,适配所有设备屏幕。

vh
px

100vh × 768px ÷ 100 = 768.0px

浏览器窗口高度(像素),标准桌面通常为 768-1080px

如何使用VH转PX转换器

三步完成视口高度到像素的精确转换,专为前端开发者、UI设计师和响应式布局开发设计。

1

设置视口高度

输入目标设备的视口高度像素值。常见尺寸:桌面显示器(1080px全高清、1440px 2K、900px笔记本)、平板设备(768px iPad竖屏、1024px横屏)、手机设备(844px iPhone 14/15、926px Pro Max、740px安卓主流机型)。

提示:测试多个断点以确保响应式布局在各种设备上的表现

2

输入VH数值

填入需要转换的视口高度单位值。支持整数(100vh、50vh)、小数(33.33vh、66.67vh)以及精确到小数点后两位的数值(5.5vh、2.25vh),满足各种精确布局需求。

常用场景:首屏100vh、内容区50-80vh、间距5-15vh

3

获取转换结果

即时获得两种格式的转换结果:带单位格式(768.0px)可直接用于CSS样式,纯数值格式(768.0)适合JavaScript计算和程序化处理。

使用复制按钮快速将结果粘贴到代码编辑器或设计工具中

VH转PX实战应用技巧

掌握专业前端开发者使用的视口单位转换技术,提升响应式布局开发效率。

CSS全屏布局实现

使用VH单位创建自适应全屏区域,完美适配各种屏幕高度。适用于落地页首屏、全屏导航菜单、沉浸式展示页面。

/* 全屏首屏区域 */
.hero-section {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 1080px屏幕上: 100vh = 1080px */
/* 768px屏幕上: 100vh = 768px */
/* 自动适配,无需媒体查询 */

CSS响应式垂直间距

使用VH单位设置随屏幕高度缩放的垂直间距,实现各设备上协调的视觉节奏,提升用户体验。

.content-section {
  padding: 10vh 5vw;
  min-height: 50vh;
}

.spacer {
  height: 5vh;
  /* 在不同设备上自动调整间距 */
}

/* 1080px屏幕: 10vh = 108px */
/* 768px屏幕: 10vh = 76.8px */

SCSS智能转换函数

创建可复用的SCSS函数,基于设计稿视口高度自动计算VH值,提高开发效率和代码可维护性。

@function vh($pixels, $base: 1080) {
  @return calc($pixels / $base * 100vh);
}

// 使用方法
.header {
  height: vh(80);      // 7.4vh
  padding: vh(20) 0;   // 1.85vh
}

.main-content {
  min-height: vh(600); // 55.56vh
}

// 根据设计稿尺寸自动计算

JS动态实时转换

使用JavaScript在运行时动态计算VH到像素的转换,适用于滚动动画、动态布局调整等场景。

// VH转像素
function vhToPx(vh) {
  return (vh * window.innerHeight) / 100;
}

// 像素转VH
function pxToVh(px) {
  return (px / window.innerHeight) * 100;
}

// 使用示例
const sectionHeight = vhToPx(50);
console.log(`50vh = ${sectionHeight}px`);

// 监听窗口变化实时更新
window.addEventListener('resize', () => {
  const newHeight = vhToPx(50);
  // 更新元素高度
});

深入理解视口高度(VH)单位

VH是相对于浏览器视口高度的CSS长度单位,1vh等于视口高度的1%,是响应式设计和全屏布局的核心技术。

什么是VH单位?

视口相对高度单位

VH单位根据浏览器视口高度动态缩放。在1080px高的屏幕上,10vh等于108px;在768px的移动设备上,10vh等于76.8px。这使得VH成为创建自适应布局的理想选择,无需编写复杂的媒体查询。

全屏布局最佳选择

与固定像素值不同,VH单位能够自动填充整个视口高度。特别适合首屏Hero区域、落地页、全屏导航菜单、弹窗遮罩等需要占满屏幕的场景,确保在任何设备上都有完美的视觉效果。

新一代视口单位(2023+)

现代CSS标准引入了dvh(动态视口高度)、svh(小视口高度)和lvh(大视口高度)等新单位,专门解决移动端浏览器地址栏显隐导致的视口变化问题,提供更精确的响应式控制。

常见设备视口高度

桌面端:1080px(全高清)、1440px(2K显示器)、900px(笔记本) | 平板:768px(iPad竖屏)、1024px(横屏) | 手机:844px(iPhone 14/15)、926px(Pro Max)、740px(主流安卓机型)、812px(iPhone X系列)

转换计算公式

像素值 = vh值 × 视口高度 ÷ 100

标准计算公式

1080px屏幕上的100vh:

100 × 1080 ÷ 100 = 1080px(全屏高度)

768px平板上的50vh:

50 × 768 ÷ 100 = 384px(半屏高度)

900px笔记本上的33.33vh:

33.33 × 900 ÷ 100 = 299.97px

浏览器兼容性

VH单位拥有优秀的浏览器支持(全球98%+覆盖率)。Chrome 20+、Firefox 19+、Safari 6+、Edge全版本、国产浏览器(微信内置浏览器、QQ浏览器、UC浏览器、360浏览器)均完美支持。新的dvh/svh/lvh单位需Chrome 108+、Safari 15.4+、Firefox 101+。

VH单位实用应用场景

了解VH单位在实际项目中的典型应用场景,掌握响应式设计的核心技巧。

落地页首屏

使用100vh创建填满整个屏幕的首屏区域,确保用户打开页面就能看到完整的品牌信息和核心卖点,无论在桌面还是移动设备。

全屏导航菜单

移动端汉堡菜单展开时使用100vh,创建全屏覆盖的导航界面,提供沉浸式的菜单浏览体验,避免内容溢出和滚动问题。

滚动翻页效果

每个内容区域设置为100vh,结合CSS Scroll Snap实现苹果官网式的分屏滚动效果,每次滚动正好显示一屏内容,视觉效果震撼。

数据大屏展示

企业数据可视化大屏使用100vh确保内容填满显示器,配合自动缩放技术,在各种尺寸的显示屏上都能完美呈现,无需手动调整。

视频播放器

全屏视频播放器使用100vh确保视频区域占满整个屏幕,配合object-fit实现完美的视频适配,提供影院级的观看体验。

响应式间距

使用5vh、10vh等小数值作为区块间距,让页面在不同设备上保持协调的视觉节奏,避免固定间距在小屏幕上显得拥挤或在大屏上显得稀疏。

VH单位使用最佳实践

遵循行业标准和最佳实践,避免常见错误,让响应式设计更加专业可靠。

推荐做法

优先用于全屏布局

VH单位最适合首屏Hero区域、落地页、全屏Modal等需要占满视口的场景,充分发挥其自适应特性。

结合min-height使用

使用min-height: 100vh而非height: 100vh,确保内容过多时可以正常滚动,避免内容被截断。

移动端优先测试

在真实移动设备上测试VH表现,关注微信、支付宝等内置浏览器的兼容性,必要时使用dvh单位或JavaScript方案。

配合CSS Grid/Flexbox

VH设置容器高度,Grid或Flexbox处理内部布局,实现灵活且强大的响应式设计系统。

常见错误

×

忽视移动端地址栏问题

移动端浏览器地址栏会影响100vh的实际表现,导致内容被遮挡或出现滚动条。务必使用dvh或JavaScript方案解决。

×

小元素使用VH

不要对按钮、图标、小组件使用VH单位。这些元素应该使用固定px或相对rem单位,保证在任何设备上都有合适的尺寸。

×

固定高度导致内容溢出

使用height: 100vh的固定高度容易在内容较多或屏幕较矮时截断内容。优先使用min-height,允许内容自然伸展。

×

不考虑横屏模式

横屏时视口高度变小,100vh可能无法容纳原有内容。设计时要考虑横竖屏切换场景,或使用媒体查询针对性调整。

浏览器兼容性说明

VH单位在主流浏览器中的支持情况,包括国内常用浏览器的兼容性详情。

国际主流浏览器

Chrome/Edge20+ 完美支持
Firefox19+ 完美支持
Safari(桌面)6+ 完美支持
Safari(iOS)6+ 注意地址栏

国产浏览器支持

微信内置浏览器完美支持
QQ浏览器完美支持
UC浏览器完美支持
360浏览器完美支持

新一代视口单位浏览器支持

dvh (动态视口高度)

  • • Chrome 108+ (2022年10月)
  • • Safari 15.4+ (2022年3月)
  • • Firefox 101+ (2022年5月)

svh (小视口高度)

  • • Chrome 108+
  • • Safari 15.4+
  • • Firefox 101+

lvh (大视口高度)

  • • Chrome 108+
  • • Safari 15.4+
  • • Firefox 101+

常见问题解答

关于VH转PX转换和视口单位使用的高频问题及解决方案

VH和VW有什么区别?

VH(Viewport Height)是相对于视口高度的单位,1vh等于视口高度的1%。VW(Viewport Width)是相对于视口宽度的单位,1vw等于视口宽度的1%。两者分别控制垂直和水平方向的尺寸。

实例:在1920×1080px的屏幕上,50vh = 540px(垂直),50vw = 960px(水平)。VH适合全屏高度布局和垂直间距,VW适合响应式宽度和水平布局。

为什么移动端100vh会出现滚动条?

移动浏览器(Safari、Chrome、微信浏览器等)计算100vh时包含了地址栏和工具栏的空间,但这些UI元素显示时会占据视口,导致实际可见区域变小,出现滚动条或内容被遮挡。

解决方案:

  • 使用height: 100dvh(动态视口高度,推荐)
  • 用JavaScript动态计算:window.innerHeight
  • 使用min-height: 100vh允许内容伸展
  • CSS变量方案:通过JS设置--vh自定义属性

VH单位和百分比height有什么不同?

两者的参照对象完全不同:

  • VH单位:始终相对于浏览器视口高度,不受父元素影响。适合创建与视口关联的全屏布局、Hero区域等。
  • 百分比height:相对于父元素的高度,父元素必须有明确的height值才能生效。适合嵌套组件、卡片布局等容器内部的高度控制。

选择建议:需要与视口关联用VH,需要与容器关联用百分比。VH更独立,百分比更灵活。

VH可以和Flexbox或Grid一起使用吗?

完全可以!VH与现代CSS布局系统配合非常完美,这是创建专业响应式布局的标准做法。

经典组合模式:

  • Flexbox + min-height: 100vh: 创建可伸缩的全屏布局
  • Grid + height: 100vh: 固定视口的应用外壳结构
  • VH设置容器高度,Flexbox/Grid负责内部元素分配,职责分明,代码清晰

什么是dvh、svh和lvh单位?应该如何选择?

这是CSS在2022-2023年新增的视口单位,专门解决移动端地址栏显隐带来的视口变化问题:

  • dvh (Dynamic Viewport Height):动态适应浏览器UI的显隐,推荐用于移动端全屏布局,能自动处理地址栏问题。
  • svh (Small Viewport Height):浏览器UI完全显示时的视口高度,适合需要确保内容完全可见的场景,不会被地址栏遮挡。
  • lvh (Large Viewport Height):浏览器UI完全隐藏时的视口高度,可以最大化利用屏幕空间。

浏览器支持:Chrome 108+、Safari 15.4+、Firefox 101+,覆盖2023年后的主流设备。

如何在JavaScript中进行VH到像素的转换?

使用以下公式可以在JavaScript中动态计算VH和像素的转换:

// VH转换为像素
function vhToPx(vh) {
  return (vh * window.innerHeight) / 100;
}

// 像素转换为VH
function pxToVh(px) {
  return (px / window.innerHeight) * 100;
}

// 使用示例
const fullScreenHeight = vhToPx(100);  // 获取全屏高度
const halfScreenHeight = vhToPx(50);   // 获取半屏高度
console.log(`50vh = ${halfScreenHeight}px`);

// 监听窗口变化,动态更新
window.addEventListener('resize', () => {
  const newHeight = vhToPx(50);
  document.querySelector('.hero').style.height = newHeight + 'px';
});

这在滚动动画、视差效果、动态布局调整等场景中非常有用。记得在窗口resize时重新计算以保持响应式。

VH单位在微信小程序中能用吗?

微信小程序支持VH单位,但有一些特殊注意事项:

  • 基础库要求:微信小程序基础库2.0+完全支持VH单位
  • rpx更推荐:小程序中更推荐使用rpx(响应式像素)单位,它能自动适配不同屏幕宽度
  • 视口计算:小程序的100vh包含了顶部导航栏,实际可用高度需要减去导航栏高度
  • 兼容方案:可以用wx.getSystemInfo获取屏幕高度,手动计算

如何处理横竖屏切换时的VH单位?

横竖屏切换会导致视口高度剧烈变化,100vh的实际像素值会显著改变。这需要特别处理:

/* 方法1: 使用媒体查询针对性调整 */
.full-screen {
  height: 100vh;
}

@media (orientation: landscape) {
  .full-screen {
    height: auto;
    min-height: 100vh; /* 横屏时允许滚动 */
  }
}

/* 方法2: 使用vmin/vmax混合 */
.adaptive-height {
  height: 100vmin; /* 总是使用较小的视口维度 */
}

/* 方法3: JavaScript动态调整 */
window.addEventListener('orientationchange', () => {
  // 延迟执行,等待视口尺寸更新
  setTimeout(() => {
    updateLayout();
  }, 100);
});

建议在横屏时适当降低VH值或改用min-height,避免内容被截断。

VH单位对SEO有影响吗?

VH单位本身对SEO没有直接影响,但使用方式会间接影响搜索引擎排名:

  • 页面加载速度:过度使用VH导致的布局重排会影响Core Web Vitals中的CLS(累积布局偏移)指标
  • 移动端体验:移动端100vh问题导致的滚动条和遮挡会降低用户体验,影响移动端SEO评分
  • 内容可访问性:固定VH高度可能截断内容,影响搜索引擎抓取完整信息
  • 正确使用的好处:用VH实现的流畅全屏体验能降低跳出率,间接提升SEO表现

建议:合理使用VH,避免造成内容截断和性能问题,就不会对SEO产生负面影响。

VH单位在打印样式中如何表现?

打印时VH单位会根据打印页面的高度计算,通常是A4纸的高度(约297mm)。这可能导致打印效果与屏幕显示差异很大。

/* 为打印单独设置样式 */
@media print {
  .full-screen {
    height: auto !important; /* 取消VH高度 */
    min-height: 0 !important;
    page-break-inside: avoid; /* 避免分页截断 */
  }

  .section {
    padding: 2cm 1.5cm; /* 使用cm等绝对单位 */
  }
}

建议:在打印样式(@media print)中将VH转换为auto或固定单位,确保打印效果符合预期。

VH与其他CSS单位对比

了解VH单位与其他常用CSS长度单位的区别,选择最适合你项目的单位。

单位参照对象适用场景响应性
vh视口高度的1%全屏布局、首屏高度、垂直间距高响应性
px绝对像素值边框、图标、小间距、精确布局固定不变
%父元素尺寸容器内布局、嵌套组件、流式布局相对父元素
rem根元素字体大小字体、按钮、组件尺寸、间距可缩放
em父元素字体大小相对排版、嵌套缩放、组件内部相对父元素
vw视口宽度的1%全屏宽度、响应式字体、水平间距高响应性

选择建议

  • 全屏布局:优先VH
  • 文本排版:优先rem/em
  • 精确尺寸:使用px
  • 容器内部:使用百分比

混合使用

  • • VH + Flexbox: 完美组合
  • • VH + min-height: 防止截断
  • • VH + rem: 协调缩放
  • • calc(100vh - 80px): 精确计算

注意事项

  • • VH在移动端需特殊处理
  • • 不要过度依赖单一单位
  • • 考虑打印样式的兼容
  • • 测试多种设备和场景

相关工具

VH 转 MM

将视口高度转换为毫米

基于视口大小

VH 转 IN

将视口高度转换为英寸

基于视口大小

VH 转 REM

将视口高度转换为REM单位

基于根字体大小

VH 转 EM

将视口高度转换为EM单位

基于字体大小

开始使用专业的VH转PX转换工具

免费、精确、实时的视口高度转换计算器,助力你的响应式设计项目完美落地。

实时精确计算

即时获得转换结果

全设备支持

桌面、平板、手机全覆盖

完全免费

无需注册,永久免费

隐私保护

本地计算,数据不上传

立即开始转换