Skip to content

Commit 5793a8c

Browse files
doupalice-i-cecile
andauthored
Remove CSS Relative Colors usage (#1953)
Co-authored-by: Alice Cecile <[email protected]>
1 parent 350ee3f commit 5793a8c

File tree

5 files changed

+47
-32
lines changed

5 files changed

+47
-32
lines changed

sass/_vars.scss

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,23 @@ $mobile-menu-width: 300px;
3232
$content-top-margin: 30px;
3333
$border-radius: 10px;
3434

35+
// Colors
36+
// If you're reading this in late 2025 (or later), check PR #1953 because these
37+
// changes probably can be reverted.
38+
//
39+
// These colors are *temporarily* defined as SASS variables. They should be
40+
// replaced with CSS variables once CSS Relative Colors support is *widely
41+
// available*. We define these as SASS variables so that they can be used with
42+
// the `sass:color` package to derive new colors. If a color is not going to be
43+
// used to derive a new color, then CSS vars should be used instead.
44+
//
45+
// See PR: https://github.com/bevyengine/bevy-website/pull/1953
46+
// See Relative Colors support: https://caniuse.com/css-relative-colors
47+
$color-neutral-17: #2c2c2d;
48+
$color-neutral-93: #ececec;
49+
$color-black: #000;
50+
$color-white: #fff;
51+
3552
// CSS Vars
3653
:root {
3754
// Typography
@@ -42,7 +59,7 @@ $border-radius: 10px;
4259
--color-neutral-11: #1b1b1b;
4360
--color-neutral-13: #1e1e22;
4461
--color-neutral-14: #232326;
45-
--color-neutral-17: #2c2c2d;
62+
--color-neutral-17: #{$color-neutral-17};
4663
--color-neutral-18: #2b2c2f;
4764
--color-neutral-19: #2f3033;
4865
--color-neutral-22: #383838;
@@ -69,12 +86,12 @@ $border-radius: 10px;
6986
--color-neutral-78: #c8c8c8;
7087
--color-neutral-82: #d2d2d2;
7188
--color-neutral-88: #e1e1e1;
72-
--color-neutral-93: #ececec;
89+
--color-neutral-93: #{$color-neutral-93};
7390
--color-neutral-96: #f0effb;
7491
--color-neutral-97: #f7f7f7;
7592

76-
--color-black: #000;
77-
--color-white: #fff;
93+
--color-black: #{$color-black};
94+
--color-white: #{$color-white};
7895

7996
// Blues by lightness
8097
--color-blue-21: #2f2745;
@@ -113,7 +130,7 @@ $border-radius: 10px;
113130
--asset-card-img-bg-color: var(--color-neutral-11);
114131
--asset-card-tag-icon-color: var(--color-neutral-60);
115132
--asset-card-text-color: var(--color-neutral-93);
116-
--asset-card-title-bg-color: #{unquote('rgb(from var(--color-black) r g b / 0.5)')};
133+
--asset-card-title-bg-color: #{rgba($color-black, 0.5)};
117134
--asset-card-title-color: var(--color-neutral-93);
118135
--asset-card-tag-bg-color: var(--color-neutral-36);
119136
--asset-card-tag-text-color: var(--color-neutral-93);
@@ -148,7 +165,7 @@ $border-radius: 10px;
148165
--button-pink-bg-hover-color: #954c72;
149166
--button-pink-border-color: #ba789b;
150167
--button-pink-text-color: var(--color-neutral-93);
151-
--button-square-bg-color: var(--color-neutral-93);
168+
--button-square-bg-color: #{rgba($color-neutral-93, 0.05)};
152169

153170
--callout-caution-accent-color: #e82f5a;
154171
--callout-caution-bg-color: #591626;
@@ -204,7 +221,7 @@ $border-radius: 10px;
204221
--code-yyy: #d19a66;
205222
--code-zzz: #d1af8f;
206223

207-
--details-bg-color: var(--color-neutral-93);
224+
--details-bg-color: #{rgba($color-neutral-93, 0.1)};
208225
--details-text-shadow-color: var(--color-neutral-93);
209226

210227
--docs-whats-a-bevy-filter: none;
@@ -215,7 +232,7 @@ $border-radius: 10px;
215232
--docs-footer-dir-hover-color: var(--color-neutral-60b);
216233
--docs-footer-edit-color: var(--color-neutral-55);
217234
--docs-footer-edit-hover-color: var(--color-neutral-75);
218-
--docs-footer-hover-bg-color: #{unquote('rgb(from var(--color-neutral-93) r g b / 0.01)')};
235+
--docs-footer-hover-bg-color: #{rgba($color-neutral-93, 0.01)};
219236
--docs-footer-hover-color: var(--color-neutral-93);
220237

221238
--donate-text-color: var(--color-neutral-82);
@@ -271,11 +288,11 @@ $border-radius: 10px;
271288
--link-card-text-color: var(--color-neutral-93);
272289

273290
--main-menu-active-color: var(--color-blue-85);
274-
--main-menu-backdrop-color: #{unquote('rgb(from var(--color-black) r g b / 0.2)')};
275-
--main-menu-link-hover-color: #{unquote('rgb(from var(--color-white) r g b / 0.05)')};
291+
--main-menu-backdrop-color: #{rgba($color-black, 0.2)};
292+
--main-menu-link-hover-color: #{rgba($color-white, 0.05)};
276293
--main-menu-link-outline: var(--focus-outline);
277294
--main-menu-mobile-bg-color: var(--color-neutral-13);
278-
--main-menu-mobile-box-shadow-color: #{unquote('rgb(from var(--color-black) r g b / 0.3)')};
295+
--main-menu-mobile-box-shadow-color: #{rgba($color-black, 0.3)};
279296
--main-menu-text-color: var(--color-neutral-93);
280297

281298
--media-content-blockquote-bg-color: var(--color-neutral-18);
@@ -288,13 +305,13 @@ $border-radius: 10px;
288305
--media-content-link-color: var(--color-blue-link);
289306
--media-content-text-color: var(--color-neutral-82);
290307

291-
--menu-switch-bg-color: #{unquote('rgb(from var(--color-white) r g b / 0.05)')};
308+
--menu-switch-bg-color: #{rgba($color-white, 0.05)};
292309
--menu-switch-option-active-bg-color: var(--color-neutral-13);
293310
--menu-switch-option-active-text-color: var(--color-white);
294311
--menu-switch-option-text-color: var(--color-neutral-61);
295312

296313
--migration-guide-hr-color-legacy: var(--color-neutral-33b);
297-
--migration-guide-hr-color: var(--color-white);
314+
--migration-guide-hr-color: #{rgba($color-white, 0.05)};
298315
--migration-guide-legacy-area-tags-color: var(--color-neutral-50);
299316
--migration-guide-title-color: var(--color-neutral-93);
300317

@@ -312,7 +329,7 @@ $border-radius: 10px;
312329
--people-role-maintainer-color: rgb(242, 103, 255);
313330
--people-role-sme-color: rgb(80, 200, 50);
314331

315-
--scrollbar-thumb-color: #{unquote('rgb(from var(--color-white) r g b / 0.2)')};
332+
--scrollbar-thumb-color: #{rgba($color-white, 0.2)};
316333

317334
--sponsors-name-color: var(--color-neutral-59);
318335
--sponsors-link-color: var(--color-blue-link);
@@ -325,17 +342,19 @@ $border-radius: 10px;
325342
--table-header-color: var(--color-neutral-82);
326343

327344
--tabs-bg-color: var(--color-white);
345+
--tabs-bg-hover-color: #{rgba($color-white, 0.05)};
346+
--tabs-bg-active-color: #{rgba($color-white, 0.1)};
328347
--tabs-highlight-color: var(--color-blue-link);
329348

330349
--todo-bg-color: rgba(191, 170, 64, 0.3);
331350
--todo-border-color: rgba(223, 191, 32, 0.5);
332351

333352
--tree-menu-chevron-filter: brightness(70%);
334-
--tree-menu-label-active-bg-color: #{unquote('rgb(from var(--color-neutral-93) r g b / 0.1)')};
353+
--tree-menu-label-active-bg-color: #{rgba($color-neutral-93, 0.1)};
335354
--tree-menu-label-active-color: var(--color-neutral-93);
336355
--tree-menu-label-color: var(--color-neutral-61);
337-
--tree-menu-toc-bg-color: #{unquote('rgb(from var(--color-black) r g b / 0.25)')};
338-
--tree-menu-toggle-hover-color: #{unquote('rgb(from var(--color-neutral-93) r g b / 0.1)')};
356+
--tree-menu-toc-bg-color: #{rgba($color-black, 0.25)};
357+
--tree-menu-toggle-hover-color: #{rgba($color-neutral-93, 0.1)};
339358

340359
--warning-color: #c8c864;
341360

@@ -391,7 +410,7 @@ $border-radius: 10px;
391410
--code-yyy: #cd5d12;
392411
--code-zzz: #ce8c4e;
393412

394-
--details-bg-color: var(--color-neutral-17);
413+
--details-bg-color: #{rgba($color-neutral-17, 0.1)};
395414
--details-text-shadow-color: var(--color-neutral-17);
396415

397416
--docs-whats-a-bevy-filter: invert(85%);
@@ -402,7 +421,7 @@ $border-radius: 10px;
402421
--docs-footer-dir-hover-color: var(--color-neutral-33);
403422
--docs-footer-edit-color: var(--color-neutral-50);
404423
--docs-footer-edit-hover-color: var(--color-neutral-33);
405-
--docs-footer-hover-bg-color: #{unquote('rgb(from var(--color-black) r g b / 0.01)')};
424+
--docs-footer-hover-bg-color: #{rgba($color-black, 0.01)};
406425
--docs-footer-hover-color: var(--color-black);
407426

408427
--focus-outline: solid var(--color-blue-57) 3px;
@@ -420,7 +439,7 @@ $border-radius: 10px;
420439

421440
@media #{$bp-tablet-landscape-down} {
422441
--main-menu-active-color: var(--color-blue-57);
423-
--main-menu-link-hover-color: #{unquote('rgb(from var(--color-black) r g b / 0.03)')};
442+
--main-menu-link-hover-color: #{rgba($color-black, 0.03)};
424443
--main-menu-text-color: var(--color-neutral-33);
425444
}
426445

@@ -440,15 +459,15 @@ $border-radius: 10px;
440459
--menu-switch-option-text-color: var(--color-neutral-33);
441460

442461
--migration-guide-hr-color-legacy: var(--color-neutral-50);
443-
--migration-guide-hr-color: var(--color-black);
462+
--migration-guide-hr-color: #{rgba($color-black, 0.05)};
444463
--migration-guide-legacy-area-tags-color: var(--color-neutral-50);
445464
--migration-guide-title-color: var(--color-neutral-13);
446465

447466
--on-this-page-color: var(--color-neutral-45);
448467
--on-this-page-hover-color: var(--color-black);
449468
--on-this-page-active-color: var(--color-black);
450469

451-
--scrollbar-thumb-color: #{unquote('rgb(from var(--color-black) r g b / 0.2)')};
470+
--scrollbar-thumb-color: #{rgba($color-black, 0.2)};
452471

453472
--table-border-color: var(--color-neutral-75);
454473
--table-header-bg-color: var(--color-neutral-82);

sass/components/_button-square.scss

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
content: "";
1010
position: absolute;
1111
inset: 8px;
12-
background-color: unquote(
13-
"rgb(from var(--button-square-bg-color) r g b / 0.05)"
14-
);
12+
background-color: var(--button-square-bg-color);
1513
border-radius: $border-radius;
1614
}
1715
}

sass/components/_tabs.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
border-radius: 8px;
2020

2121
&:hover {
22-
background-color: unquote("rgb(from var(--tabs-bg-color) r g b / 0.05)");
22+
background-color: var(--tabs-bg-hover-color);
2323
}
2424

2525
&:active {
26-
background-color: unquote("rgb(from var(--tabs-bg-color) r g b / 0.1)");
26+
background-color: var(--tabs-bg-active-color);
2727
}
2828

2929
&:after {

sass/elements/_details.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ details {
33
border-radius: $border-radius;
44
padding: 0 $h-padding;
55
margin-block: 1em;
6-
background-color: unquote("rgb(from var(--details-bg-color) r g b / 0.1)");
6+
background-color: var(--details-bg-color);
77
overflow: hidden; // prevent clobbering corner radii
88

99
& h1,

sass/pages/_migration_guide.scss

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,9 @@
2929
}
3030

3131
hr {
32-
$color: "rgb(from var(--migration-guide-hr-color) r g b / 0.05)";
33-
3432
height: 1px;
35-
color: unquote($color);
36-
background: unquote($color);
33+
color: var(--migration-guide-hr-color);
34+
background: var(--migration-guide-hr-color);
3735
font-size: 0;
3836
border: 0;
3937
margin-block: 2rem;

0 commit comments

Comments
 (0)