Scale
The Scale system provides utility classes to scale the entire interface by adjusting the UI scale factor. This is useful for adapting content density for different viewing distances or user preferences.
Basic Usage
Apply scale modifiers to the screen
element to scale all interface elements proportionally.
The scale affects fonts, spacing, dimensions, and other UI elements that use the --ui-scale
CSS variable.
Available Scale Levels
The framework provides six predefined scale levels:
Class | Scale Factor | Use Case |
---|---|---|
screen--scale-xsmall
|
0.75 (75%) | Maximum content density |
screen--scale-small
|
0.875 (87.5%) | Increased content density |
screen--scale-regular
|
1.0 (100%) | Default scale, no scaling applied |
screen--scale-large
|
1.125 (112.5%) | Increased size for better readability |
screen--scale-xlarge
|
1.25 (125%) | Large scale for increased readability |
screen--scale-xxlarge
|
1.5 (150%) | Maximum scale for accessibility needs |
Scale Examples
The following examples demonstrate how scale levels affect the same content layout. Notice how all elements scale proportionally.
Extra Small Scale (75%)
Maximum content density - useful when viewing up close or when you need to fit more information on screen.
<div class="screen screen--scale-xsmall">
<!-- Your content here -->
</div>
Small Scale (87.5%)
Reduced scale for fitting more content while maintaining good readability.
<div class="screen screen--scale-small">
<!-- Your content here -->
</div>
Regular Scale (100%)
Default scale - this is the baseline that all other scale levels are relative to.
<div class="screen screen--scale-regular">
<!-- Your content here -->
</div>
Large Scale (112.5%)
Increased size for better readability
<div class="screen screen--scale-large">
<!-- Your content here -->
</div>
Extra Large Scale (125%)
Large scale for increased readability
<div class="screen screen--scale-xlarge">
<!-- Your content here -->
</div>
Extra Extra Large Scale (150%)
Maximum scale for accessibility needs
<div class="screen screen--scale-xxlarge">
<!-- Your content here -->
</div>
How It Works
The scale system works by modifying the --ui-scale
CSS variable, which is used throughout the framework to calculate sizes.
Affected Properties
When you apply a scale modifier, it scales the following properties:
- Font sizes (all text elements)
- Line heights
- Component dimensions (title bar height, progress bar sizes, etc.)
- Spacing that uses the ui-scale multiplier
- Any custom properties that reference
var(--ui-scale)
Note: The scale utility only affects elements that use the --ui-scale
variable in their calculations. Fixed pixel values and screen dimensions remain unchanged.
Combining with Device Configurations
Scale modifiers can be combined with device-specific classes to override the default UI scale for particular devices.
Class Combination | Description |
---|---|
screen screen--v2
|
Uses device default scale |
screen screen--v2 screen--scale-small
|
Overrides to 87.5% scale |
screen screen--amazon_kindle_2024 screen--scale-large
|
Overrides to 112.5% scale |
<!-- Use device default UI scale -->
<div class="screen screen--v2">
<!-- Content -->
</div>
<!-- Override device scale with scale modifier -->
<div class="screen screen--v2 screen--scale-small">
<!-- Content at 87.5% scale -->
</div>
<!-- Combine with any device configuration -->
<div class="screen screen--amazon_kindle_2024 screen--scale-large">
<!-- Kindle device with 112.5% scale -->
</div>