You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

223 lines
6.6 KiB

// Name: Heading
// Description: Styles for headings
//
// Component: `uk-heading-primary`
// `uk-heading-hero`
// `uk-heading-divider`
// `uk-heading-bullet`
// `uk-heading-line`
//
// ========================================================================
// Variables
// ========================================================================
$heading-primary-font-size-l: 3.75rem !default; // 60px
$heading-primary-line-height-l: 1.1 !default;
$heading-primary-font-size-m: $heading-primary-font-size-l * 0.9 !default; // 54px
$heading-primary-font-size: $heading-primary-font-size-l * 0.8 !default; // 48px
$heading-primary-line-height: 1.2 !default;
$heading-hero-font-size-l: 8rem !default; // 128px
$heading-hero-line-height-l: 1 !default;
$heading-hero-font-size-m: $heading-hero-font-size-l * 0.75 !default; // 96px
$heading-hero-line-height-m: 1 !default;
$heading-hero-font-size: $heading-hero-font-size-l * 0.5 !default; // 64px
$heading-hero-line-height: 1.1 !default;
$heading-divider-padding-bottom: 10px !default;
$heading-divider-border-width: $global-border-width !default;
$heading-divider-border: $global-border !default;
$heading-bullet-top: unquote('calc(-0.1 * 1em)') !default;
$heading-bullet-height: 0.9em !default;
$heading-bullet-margin-right: 10px !default;
$heading-bullet-border-width: 5px !default;
$heading-bullet-border: $global-border !default;
$heading-line-top: 50% !default;
$heading-line-height: $heading-line-border-width !default;
$heading-line-width: 2000px !default;
$heading-line-border-width: $global-border-width !default;
$heading-line-border: $global-border !default;
$heading-line-margin-horizontal: 0.6em !default;
/* ========================================================================
Component: Heading
========================================================================== */
/* Primary
========================================================================== */
.uk-heading-primary {
font-size: $heading-primary-font-size;
line-height: $heading-primary-line-height;
@if(mixin-exists(hook-heading-primary)) {@include hook-heading-primary();}
}
/* Tablet landscape and bigger */
@media (min-width: $breakpoint-medium) {
.uk-heading-primary { font-size: $heading-primary-font-size-m; }
}
/* Desktop and bigger */
@media (min-width: $breakpoint-large) {
.uk-heading-primary {
font-size: $heading-primary-font-size-l;
line-height: $heading-primary-line-height-l;
}
}
/* Hero
========================================================================== */
.uk-heading-hero {
font-size: $heading-hero-font-size;
line-height: $heading-hero-line-height;
@if(mixin-exists(hook-heading-hero)) {@include hook-heading-hero();}
}
/* Tablet landscape and bigger */
@media (min-width: $breakpoint-medium) {
.uk-heading-hero {
font-size: $heading-hero-font-size-m;
line-height: $heading-hero-line-height-m;
}
}
/* Desktop and bigger */
@media (min-width: $breakpoint-large) {
.uk-heading-hero {
font-size: $heading-hero-font-size-l;
line-height: $heading-hero-line-height-l;
}
}
/* Divider
========================================================================== */
.uk-heading-divider {
padding-bottom: $heading-divider-padding-bottom;
border-bottom: $heading-divider-border-width solid $heading-divider-border;
@if(mixin-exists(hook-heading-divider)) {@include hook-heading-divider();}
}
/* Bullet
========================================================================== */
.uk-heading-bullet { position: relative; }
/*
* 1. Using `inline-block` to make it work with text alignment
* 2. Center vertically
* 3. Style
*/
.uk-heading-bullet::before {
content: "";
/* 1 */
display: inline-block;
/* 2 */
position: relative;
top: $heading-bullet-top;
vertical-align: middle;
/* 3 */
height: $heading-bullet-height;
margin-right: $heading-bullet-margin-right;
border-left: $heading-bullet-border-width solid $heading-bullet-border;
@if(mixin-exists(hook-heading-bullet)) {@include hook-heading-bullet();}
}
/* Line
========================================================================== */
/*
* Clip the child element
*/
.uk-heading-line { overflow: hidden; }
/*
* Extra markup is needed to make it work with text align
*/
.uk-heading-line > * {
display: inline-block;
position: relative;
}
/*
* 1. Center vertically
* 2. Make the element as large as possible. It's clipped by the container.
* 3. Style
*/
.uk-heading-line > ::before,
.uk-heading-line > ::after {
content: "";
/* 1 */
position: absolute;
top: unquote('calc(#{$heading-line-top} - (#{$heading-line-height} / 2))');
/* 2 */
width: $heading-line-width;
/* 3 */
border-bottom: $heading-line-border-width solid $heading-line-border;
@if(mixin-exists(hook-heading-line)) {@include hook-heading-line();}
}
.uk-heading-line > ::before {
right: 100%;
margin-right: $heading-line-margin-horizontal;
}
.uk-heading-line > ::after {
left: 100%;
margin-left: $heading-line-margin-horizontal;
}
// Hooks
// ========================================================================
@if(mixin-exists(hook-heading-misc)) {@include hook-heading-misc();}
// @mixin hook-heading-primary(){}
// @mixin hook-heading-hero(){}
// @mixin hook-heading-divider(){}
// @mixin hook-heading-bullet(){}
// @mixin hook-heading-line(){}
// @mixin hook-heading-misc(){}
// Inverse
// ========================================================================
$inverse-heading-divider-border: $inverse-global-border !default;
$inverse-heading-bullet-border: $inverse-global-border !default;
$inverse-heading-line-border: $inverse-global-border !default;
// @mixin hook-inverse-heading-primary(){}
// @mixin hook-inverse-heading-hero(){}
// @mixin hook-inverse-heading-divider(){}
// @mixin hook-inverse-heading-bullet(){}
// @mixin hook-inverse-heading-line(){}