Skip to content

Commit cd7e37f

Browse files
author
Adam Butterworth
authored
feat: add responsive type scale (#51)
* feat: add responsive typography * fix: use breakpoint variable for media query * fix: shrink display also
1 parent cd7841f commit cd7e37f

File tree

3 files changed

+37
-44
lines changed

3 files changed

+37
-44
lines changed

scss/edx/overrides/_typography.scss

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,30 @@ h6,
3434
font-weight: $font-weight-bold;
3535
}
3636

37+
@media (max-width: map-get($grid-breakpoints, "sm")) {
38+
.display-1,
39+
.display-2,
40+
.display-3,
41+
.display-4,
42+
h1, .h1 {
43+
font-size: 2rem;
44+
line-height: $headings-line-height;
45+
}
46+
h2, .h2 {
47+
font-size: 1.75rem;
48+
}
49+
h3, .h3 {
50+
font-size: 1.5rem;
51+
}
52+
h4, .h4 {
53+
font-size: 1.375rem;
54+
}
55+
}
56+
57+
label {
58+
line-height: $headings-line-height;
59+
font-weight: $headings-font-weight;
60+
}
3761

3862
small,
3963
.small {

src/index.scss

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,11 @@
2626
}
2727
}
2828

29-
.type-scale-row {
30-
margin-bottom: 3rem;
31-
}
32-
.type-scale-cell-empty {
33-
background: transparent;
34-
padding: $spacer*.5;
35-
flex-basis: 66%;
36-
}
37-
3829
.color-card {
3930
box-shadow: inset 0 0 1px rgba(0,0,0,.2);
4031
}
4132

4233
.color-label {
43-
// color: $text-muted;
44-
// font-weight: 600;
4534
margin-bottom: .25rem;
4635
}
4736
.text-swatch-sample {

src/pages/Basics.Typography.js

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -55,39 +55,19 @@ export default function Typography() {
5555

5656
return (
5757
<div>
58-
59-
<div className="row type-scale-row">
60-
<div className="col-6">{ renderTypeItem({name: 'Display', tag: 'h1', tagClass: 'display-3'}) }</div>
61-
<div className="col-6 d-flex align-items-center"><div className="type-scale-cell-empty" /></div>
62-
</div>
63-
<div className="row type-scale-row">
64-
<div className="col-6">{ renderTypeItem({name: 'Heading 1', tag: 'h1', tagClass: ''}) }</div>
65-
<div className="col-6 d-flex align-items-center"><div className="type-scale-cell-empty" /></div>
66-
</div>
67-
<div className="row type-scale-row">
68-
<div className="col-6">{ renderTypeItem({name: 'Heading 2', tag: 'h2', tagClass: ''}) }</div>
69-
<div className="col-6 d-flex align-items-center"><div className="type-scale-cell-empty " /></div>
70-
</div>
71-
<div className="row type-scale-row">
72-
<div className="col-6">{ renderTypeItem({name: 'Heading 3', tag: 'h3', tagClass: ''}) }</div>
73-
<div className="col-6 d-flex align-items-center"><div className="type-scale-cell-empty " /></div>
74-
</div>
75-
<div className="row type-scale-row">
76-
<div className="col-6">{ renderTypeItem({name: 'Heading 4', tag: 'h4', tagClass: ''}) }</div>
77-
<div className="col-6 d-flex align-items-center"><div className="type-scale-cell-empty " /></div>
78-
</div>
79-
<div className="row type-scale-row">
80-
<div className="col-6">{ renderTypeItem({name: 'Heading 5', tag: 'h5', tagClass: ''}) }</div>
81-
<div className="col-6">{ renderTypeItem({name: 'Large Paragraph', tag: 'p', tagClass: 'lead'}) }</div>
82-
</div>
83-
<div className="row type-scale-row">
84-
<div className="col-6">{ renderTypeItem({name: 'Heading 6', tag: 'h6', tagClass: ''}) }</div>
85-
<div className="col-6">{ renderTypeItem({name: 'Paragraph', tag: 'p', tagClass: ''}) }</div>
86-
</div>
87-
<div className="row type-scale-row">
88-
<div className="col-6 d-flex align-items-center"><div className="type-scale-cell-empty " /></div>
89-
<div className="col-6">{ renderTypeItem({name: 'Small ', tag: 'p', tagClass: 'small'}) }</div>
90-
</div>
58+
<div className="mb-4">{renderTypeItem({name: 'Display', tag: 'h1', tagClass: 'display-3'})}</div>
59+
<div className="mb-4">{renderTypeItem({name: 'Heading 1', tag: 'h1', tagClass: ''})}</div>
60+
<div className="mb-4">{renderTypeItem({name: 'Heading 2', tag: 'h2', tagClass: ''})}</div>
61+
<div className="mb-4">{renderTypeItem({name: 'Heading 3', tag: 'h3', tagClass: ''})}</div>
62+
<div className="mb-4">{renderTypeItem({name: 'Heading 4', tag: 'h4', tagClass: ''})}</div>
63+
<div className="mb-4">{renderTypeItem({name: 'Heading 5', tag: 'h5', tagClass: ''})}</div>
64+
<div className="mb-4">{renderTypeItem({name: 'Heading 6', tag: 'h6', tagClass: ''})}</div>
65+
<hr />
66+
<div className="mb-4">{renderTypeItem({name: 'Large Paragraph', tag: 'p', tagClass: 'lead'})}</div>
67+
<div className="mb-4">{renderTypeItem({name: 'Paragraph', tag: 'p', tagClass: ''})}</div>
68+
<div className="mb-4">{renderTypeItem({name: 'Small ', tag: 'p', tagClass: 'small'})}</div>
69+
<hr />
70+
<div className="mb-4">{renderTypeItem({name: 'Label ', tag: 'label'})}</div>
9171
</div>
9272
);
9373
}

0 commit comments

Comments
 (0)