Chuyển đổi px sang vw, vh, vmin, vmax
vw
1vw = 19.20px
vh
1vh = 10.80px
vmin
1vmin = 10.80px
vmax
1vmax = 19.20px
Công cụ Viewport Units Converter của Tấn Phát Digital giúp bạn chuyển đổi pixels sang viewport units (vw, vh, vmin, vmax) một cách chính xác và nhanh chóng. Hỗ trợ preset viewport sizes phổ biến: Mobile (375×667), Tablet (768×1024), Laptop (1366×768), Desktop (1920×1080), và 4K (3840×2160). Tự động detect viewport hiện tại của trình duyệt. Tính toán realtime với công thức chính xác. Copy giá trị với đơn vị chỉ với một click. Viewport units là công cụ mạnh mẽ cho responsive design, cho phép tạo layouts fluid mà không cần nhiều media queries. Công cụ hoàn toàn miễn phí, xử lý offline, không cần đăng ký.
Viewport units (vw, vh, vmin, vmax) là công cụ mạnh mẽ cho responsive web design. Không giống như pixels cố định hay percentages phụ thuộc vào parent element, viewport units luôn relative to browser viewport. 1vw = 1% viewport width, 1vh = 1% viewport height. Điều này cho phép tạo elements scale theo screen size mà không cần media queries. Use cases phổ biến: full-screen hero sections (height: 100vh), fluid typography (font-size: 5vw), responsive spacing (padding: 5vw), và aspect-ratio containers. vmin và vmax đặc biệt hữu ích cho designs cần hoạt động tốt trên cả portrait và landscape orientations - vmin lấy dimension nhỏ hơn, vmax lấy dimension lớn hơn.
CSS có 4 viewport units chính: vw (viewport width) - 1vw = 1% chiều rộng viewport. vh (viewport height) - 1vh = 1% chiều cao viewport. vmin (viewport minimum) - 1vmin = 1% của dimension nhỏ hơn (width hoặc height). vmax (viewport maximum) - 1vmax = 1% của dimension lớn hơn. Ví dụ: trên màn hình 1920×1080, 1vw = 19.2px, 1vh = 10.8px, 1vmin = 10.8px (height nhỏ hơn), 1vmax = 19.2px (width lớn hơn). Trên mobile portrait 375×667, 1vw = 3.75px, 1vh = 6.67px, 1vmin = 3.75px, 1vmax = 6.67px.
Một trong những use cases phổ biến nhất của viewport units là fluid typography - font size tự động scale theo viewport. Thay vì dùng nhiều media queries để adjust font-size, bạn có thể dùng: font-size: calc(16px + 2vw). Công thức này tạo font size tối thiểu 16px và tăng dần theo viewport width. Để giới hạn min/max, dùng clamp(): font-size: clamp(16px, 4vw, 32px) - font size từ 16px đến 32px, scale theo 4vw. Đây là technique được khuyến nghị cho modern responsive typography.
Trên mobile browsers, 100vh có thể gây issues vì address bar và navigation bar thay đổi viewport height khi scroll. Điều này khiến elements với height: 100vh bị cắt hoặc có scrollbar không mong muốn. CSS mới có các units giải quyết vấn đề này: svh (small viewport height) - viewport height khi UI elements hiển thị. lvh (large viewport height) - viewport height khi UI elements ẩn. dvh (dynamic viewport height) - thay đổi động theo UI state. Sử dụng: height: 100dvh; với fallback: height: 100vh; height: 100dvh;
vw và vh luôn reference đến width và height cụ thể. vmin reference đến dimension nhỏ hơn (width hoặc height), vmax reference đến dimension lớn hơn. Điều này hữu ích khi bạn muốn element scale consistent bất kể orientation. Ví dụ: trên landscape screen, vmin = vh; trên portrait screen, vmin = vw.
Percentages relative to parent element, viewport units relative to browser viewport. Dùng viewport units khi: cần element relative to screen size (không phải parent), full-screen layouts, fluid typography, consistent spacing across pages. Dùng percentages khi: element cần relative to container, grid layouts, flexible widths within containers.
Mobile browsers có dynamic UI (address bar, navigation) thay đổi viewport height. 100vh được tính với UI ẩn, nhưng khi UI hiển thị, content bị cắt. Giải pháp: dùng 100dvh (dynamic viewport height) hoặc JavaScript để set --vh custom property: document.documentElement.style.setProperty('--vh', window.innerHeight * 0.01 + 'px');
Có, viewport units hoạt động hoàn hảo trong calc(). Ví dụ: width: calc(100vw - 300px) cho sidebar layout, font-size: calc(16px + 1vw) cho fluid typography, padding: calc(2vw + 10px) cho responsive spacing. Đây là cách phổ biến để kết hợp fixed và fluid values.
Sử dụng browser DevTools responsive mode (F12 > Toggle device toolbar). Chọn các preset devices hoặc nhập custom dimensions. Công cụ của chúng tôi cũng giúp bạn tính toán trước giá trị viewport units cho các screen sizes khác nhau trước khi code.
Đây là viewport units mới trong CSS: svh (small viewport height) = viewport khi browser UI hiển thị đầy đủ. lvh (large viewport height) = viewport khi browser UI ẩn. dvh (dynamic viewport height) = thay đổi động theo UI state. Tương tự có svw, lvw, dvw cho width. Hỗ trợ từ Chrome 108, Safari 15.4, Firefox 101.
Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.