UNPKG

uikit

Version:

UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.

374 lines (288 loc) • 11.6 kB
// Name: Heading // Description: Styles for headings // // Component: `uk-heading-primary` // `uk-heading-hero` // `uk-heading-divider` // `uk-heading-bullet` // `uk-heading-line` // // ======================================================================== // Variables // ======================================================================== @heading-small-font-size: @heading-small-font-size-m * 0.8; // 38px 0.73 @heading-medium-font-size: @heading-medium-font-size-m * 0.825; // 40px 0.714 @heading-large-font-size: @heading-large-font-size-m * 0.85; // 50px 0.78 @heading-xlarge-font-size: @heading-large-font-size-m; // 4rem / 64px @heading-2xlarge-font-size: @heading-xlarge-font-size-m; // 6rem / 96px @heading-3xlarge-font-size: @heading-2xlarge-font-size-m; // 8rem / 128px @heading-small-font-size-m: @heading-medium-font-size-l * 0.8125; // 3.25rem / 52px @heading-medium-font-size-m: @heading-medium-font-size-l * 0.875; // 3.5rem / 56px @heading-large-font-size-m: @heading-medium-font-size-l; // 4rem / 64px @heading-xlarge-font-size-m: @heading-large-font-size-l; // 6rem / 96px @heading-2xlarge-font-size-m: @heading-xlarge-font-size-l; // 8rem / 128px @heading-3xlarge-font-size-m: @heading-2xlarge-font-size-l; // 11rem / 176px @heading-medium-font-size-l: 4rem; // 64px @heading-large-font-size-l: 6rem; // 96px @heading-xlarge-font-size-l: 8rem; // 128px @heading-2xlarge-font-size-l: 11rem; // 176px @heading-3xlarge-font-size-l: 15rem; // 240px @heading-small-line-height: 1.2; @heading-medium-line-height: 1.1; @heading-large-line-height: 1.1; @heading-xlarge-line-height: 1; @heading-2xlarge-line-height: 1; @heading-3xlarge-line-height: 1; @heading-divider-padding-bottom: ~'calc(5px + 0.1em)'; @heading-divider-border-width: ~'calc(0.2px + 0.05em)'; @heading-divider-border: @global-border; @heading-bullet-top: ~'calc(-0.1 * 1em)'; @heading-bullet-height: ~'calc(4px + 0.7em)'; @heading-bullet-margin-right: ~'calc(5px + 0.2em)'; @heading-bullet-border-width: ~'calc(5px + 0.1em)'; @heading-bullet-border: @global-border; @heading-line-top: 50%; @heading-line-height: @heading-line-border-width; @heading-line-width: 2000px; @heading-line-border-width: ~'calc(0.2px + 0.05em)'; @heading-line-border: @global-border; @heading-line-margin-horizontal: ~'calc(5px + 0.3em)'; /* ======================================================================== Component: Heading ========================================================================== */ .uk-heading-small { font-size: @heading-small-font-size; line-height: @heading-small-line-height; .hook-heading-small(); } .uk-heading-medium { font-size: @heading-medium-font-size; line-height: @heading-medium-line-height; .hook-heading-medium(); } .uk-heading-large { font-size: @heading-large-font-size; line-height: @heading-large-line-height; .hook-heading-large(); } .uk-heading-xlarge { font-size: @heading-xlarge-font-size; line-height: @heading-xlarge-line-height; .hook-heading-xlarge(); } .uk-heading-2xlarge { font-size: @heading-2xlarge-font-size; line-height: @heading-2xlarge-line-height; .hook-heading-2xlarge(); } .uk-heading-3xlarge { font-size: @heading-3xlarge-font-size; line-height: @heading-3xlarge-line-height; .hook-heading-3xlarge(); } /* Tablet Landscape and bigger */ @media (min-width: @breakpoint-medium) { .uk-heading-small { font-size: @heading-small-font-size-m; } .uk-heading-medium { font-size: @heading-medium-font-size-m; } .uk-heading-large { font-size: @heading-large-font-size-m; } .uk-heading-xlarge { font-size: @heading-xlarge-font-size-m; } .uk-heading-2xlarge { font-size: @heading-2xlarge-font-size-m; } .uk-heading-3xlarge { font-size: @heading-3xlarge-font-size-m; } } /* Laptop and bigger */ @media (min-width: @breakpoint-large) { .uk-heading-medium { font-size: @heading-medium-font-size-l; } .uk-heading-large { font-size: @heading-large-font-size-l; } .uk-heading-xlarge { font-size: @heading-xlarge-font-size-l; } .uk-heading-2xlarge { font-size: @heading-2xlarge-font-size-l; } .uk-heading-3xlarge { font-size: @heading-3xlarge-font-size-l; } } /* Primary Deprecated: Use `uk-heading-medium` instead ========================================================================== */ @heading-primary-font-size-l: 3.75rem; // 60px @heading-primary-line-height-l: 1.1; @heading-primary-font-size-m: @heading-primary-font-size-l * 0.9; // 54px @heading-primary-font-size: @heading-primary-font-size-l * 0.8; // 48px @heading-primary-line-height: 1.2; .uk-heading-primary when (@deprecated = true) { font-size: @heading-primary-font-size; line-height: @heading-primary-line-height; .hook-heading-primary(); } /* Tablet landscape and bigger */ @media (min-width: @breakpoint-medium) { .uk-heading-primary when (@deprecated = true) { font-size: @heading-primary-font-size-m; } } /* Desktop and bigger */ @media (min-width: @breakpoint-large) { .uk-heading-primary when (@deprecated = true) { font-size: @heading-primary-font-size-l; line-height: @heading-primary-line-height-l; } } /* Hero Deprecated: Use `uk-heading-xlarge` instead ========================================================================== */ @heading-hero-font-size-l: 8rem; // 128px @heading-hero-line-height-l: 1; @heading-hero-font-size-m: @heading-hero-font-size-l * 0.75; // 96px @heading-hero-line-height-m: 1; @heading-hero-font-size: @heading-hero-font-size-l * 0.5; // 64px @heading-hero-line-height: 1.1; .uk-heading-hero when (@deprecated = true) { font-size: @heading-hero-font-size; line-height: @heading-hero-line-height; .hook-heading-hero(); } /* Tablet landscape and bigger */ @media (min-width: @breakpoint-medium) { .uk-heading-hero when (@deprecated = true) { 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 when (@deprecated = true) { 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; .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; .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: ~'calc(@{heading-line-top} - (@{heading-line-height} / 2))'; /* 2 */ width: @heading-line-width; /* 3 */ border-bottom: @heading-line-border-width solid @heading-line-border; .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 // ======================================================================== .hook-heading-misc(); .hook-heading-small() {} .hook-heading-medium() {} .hook-heading-large() {} .hook-heading-xlarge() {} .hook-heading-2xlarge() {} .hook-heading-3xlarge() {} .hook-heading-primary() {} .hook-heading-hero() {} .hook-heading-divider() {} .hook-heading-bullet() {} .hook-heading-line() {} .hook-heading-misc() {} // Inverse // ======================================================================== @inverse-heading-divider-border: @inverse-global-border; @inverse-heading-bullet-border: @inverse-global-border; @inverse-heading-line-border: @inverse-global-border; .hook-inverse() { .uk-heading-small { .hook-inverse-heading-small(); } .uk-heading-medium { .hook-inverse-heading-medium(); } .uk-heading-large { .hook-inverse-heading-large(); } .uk-heading-xlarge { .hook-inverse-heading-xlarge(); } .uk-heading-2xlarge { .hook-inverse-heading-2xlarge(); } .uk-heading-3xlarge { .hook-inverse-heading-3xlarge(); } .uk-heading-primary when (@deprecated = true) { .hook-inverse-heading-primary(); } .uk-heading-hero when (@deprecated = true) { .hook-inverse-heading-hero(); } .uk-heading-divider { border-bottom-color: @inverse-heading-divider-border; .hook-inverse-heading-divider(); } .uk-heading-bullet::before { border-left-color: @inverse-heading-bullet-border; .hook-inverse-heading-bullet(); } .uk-heading-line > ::before, .uk-heading-line > ::after { border-bottom-color: @inverse-heading-line-border; .hook-inverse-heading-line(); } } .hook-inverse-heading-small() {} .hook-inverse-heading-medium() {} .hook-inverse-heading-large() {} .hook-inverse-heading-xlarge() {} .hook-inverse-heading-2xlarge() {} .hook-inverse-heading-3xlarge() {} .hook-inverse-heading-primary() {} .hook-inverse-heading-hero() {} .hook-inverse-heading-divider() {} .hook-inverse-heading-bullet() {} .hook-inverse-heading-line() {}