- From: daskpunk via GitHub <sysbot+gh@w3.org>
- Date: Tue, 28 Feb 2023 16:58:07 +0000
- To: public-css-archive@w3.org
Hello everyone. > Considering that there is a range of [500px, 300px, 200px, 600px ...], we can have in 4n, the 4 element 500(1), 300(2), 200(3), 600(4) ... From what I understand of this proposal, there is a spread() function. This can be found here: [[css-values-5] Add spread() to CSS ](https://github.com/w3c/csswg-drafts/issues/8391), we have a switch case for media queries: ```css @breakpoint: [600px; 200px; 100px; 500px; 400px; 250px]; /* @media (width <= 600px) { */ @media (width <= nth-value(1; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 200px) { */ @media (width <= nth-value(2; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 100px) { */ @media (width <= nth-value(3; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 500px) { */ @media (width <= nth-value(4; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 400px) { */ @media (width <= nth-value(5; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 250px) { */ @media (width <= nth-value(6; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 600px < 600px ) { */ @media (nth-value(1; env(--more-items)) <= width < nth-value(1; env(--more-items))) { } ``` *vs* ```css @custom-env --some-items: spread(600px; 200px; 100px); @custom-env --more-items: spread(var(--some-items); 500px; 400px; 250px); /* @media (width <= 600px) { */ @media (width <= nth-value(1; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 200px) { */ @media (width <= nth-value(2; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 100px) { */ @media (width <= nth-value(3; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 500px) { */ @media (width <= nth-value(4; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 400px) { */ @media (width <= nth-value(5; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 250px) { */ @media (width <= nth-value(6; env(--more-items))) { .menuBar { display: none; } } /* @media (width <= 600px < 600px ) { */ @media (nth-value(1; env(--some-prop)) <= width < nth-value(1; env(--some-prop))) { } ``` *why do we represent things as spread and not as an array?* ```css @breakpoint: [600px; 200px; 100px; 500px; 400px; 250px]; ``` *"vs"* ```css @custom-env --some-items: spread(600px; 200px; 100px); @custom-env --more-items: spread(var(--some-items); 500px; 400px; 250px); ``` About this syntax: `@breakpoint: [200px, 600px];`, there is this syntax or proposal here that is very similar too: (This can be found here: [[css-values]: Express conditional values in a more terse way](https://github.com/w3c/csswg-drafts/issues/5009)) ```css @media (max-width: [1200px, 768px, 425px]) { .text-box { font-size: [24px, 20px, 16px]; padding: [50px, 30px, 10px]; margin: [50px 25px, 25px 12.5px, 12.5px] } } ``` or: ```css @custom-env --some-items: spread(1200px; 768px; 425px); @custom-env --font-size: spread(24px; 20px; 16px); @custom-env --padding: spread(50px; 30px; 10px); @custom-env --margin: spread(50px; 25px; 25px; 12.5px; 12.5px); @media (max-width: --some-items) { .text-box { font-size: --font-size; padding: --padding; margin: --margin; } } ``` or: ```css @custom-env --fontSize-items: spread(24px; 20px; 16px); @custom-env --padding-items: spread(50px; 30px; 10px); @custom-env --margin-items: spread(50px; 25px; 25px; 12.5px; 12.5px); @media (max-width: --some-items) { .text-box { font-size: nth-value(1; env(--fontSize-items)); /* font-size: 24px; */ padding: nth-value(1; env(--padding-items)); /* padding: 50px; */ margin: nth-value(1; env(--margin-items));) /* margin: 50px; */ } } ``` -- GitHub Notification of comment by daskpunk Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8472#issuecomment-1448526039 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 28 February 2023 16:58:08 UTC