Sunstone::Docs::C_THEMING::ZeroInlineStyles
Zero Inline Styles Architecture
Executive Summary & Key Topics
| Topic | Method / Anchor | Description |
|---|---|---|
| How Zero-Inline-Styles Works | .topic_01_architecture |
Mapping semantic attributes to CSS grid and flex rules. |
| Chrome via CSS Pseudo-Elements | .topic_02_pseudo_elements |
Rendering window controls and arrows without extra HTML. |
Class methods
topic_01_architecture
How Zero-Inline-Styles Works: Mapping semantic attributes to CSS grid and flex rules.
Rather than injecting style="grid-template-columns: 3fr 2fr;" into HTML tags, Sunstone emits semantic data attributes:
<div class="slide-body" data-ratio="3:2" data-density="compact">
In sunstone-base.css, attribute selectors map directly to CSS grid definitions:
[data-ratio="3:2"] {
grid-template-columns: 3fr 2fr;
}
topic_02_pseudo_elements
Chrome via CSS Pseudo-Elements: Rendering window controls and arrows without extra HTML.
Terminal dots and window controls are rendered purely with ::before and box shadows:
.window-header::before {
content: "";
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
background: #ff5f56;
box-shadow: 15px 0 0 #ffbd2e, 30px 0 0 #27c93f;
margin-right: 40px;
}
Flow arrows between architectural tiers use .arch-tier + .arch-tier::before { content: "▼"; }.