From e42c8e77a3ebbaac5d5604743976ed3a461efcc0 Mon Sep 17 00:00:00 2001 From: ebremner <ebremner@uwaterloo.ca> Date: Fri, 17 Nov 2017 10:51:10 -0500 Subject: [PATCH] ISTWCMS-2286: Adding block layout for browsers that do not support grid --- components/_patterns/00-base/_global.scss | 36 ++++++++++++++++++- .../_global-footer-menu.scss | 22 ++++++++++++ .../site/site-footer/_site-footer.scss | 32 +++++++++++++++-- .../site/site-header/_site-header.scss | 26 ++++++++++++++ components/_patterns/05-pages/_page.scss | 32 +++++++++++++++++ 5 files changed, 144 insertions(+), 4 deletions(-) diff --git a/components/_patterns/00-base/_global.scss b/components/_patterns/00-base/_global.scss index 2f187881..6782e527 100644 --- a/components/_patterns/00-base/_global.scss +++ b/components/_patterns/00-base/_global.scss @@ -14,20 +14,42 @@ body { } .layout-container { + @supports not (display: grid) { + clear: both; + float: left; + width: 100%; + } + display: grid; grid-template-columns: auto; grid-template-rows: minmax(60px, auto) minmax(451.5px, auto) minmax(100px, auto); } .layout-container header { + @supports not (display: grid) { + clear: both; + float: left; + width: 100%; + } + grid-column: 1 / 2; grid-row: 1 / 2; } .layout-container main { + @supports not (display: grid) { + clear: both; + float: left; + margin-left: auto; + margin-right: auto; + } + + @supports (display: grid) { + max-width: 63.125rem; + } + grid-column: 1 / 2; grid-row: 2 / 3; - max-width: 63.125rem; width: 100%; margin-left: auto; margin-right: auto; @@ -35,11 +57,23 @@ body { } .layout-container .block-site-footer-block { + @supports not (display: grid) { + clear: both; + float: left; + width: 100%; + } + grid-column: 1 / 2; grid-row: 3 / 4; } .layout-container footer { + @supports not (display: grid) { + clear: both; + float: left; + width: 100%; + } + grid-column: 1 / 2; grid-row: 4 / 5; } diff --git a/components/_patterns/02-molecules/menus/global-footer-menu/_global-footer-menu.scss b/components/_patterns/02-molecules/menus/global-footer-menu/_global-footer-menu.scss index 969f2ac5..d03b3505 100644 --- a/components/_patterns/02-molecules/menus/global-footer-menu/_global-footer-menu.scss +++ b/components/_patterns/02-molecules/menus/global-footer-menu/_global-footer-menu.scss @@ -8,6 +8,11 @@ ul.global-footer-menu { } .global-footer-menu { + @supports not (display: grid) { + clear: both; + width: 100%; + } + display: grid; grid-template-columns: auto auto auto; grid-template-rows: auto auto auto; @@ -23,6 +28,23 @@ ul.global-footer-menu { border-right: 1px solid grey; } +@supports not (display: grid) { + .global-footer-menu li:nth-child(1n) { + float: left; + width: 25%; + } + + .global-footer-menu li:nth-child(2n) { + float: left; + width: 25%; + } + + .global-footer-menu li:nth-child(3n) { + float: left; + width: 25%; + } +} + .global-footer-menu li:nth-child(1) { grid-column: 1; grid-row: 1; diff --git a/components/_patterns/03-organisms/site/site-footer/_site-footer.scss b/components/_patterns/03-organisms/site/site-footer/_site-footer.scss index 5a475e67..ff9e84dc 100644 --- a/components/_patterns/03-organisms/site/site-footer/_site-footer.scss +++ b/components/_patterns/03-organisms/site/site-footer/_site-footer.scss @@ -7,26 +7,52 @@ footer { } .uw-footer-grid { - max-width: 63.125rem; - margin-left: auto; - margin-right: auto; + @supports not (display: grid) { + clear: both; + width: 100%; + max-width: 80%; + margin-left: auto; + margin-right: auto; + } + + @supports (display: grid) { + max-width: 63.125rem; + } + display: grid; grid-template-columns: 25% auto 30%; grid-template-rows: auto; + margin-left: auto; + margin-right: auto; padding: 1rem; } .uw-footer-grid .footer-1 { + @supports not (display: grid) { + float: left; + width: 25%; + } + grid-column: 1 / 2; grid-row: 1 / 2; } .uw-footer-grid .footer-2 { + @supports not (display: grid) { + float: left; + width: 45%; + } + grid-column: 2 / 3; grid-row: 1 / 2; } .uw-footer-grid .footer-3 { + @supports not (display: grid) { + float: left; + width: 30%; + } + grid-column: 3 / 4; grid-row: 1 / 2; text-align: right; diff --git a/components/_patterns/03-organisms/site/site-header/_site-header.scss b/components/_patterns/03-organisms/site/site-header/_site-header.scss index 5937a953..d68142be 100644 --- a/components/_patterns/03-organisms/site/site-header/_site-header.scss +++ b/components/_patterns/03-organisms/site/site-header/_site-header.scss @@ -1,4 +1,10 @@ .header { + @supports not (display: grid) { + display: block; + margin-left: auto; + margin-right: auto; + } + width: 100%; background-color: $uw-black; padding-top: 0.5rem; @@ -19,22 +25,42 @@ } .uw-header-grid { + @supports not (display: grid) { + clear: both; + max-width: 80%; + } + display: grid; grid-template-columns: 17% auto 10%; grid-template-rows: auto; } .uw-header-grid .header-1 { + @supports not (display: grid) { + float: left; + width: 17%; + } + grid-column: 1 / 2; grid-row: 1 / 2; } .uw-header-grid .header-2 { + @supports not (display: grid) { + float: left; + width: 73%; + } + grid-column: 2 / 3; grid-row: 1 / 2; } .uw-header-grid .header-3 { + @supports not (display: grid) { + float: left; + width: 10%; + } + grid-column: 3 / 4; grid-row: 1 / 2; } diff --git a/components/_patterns/05-pages/_page.scss b/components/_patterns/05-pages/_page.scss index 02bd1d36..6ffbe939 100644 --- a/components/_patterns/05-pages/_page.scss +++ b/components/_patterns/05-pages/_page.scss @@ -1,21 +1,48 @@ +main.main { + background-color: $uw-white; + padding-bottom: 2rem; +} .main-content-wrapper { + @supports not (display: grid) { + clear: both; + width: 100%; + max-width: 80%; + margin-left: auto; + margin-right: auto; + } + display: grid; grid-template-columns: 23% 77%; grid-template-rows: auto; .uw-main-navigation { + @supports not (display: grid) { + float: left; + width: 23%; + } + grid-column: 1 / 2; grid-row: 1 / 2; } .main-content { + @supports not (display: grid) { + float: left; + width: 77%; + } + grid-column: 2 / 3; grid-row: 1 / 2; } } .main-content--with-sidebar { + @supports not (display: grid) { + clear: both; + width: 100%; + } + display: grid; grid-template-columns: 70% 30%; grid-template-rows: auto auto auto; @@ -26,6 +53,11 @@ } .main-content--tabs { + @supports not (display: grid) { + float: left; + width: 77%; + } + grid-column: 1 / 3; grid-row: 2 / 3; } -- GitLab