aboutsummaryrefslogtreecommitdiffstats
path: root/scss/uikit/components/heading.scss
diff options
context:
space:
mode:
Diffstat (limited to 'scss/uikit/components/heading.scss')
-rw-r--r--scss/uikit/components/heading.scss223
1 files changed, 223 insertions, 0 deletions
diff --git a/scss/uikit/components/heading.scss b/scss/uikit/components/heading.scss
new file mode 100644
index 00000000..13f97229
--- /dev/null
+++ b/scss/uikit/components/heading.scss
@@ -0,0 +1,223 @@
+// 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(){}