UNPKG

11.1 kBSCSSView Raw
1// Name: Heading
2// Description: Styles for headings
3//
4// Component: `uk-heading-primary`
5// `uk-heading-hero`
6// `uk-heading-divider`
7// `uk-heading-bullet`
8// `uk-heading-line`
9//
10// ========================================================================
11
12
13// Variables
14// ========================================================================
15
16$heading-small-font-size: $heading-small-font-size-m * 0.8 !default; // 38px 0.73
17$heading-medium-font-size: $heading-medium-font-size-m * 0.825 !default; // 40px 0.714
18$heading-large-font-size: $heading-large-font-size-m * 0.85 !default; // 50px 0.78
19$heading-xlarge-font-size: $heading-large-font-size-m !default; // 4rem / 64px
20$heading-2xlarge-font-size: $heading-xlarge-font-size-m !default; // 6rem / 96px
21
22$heading-small-font-size-m: $heading-medium-font-size-l * 0.8125 !default; // 3.25rem / 52px
23$heading-medium-font-size-m: $heading-medium-font-size-l * 0.875 !default; // 3.5rem / 56px
24$heading-large-font-size-m: $heading-medium-font-size-l !default; // 4rem / 64px
25$heading-xlarge-font-size-m: $heading-large-font-size-l !default; // 6rem / 96px
26$heading-2xlarge-font-size-m: $heading-xlarge-font-size-l !default; // 8rem / 128px
27
28$heading-medium-font-size-l: 4rem !default; // 64px
29$heading-large-font-size-l: 6rem !default; // 96px
30$heading-xlarge-font-size-l: 8rem !default; // 128px
31$heading-2xlarge-font-size-l: 11rem !default; // 176px
32
33$heading-small-line-height: 1.2 !default;
34$heading-medium-line-height: 1.1 !default;
35$heading-large-line-height: 1.1 !default;
36$heading-xlarge-line-height: 1 !default;
37$heading-2xlarge-line-height: 1 !default;
38
39$heading-divider-padding-bottom: unquote('calc(5px + 0.1em)') !default;
40$heading-divider-border-width: unquote('calc(0.2px + 0.05em)') !default;
41$heading-divider-border: $global-border !default;
42
43$heading-bullet-top: unquote('calc(-0.1 * 1em)') !default;
44$heading-bullet-height: unquote('calc(4px + 0.7em)') !default;
45$heading-bullet-margin-right: unquote('calc(5px + 0.2em)') !default;
46$heading-bullet-border-width: unquote('calc(5px + 0.1em)') !default;
47$heading-bullet-border: $global-border !default;
48
49$heading-line-top: 50% !default;
50$heading-line-height: $heading-line-border-width !default;
51$heading-line-width: 2000px !default;
52$heading-line-border-width: unquote('calc(0.2px + 0.05em)') !default;
53$heading-line-border: $global-border !default;
54$heading-line-margin-horizontal: unquote('calc(5px + 0.3em)') !default;
55
56
57/* ========================================================================
58 Component: Heading
59 ========================================================================== */
60
61.uk-heading-small {
62 font-size: $heading-small-font-size;
63 line-height: $heading-small-line-height;
64 @if(mixin-exists(hook-heading-small)) {@include hook-heading-small();}
65}
66
67.uk-heading-medium {
68 font-size: $heading-medium-font-size;
69 line-height: $heading-medium-line-height;
70 @if(mixin-exists(hook-heading-medium)) {@include hook-heading-medium();}
71}
72
73.uk-heading-large {
74 font-size: $heading-large-font-size;
75 line-height: $heading-large-line-height;
76 @if(mixin-exists(hook-heading-large)) {@include hook-heading-large();}
77}
78
79.uk-heading-xlarge {
80 font-size: $heading-xlarge-font-size;
81 line-height: $heading-xlarge-line-height;
82 @if(mixin-exists(hook-heading-xlarge)) {@include hook-heading-xlarge();}
83}
84
85.uk-heading-2xlarge {
86 font-size: $heading-2xlarge-font-size;
87 line-height: $heading-2xlarge-line-height;
88 @if(mixin-exists(hook-heading-2xlarge)) {@include hook-heading-2xlarge();}
89}
90
91/* Tablet Landscape and bigger */
92@media (min-width: $breakpoint-medium) {
93
94 .uk-heading-small { font-size: $heading-small-font-size-m; }
95 .uk-heading-medium { font-size: $heading-medium-font-size-m; }
96 .uk-heading-large { font-size: $heading-large-font-size-m; }
97 .uk-heading-xlarge { font-size: $heading-xlarge-font-size-m; }
98 .uk-heading-2xlarge { font-size: $heading-2xlarge-font-size-m; }
99
100}
101
102/* Laptop and bigger */
103@media (min-width: $breakpoint-large) {
104
105 .uk-heading-medium { font-size: $heading-medium-font-size-l; }
106 .uk-heading-large { font-size: $heading-large-font-size-l; }
107 .uk-heading-xlarge { font-size: $heading-xlarge-font-size-l; }
108 .uk-heading-2xlarge { font-size: $heading-2xlarge-font-size-l; }
109
110}
111
112
113/* Primary
114 Deprecated: Use `uk-heading-medium` instead
115 ========================================================================== */
116
117$heading-primary-font-size-l: 3.75rem !default; // 60px
118$heading-primary-line-height-l: 1.1 !default;
119
120$heading-primary-font-size-m: $heading-primary-font-size-l * 0.9 !default; // 54px
121
122$heading-primary-font-size: $heading-primary-font-size-l * 0.8 !default; // 48px
123$heading-primary-line-height: 1.2 !default;
124
125@if ($deprecated == true) {
126.uk-heading-primary {
127 font-size: $heading-primary-font-size;
128 line-height: $heading-primary-line-height;
129 @if(mixin-exists(hook-heading-primary)) {@include hook-heading-primary();}
130}
131}
132
133/* Tablet landscape and bigger */
134@media (min-width: $breakpoint-medium) {
135
136 @if ($deprecated == true) {
137.uk-heading-primary { font-size: $heading-primary-font-size-m; }
138}
139
140}
141
142/* Desktop and bigger */
143@media (min-width: $breakpoint-large) {
144
145 @if ($deprecated == true) {
146.uk-heading-primary {
147 font-size: $heading-primary-font-size-l;
148 line-height: $heading-primary-line-height-l;
149 }
150}
151
152}
153
154
155/* Hero
156 Deprecated: Use `uk-heading-xlarge` instead
157 ========================================================================== */
158
159$heading-hero-font-size-l: 8rem !default; // 128px
160$heading-hero-line-height-l: 1 !default;
161
162$heading-hero-font-size-m: $heading-hero-font-size-l * 0.75 !default; // 96px
163$heading-hero-line-height-m: 1 !default;
164
165$heading-hero-font-size: $heading-hero-font-size-l * 0.5 !default; // 64px
166$heading-hero-line-height: 1.1 !default;
167
168@if ($deprecated == true) {
169.uk-heading-hero {
170 font-size: $heading-hero-font-size;
171 line-height: $heading-hero-line-height;
172 @if(mixin-exists(hook-heading-hero)) {@include hook-heading-hero();}
173}
174}
175
176/* Tablet landscape and bigger */
177@media (min-width: $breakpoint-medium) {
178
179 @if ($deprecated == true) {
180.uk-heading-hero {
181 font-size: $heading-hero-font-size-m;
182 line-height: $heading-hero-line-height-m;
183 }
184}
185
186}
187
188/* Desktop and bigger */
189@media (min-width: $breakpoint-large) {
190
191 @if ($deprecated == true) {
192.uk-heading-hero {
193 font-size: $heading-hero-font-size-l;
194 line-height: $heading-hero-line-height-l;
195 }
196}
197
198}
199
200
201/* Divider
202 ========================================================================== */
203
204.uk-heading-divider {
205 padding-bottom: $heading-divider-padding-bottom;
206 border-bottom: $heading-divider-border-width solid $heading-divider-border;
207 @if(mixin-exists(hook-heading-divider)) {@include hook-heading-divider();}
208}
209
210
211/* Bullet
212 ========================================================================== */
213
214.uk-heading-bullet { position: relative; }
215
216/*
217 * 1. Using `inline-block` to make it work with text alignment
218 * 2. Center vertically
219 * 3. Style
220 */
221
222.uk-heading-bullet::before {
223 content: "";
224 /* 1 */
225 display: inline-block;
226 /* 2 */
227 position: relative;
228 top: $heading-bullet-top;
229 vertical-align: middle;
230 /* 3 */
231 height: $heading-bullet-height;
232 margin-right: $heading-bullet-margin-right;
233 border-left: $heading-bullet-border-width solid $heading-bullet-border;
234 @if(mixin-exists(hook-heading-bullet)) {@include hook-heading-bullet();}
235}
236
237
238/* Line
239 ========================================================================== */
240
241/*
242 * Clip the child element
243 */
244
245.uk-heading-line { overflow: hidden; }
246
247/*
248 * Extra markup is needed to make it work with text align
249 */
250
251.uk-heading-line > * {
252 display: inline-block;
253 position: relative;
254}
255
256/*
257 * 1. Center vertically
258 * 2. Make the element as large as possible. It's clipped by the container.
259 * 3. Style
260 */
261
262.uk-heading-line > ::before,
263.uk-heading-line > ::after {
264 content: "";
265 /* 1 */
266 position: absolute;
267 top: unquote('calc(#{$heading-line-top} - (#{$heading-line-height} / 2))');
268 /* 2 */
269 width: $heading-line-width;
270 /* 3 */
271 border-bottom: $heading-line-border-width solid $heading-line-border;
272 @if(mixin-exists(hook-heading-line)) {@include hook-heading-line();}
273}
274
275.uk-heading-line > ::before {
276 right: 100%;
277 margin-right: $heading-line-margin-horizontal;
278}
279.uk-heading-line > ::after {
280 left: 100%;
281 margin-left: $heading-line-margin-horizontal;
282}
283
284
285// Hooks
286// ========================================================================
287
288@if(mixin-exists(hook-heading-misc)) {@include hook-heading-misc();}
289
290// @mixin hook-heading-small(){}
291// @mixin hook-heading-medium(){}
292// @mixin hook-heading-large(){}
293// @mixin hook-heading-xlarge(){}
294// @mixin hook-heading-2xlarge(){}
295// @mixin hook-heading-primary(){}
296// @mixin hook-heading-hero(){}
297// @mixin hook-heading-divider(){}
298// @mixin hook-heading-bullet(){}
299// @mixin hook-heading-line(){}
300// @mixin hook-heading-misc(){}
301
302
303// Inverse
304// ========================================================================
305
306$inverse-heading-divider-border: $inverse-global-border !default;
307$inverse-heading-bullet-border: $inverse-global-border !default;
308$inverse-heading-line-border: $inverse-global-border !default;
309
310
311
312// @mixin hook-inverse-heading-small(){}
313// @mixin hook-inverse-heading-medium(){}
314// @mixin hook-inverse-heading-large(){}
315// @mixin hook-inverse-heading-xlarge(){}
316// @mixin hook-inverse-heading-2xlarge(){}
317// @mixin hook-inverse-heading-primary(){}
318// @mixin hook-inverse-heading-hero(){}
319// @mixin hook-inverse-heading-divider(){}
320// @mixin hook-inverse-heading-bullet(){}
321// @mixin hook-inverse-heading-line(){}