ScreenshotNeo

BlogHow-to

How to Capture a Responsive Website Screenshot at Oppo Reno 11 Size

Capture a responsive website in Chrome at a verified Oppo Reno 11 viewport, save a visible or full-page screenshot, and understand what emulation can and cannot confirm.

By the ScreenshotNeo team4 October 20268 min read

To capture a responsive website screenshot at Oppo Reno 11 size, use Chrome DevTools Device Mode and set the page to a verified Reno11 CSS viewport in portrait orientation. OPPO lists the Reno11 5G (model CPH2599) with a 6.7-inch FHD+ display at 2412 × 1080 physical pixels, but that panel resolution does not establish the browser’s CSS viewport or device pixel ratio (DPR). Don’t enter 1080 × 2412 as CSS pixels on that basis alone. Use a verified device profile if one is available, or measure the live phone and enter its reported CSS dimensions.

Device Mode is useful for repeatable responsive-layout checks. It approximates a mobile device; for behavior that depends on the actual handset, browser, or software, verify the page on a real Reno11. OPPO’s Reno11 specifications list the panel details, and Chrome’s Device Mode guide explains emulation and its limits.

1. Find a reliable Reno11 viewport

A responsive layout uses CSS pixels for its viewport. A screenshot file uses output pixels. DPR relates physical screen pixels to logical CSS pixels, so panel resolution, CSS viewport dimensions, and screenshot output dimensions are different measurements. Chrome describes DPR as the ratio of physical screen pixels to CSS pixels.

The official OPPO specification cited here does not give the Reno11 browser’s CSS viewport width, visible browser height, or DPR. These can vary with software and browser configuration. Use one of these approaches:

  1. Use a verified DevTools profile. In Chrome Device Mode, look for a Reno11 profile and confirm the dimensions and DPR shown by the installed Chrome version. Do not assume an unverified profile exactly matches the phone.
  2. Measure the handset. Open the page on the Reno11 and inspect the browser’s reported viewport dimensions and device pixel ratio using a diagnostic page or browser remote debugging. Record the values and browser state. A browser’s visible viewport height may change when its address or toolbar is shown or hidden.
  3. Use an explicitly labeled approximation. If no verified dimensions are available, choose a portrait CSS viewport for the layout check and record that it is an approximation, not an OPPO-published Reno11 measurement.

Set the viewport width and height in CSS pixels. Set DPR separately when screenshot pixel density or high-density image behavior matters. For layout breakpoints, getting the CSS viewport right is usually the key setting. Match portrait or landscape to the state you intend to evaluate.

2. Capture the page in Chrome DevTools

  1. Open the target URL in Chrome on your computer.
  2. Open DevTools: use F12 or Ctrl+Shift+I on Windows/Linux, or Command+Option+I on macOS.
  3. Toggle the Device Toolbar with Ctrl+Shift+M on Windows/Linux or Command+Shift+M on macOS, or click the device toolbar icon.
  4. Select Responsive. Enter the verified portrait viewport width and height in CSS pixels. If you have no verified dimensions, use a clearly labeled approximation rather than converting the panel resolution as if it were CSS pixels.
  5. Choose the mobile device type when touch and mobile rendering behavior matter. Set DPR if the pixel density of the exported image or high-density assets matter. Check the orientation and the page at the selected size.
  6. Open the Device Toolbar’s More options menu. Choose Capture screenshot to save the visible viewport, or Capture a full size screenshot to include the page beyond the visible screen.

Chrome documents separate commands for viewport and full-size screenshots. The full-size capture is useful for inspecting content below the fold, but it is not a record of what a user sees in one screenful. For a reproducible comparison, note the URL, Chrome version, viewport width and height, DPR, orientation, device type, and whether the capture is viewport-only or full-page.

3. Choose the right kind of screenshot

What you need to check Capture choice What it shows
Header, first screen, or visible layout Capture screenshot The current viewport at the selected dimensions
Content that continues below the fold Capture a full size screenshot The page’s full vertical content as a single capture
Responsive breakpoints Set CSS viewport dimensions How layout rules respond to the chosen logical viewport
High-density image or output-pixel detail Set DPR as well as the viewport A different output pixel density; it does not change the meaning of the CSS viewport
Real browser or handset behavior Capture or inspect on the Reno11 itself The actual device and browser state, which desktop emulation only approximates

4. Validate the result on the phone when needed

Use DevTools for quick, repeatable layout checks across viewport sizes. If the issue concerns the Reno11’s browser chrome, actual touch interaction, software-specific behavior, or rendering differences that emulation may not reproduce, open the same page on the handset and compare it there. Keep the page state consistent: use the same URL, orientation, scroll position, and relevant login or consent state.

Chrome’s guidance describes Device Mode as a “first-order approximation” of how a page looks and performs on a mobile device. That is a useful boundary: emulation helps catch responsive layout issues, while the real handset is the reference for actual-device behavior.

5. Automate a repeatable capture

For repeated checks, use Chrome DevTools Protocol through a browser automation tool such as Playwright. Supply only viewport and DPR values you have verified or explicitly chosen as an approximation. The following runnable Node.js example launches Chromium, applies a mobile viewport, opens a page, and writes a full-page PNG. It does not claim that the example dimensions are Reno11 specifications; replace them with measured or verified values.

import { chromium } from 'playwright';

const url = process.argv[2];
if (!url) throw new Error('Usage: node capture.mjs https://example.com');

// Replace with a verified Reno11 CSS viewport and DPR, or label these
// values in your results as an approximation.
const viewport = { width: 393, height: 873 };
const deviceScaleFactor = 1;

const browser = await chromium.launch({ headless: true });
try {
  const page = await browser.newPage({
    viewport,
    deviceScaleFactor,
    isMobile: true,
    hasTouch: true
  });
  await page.goto(url, { waitUntil: 'networkidle', timeout: 60000 });
  await page.screenshot({ path: 'oppo-reno-11-approximation.png', fullPage: true });
} finally {
  await browser.close();
}

Save it as capture.mjs, install Playwright with npm install playwright, and run node capture.mjs https://example.com. The sample uses an illustrative viewport only. For sites that keep long-lived network connections open, networkidle may not occur; use a meaningful page-ready selector or a deliberate wait suited to the site. Keep secrets out of the script and avoid capturing authenticated pages unless the environment and output storage are appropriate.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. A single request captures a URL as an image or PDF; the options include viewport sizes, device presets, full-page capture, and other capture controls. See the API documentation. For an Oppo Reno11 approximation, use a verified viewport and DPR if you have them; this call does not itself verify physical-device dimensions.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Adapt the target URL and add the documented viewport and device settings for your capture. Cookie banners, popups, and chat widgets are removed before the shot; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. An MCP server lets AI agents use screenshot tools. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month, with no card required.

Troubleshooting

Symptom Likely cause What to do
The layout looks too wide or too narrow The CSS viewport is wrong, or physical panel pixels were entered as CSS pixels. Use a verified CSS viewport measurement. Keep panel resolution and DPR separate.
The saved image has unexpected pixel dimensions DPR affects output density, and the capture mode may be full-page rather than viewport-only. Check viewport dimensions, DPR, and capture command. Record all three.
The browser UI reduces the visible page area The visible browser viewport is shorter than the full device screen, and browser bars can change state. Measure the live browser viewport for the state you need to reproduce; do not infer its height from the panel diagonal or resolution.
Some controls do not behave like a phone Desktop Device Mode approximates a device and may not reproduce every real-device behavior. Set mobile and touch emulation where useful, then verify on the Reno11 for device-dependent issues.
A full-page screenshot differs from scrolling manually Full-page capture includes content outside the visible fold and may trigger lazy-loaded content differently. Use a viewport capture for the visible-screen comparison. For full-page checks, confirm below-fold content has loaded.
Automated navigation times out waiting for network idle The page may keep requests open or continuously fetch data. Wait for a page-specific selector or a suitable load event, and set a timeout based on the site.

Performance, reliability, and cost

  • DevTools: No screenshot service subscription is needed for the described Chrome workflow. It is convenient for manual checks and browser-based emulation.
  • Automation: Headless browser captures require a browser process and page load, so keep repeated jobs bounded with navigation and overall timeouts. Reuse a browser process for batches where your automation design allows it.
  • Reproducibility: Pin the browser version where practical and record viewport, DPR, orientation, and capture type. Third-party content, dynamic data, animations, consent state, and network timing can change captures between runs.
  • Actual-device confidence: A desktop capture cannot prove the page behaves identically on the Reno11. Validate on the handset when that distinction matters.

FAQ

Does 2412 × 1080 mean I should enter 1080 × 2412 in DevTools?

No. OPPO’s number is the panel’s physical resolution. DevTools responsive dimensions are CSS pixels, and the dossier does not establish the Reno11’s CSS viewport or DPR.

Should I use a full-page screenshot for a mobile design review?

Use it to inspect the entire document. Use a viewport screenshot when the review concerns what fits on the visible screen.

Can Device Mode confirm the exact Reno11 experience?

No. It approximates mobile behavior. Test on the handset when the actual browser, software, or device matters.

What information should accompany a screenshot in a bug report?

Include the page URL, browser and version, viewport dimensions, DPR, orientation, and whether the image is viewport-only or full-page. Say when dimensions are approximations.