← 输入框|github.com|刷新
Skip to content

feat(core): rem lengths - #11533

Open
triniwiz wants to merge 2 commits into
mainfrom
feat/css-rem-lengths
Open

triniwiz wants to merge 2 commits into
mainfrom
feat/css-rem-lengths

Conversation

@triniwiz

@triniwiz triniwiz commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

PR Checklist

What is the current behavior?

Core's length and font-size converters read 1.5rem with parseFloat, as 1.5 device-independent pixels. Text styled font-size: 1rem (every CSS framework's body text) is 1 dip tall, and rem margins, paddings and sizes collapse.

What is the new behavior?

  • A rem length is a multiple of the root font size, 16 by default as on the web, in Length, FixedLength, PercentLength, font-size and the font shorthand.
  • Length.setRootFontSize()/Length.getRootFontSize() change and read it for values parsed afterwards, so a layout library with its own root font size (MasonKit has one) can keep the two in step.
  • em is unchanged: it needs the element's font size, which these converters do not have.

Tests: ui/styling/length-rem.spec.ts (7).

Verified with all of these core PRs merged together (#11527–#11537): apps/automated passes on the iOS 26.4 simulator (1830 OK, 0 failed) and on an Android API 36 emulator (1692 OK; the one failure is the network-dependent IMAGE-CACHE.test_ImageCache_ValidUrl timeout, which also passes on reruns).

Core's length and font-size converters read `1.5rem` with parseFloat,
as 1.5 device-independent pixels, so text styled `font-size: 1rem`
(every CSS framework's body text) came out 1 dip tall and rem margins
and paddings collapsed.

A rem length is now a multiple of the root font size, 16 by default as
on the web, in lengths, percent lengths, `font-size` and the `font`
shorthand. `Length.setRootFontSize()` changes it for values parsed
afterwards, so a layout library with its own root font size can keep
the two in step.
@nx-cloud

nx-cloud Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit da41177

Command Status Duration Result
nx test apps-automated -c=android ✅ Succeeded 3m 45s View ↗
nx run-many --target=test --configuration=ci --... ✅ Succeeded <1s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-10-15 20:37:37 UTC

@pkg-pr-new

pkg-pr-new Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@nativescript/core@11533
npm i https://pkg.pr.new/@nativescript/vite@11533
npm i https://pkg.pr.new/@nativescript/webpack@11533

commit: da41177

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant