From 705cd4bc5510d5eab4aa6f858b2186dcc44697a7 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 1 Dec 2017 15:47:14 +0100 Subject: [PATCH] Added css+js+vue page HEADER --- public_html/css/header.css | 128 +++++++++++++++++++++++++++++++++++++ view/vue/header.vue | 21 +++++- 2 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 public_html/css/header.css diff --git a/public_html/css/header.css b/public_html/css/header.css new file mode 100644 index 0000000..6008c7c --- /dev/null +++ b/public_html/css/header.css @@ -0,0 +1,128 @@ +/* Header Icon */ +#HEADER #header-icon{ + display: block; + position: absolute; + top: 0; + left: 0; + width: calc( 20em - 3em - 2px ); + height: calc( 100% - 2*1.7em ); + + padding: 1.7em 0; + padding-left: 3em; + border-right: 2px solid #294496; + + background: url('/image/header-icon.svg') center left 2em no-repeat; + background-size: 1.7em; + background-color: #2a469c; + + color: #fff; +} + +/* Header Icon > Title */ +#header-icon .header-title{ + display: inline-block; + position: relative; + margin-left: 2em; + + font-size: 1.2em; + letter-spacing: 2px; + + overflow: hidden; +} + + + +/****************************/ + + +/* Header info container */ +#header-info{ + display: block; + position: absolute; + top: 0; + left: 20em; + width: calc( 100% - 20em - 12em - 2em - 5em ); + height: calc( 100% - 2*1.7em ); + + padding: 1.7em 0; + padding-left: 5em; + background: url('/image/header/info/info.svg') center left 2em no-repeat; + background-size: 1.6em; +} + +#header-info.info{ background-image: url('/image/header/info/info.svg'); } +#header-info.warning{ background-image: url('/image/header/info/warning.svg'); } +#header-info.error{ background-image: url('/image/header/info/error.svg'); } + + +/****************************/ + + + +/* Header Notifications */ +#header-notif{ + display: flex; + position: absolute; + top: 0; + left: calc( 100% - 12em - 2em ); /* 2em not to be in the border */ + width: 12em; + height: 100%; + + /* flex */ + flex-direction: row; + justify-content: space-around; + align-items: center; + flex-wrap: nowrap; + + overflow: hidden; +} + +/* Notification element */ +#header-notif .hnotif, +#header-notif .hnotif.bell{ + display: block; + width: 2em; + height: 2em; + + background: url('/image/header/notif/bell.svg') center center no-repeat; + background-size: 50%; + background-color: transparent; + + border-radius: 50% / 50%; + + cursor: pointer; + + transition: background-color .2s ease-in-out; +} + +#header-notif .hnotif:hover{ + background-color: #294496; +} + +#header-notif .hnotif.message{ background-image: url('/image/header/notif/message.svg'); } +#header-notif .hnotif.search{ background-image: url('/image/header/notif/search.svg'); } +#header-notif .hnotif.menu{ background-image: url('/image/header/notif/menu.svg'); } + +/* Counter element */ +#header-notif .hnotif[data-count]:before{ + content: attr(data-count); + + display: block; + position: absolute; + margin-left: 1.2em; + min-width: calc( 1.4em - 2*.35em ); + width: auto; + height: calc( 1.4em - 2*.1em ); + + padding: .1em .35em; + + border-radius: 50% / 50%; + background: #ed4222; + + font-size: .8em; + +} + +#header-notif .hnotif[data-count='']:before{ + display: none; +} \ No newline at end of file diff --git a/view/vue/header.vue b/view/vue/header.vue index 40db7fc..5b6a7e5 100644 --- a/view/vue/header.vue +++ b/view/vue/header.vue @@ -1,7 +1,23 @@ @@ -9,6 +25,7 @@ \ No newline at end of file