Skip to content

Commit f1db79e

Browse files
committed
[css-gaps-1][explainer] Better examples for varying decorations
1 parent 184f663 commit f1db79e

File tree

6 files changed

+33
-44
lines changed

6 files changed

+33
-44
lines changed

css-gaps-1/explainer.md

Lines changed: 33 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,13 @@ content location of future work and discussions.
5050
- [Scenario 3: Segmented gap decorations](#scenario-3-segmented-gap-decorations)
5151
- [Scenario 4: Grid layout with white space in leading columns](#scenario-4-grid-layout-with-white-space-in-leading-columns)
5252
- [Scenario 5: Column decorations only between items](#scenario-5-column-decorations-only-between-items)
53+
- [Scenario 6: Calendar layout with alternating line styles](#scenario-6-calendar-layout-with-alternating-line-styles)
5354
- [Future ideas](#future-ideas)
5455
- [Images](#images)
5556
- [Corner joins](#corner-joins)
5657
- [Propagation of gap decorations into subgrids](#propagation-of-gap-decorations-into-subgrids)
5758
- [Extensions to decoration visibility controls](#extensions-to-decoration-visibility-controls)
5859
- [Placement of gap decorations](#placement-of-gap-decorations)
59-
- [Scenario: Calendar grid with header column](#scenario-calendar-grid-with-header-column)
60-
- [Scenario: Different lines for different gaps, applied to a sub-area of a grid](#scenario-different-lines-for-different-gaps-applied-to-a-sub-area-of-a-grid)
6160
- [Scenario: Periodic Table omitting decorations from certain areas](#scenario-periodic-table-omitting-decorations-from-certain-areas)
6261
- [Dropped ideas](#dropped-ideas)
6362
- [Logical properties](#logical-properties)
@@ -179,20 +178,17 @@ simpler for gap decorations as there are fewer unknowns to consider.
179178

180179
```css
181180
.varying-widths {
182-
dispay: grid;
181+
display: grid;
183182
grid-template-columns: repeat(3, 100px);
184-
grid-auto-rows: 30px;
185-
row-gap: 9px;
186-
row-rule: 5px solid black, repeat(auto, 1px solid black), 3px solid black;
187-
}
188-
.item {
189-
height: 30px;
190-
padding: 5px;
191-
border: 1px dotted lightgray;
183+
grid-template-rows: 50px repeat(auto-fill, 50px) 50px;
184+
row-gap: 10px;
185+
row-rule: 5px solid black, repeat(auto, 1px dashed gray), 3px solid black;
186+
column-rule: 1px dashed gray;
187+
rule-inset: 5px;
192188
}
193189
```
194190

195-
![](images/example-width-style-color.png)
191+
![](images/example-varying-widths.png)
196192

197193
### Interaction with intersection types
198194

@@ -529,6 +525,31 @@ https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/1100
529525

530526
![](images/explainer-issue-1100.png)
531527

528+
### Scenario 6: Calendar layout with alternating line styles
529+
530+
https://codepen.io/samdomekara/pen/NPROrgQ, inspired by
531+
https://github.com/w3c/csswg-drafts/issues/2748#issuecomment-595889781
532+
533+
It might appear initially that `<table>` would be a better fit for this use case. But the comment author
534+
[pointed out](https://github.com/w3c/csswg-drafts/issues/2748#issuecomment-596040343)
535+
that once you populate the calendar with events, using a CSS grid makes things much simpler.
536+
537+
```css
538+
.calendar {
539+
display: grid;
540+
grid-template-columns: 80px repeat(7, 1fr);
541+
grid-template-rows: auto repeat(18, minmax(30px, 1fr));
542+
column-gap: 2px;
543+
column-rule: 2px solid #ddd;
544+
column-rule-edge-inset-start: 30px;
545+
row-gap: 1px;
546+
row-rule: 1px dotted #ddd, 1px solid #ddd;
547+
row-rule-edge-inset-start: 80px;
548+
}
549+
```
550+
551+
![](images/calendar-codepen.png)
552+
532553
## Future ideas
533554

534555
### Images
@@ -629,38 +650,6 @@ will "win". Thus, the value above would apply alternating 1px solid black and
629650
with alternating 3px solid black and 5px solid black rules, then on top of that
630651
override gaps in the first column with 1px solid blue rules.
631652

632-
#### Scenario: Calendar grid with header column
633-
634-
```css
635-
.grid-multiple-decoration-areas {
636-
display: grid;
637-
grid-template-rows: [top] 30px [main-top] repeat(6, 30px) [bottom];
638-
grid-template-columns: [left] 100px [main-left] repeat(3, 100px) [right];
639-
gap: 10px;
640-
rule-areas: --month-column left / top / main-left / bottom;
641-
row-rule: 1px solid black [--month-column] 1px solid lightblue;
642-
column-rule: [--month-column] 1px solid lightblue;
643-
}
644-
```
645-
646-
![](images/example-multiple-areas.png)
647-
648-
#### Scenario: Different lines for different gaps, applied to a sub-area of a grid
649-
650-
https://github.com/w3c/csswg-drafts/issues/2748#issuecomment-595889781
651-
652-
```css
653-
.container {
654-
rule-style: solid:
655-
rule-color: lightgray;
656-
rule-areas: --main 2 / 2 / -1 / -1;
657-
column-rule-width: [--main] 1px repeat(auto, 2px) 1px;
658-
row-rule-width: [--main] 0px repeat(auto, 2px 1px);
659-
}
660-
```
661-
662-
![](images/csswg-drafts-issues-2748-issuecomment-595889781.png)
663-
664653
#### Scenario: Periodic Table omitting decorations from certain areas
665654

666655
https://github.com/w3c/csswg-drafts/issues/12024#issuecomment-3086244002
42.1 KB
Loading
Binary file not shown.
-6.2 KB
Binary file not shown.
7.01 KB
Loading
-11.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)