From a45d6208d5564ac967dd20de24d86b94a67b6799 Mon Sep 17 00:00:00 2001 From: Daniel Heras Quesada Date: Fri, 15 Mar 2024 14:34:14 +0100 Subject: [PATCH] Natours project finished --- Natours/starter/css/style.css | 68 +++++++++++++ Natours/starter/index.html | 37 +++++++- Natours/starter/sass/abstracts/_mixins.scss | 19 ++-- Natours/starter/sass/components/_popup.scss | 100 ++++++++++++++++++++ Natours/starter/sass/main.scss | 1 + 5 files changed, 216 insertions(+), 9 deletions(-) create mode 100644 Natours/starter/sass/components/_popup.scss diff --git a/Natours/starter/css/style.css b/Natours/starter/css/style.css index faf1b50..9e92e93 100644 --- a/Natours/starter/css/style.css +++ b/Natours/starter/css/style.css @@ -459,6 +459,74 @@ body { .form__radio-input:checked ~ .form__radio-label .form__radio-button::after { opacity: 1; } +.popup { + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100%; + background-color: rgba(0, 0, 0, 0.82); + z-index: 4000; + opacity: 0; + visibility: hidden; + transition: all 0.4s; } + .popup__content { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: table; + width: 75%; + box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.2); + background-color: #fff; + border-radius: 3px; + overflow: hidden; + opacity: 0; + transform: translate(-50%, -50%) scale(0); + transition: all 0.4s 0.2s; } + .popup__left { + width: 33.3333333%; + display: table-cell; + vertical-align: middle; } + .popup__right { + width: 66.6666667%; + display: table-cell; + vertical-align: middle; + padding: 3rem 5rem; } + .popup__img { + display: block; + width: 100%; } + .popup__text { + font-size: 1.4rem; + margin-bottom: 4rem; + -moz-column-count: 2; + -moz-column-gap: 4rem; + -moz-column-rule: 1px solid #999; + column-count: 2; + column-gap: 4rem; + column-rule: 1px solid #999; + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; } + .popup:target { + opacity: 1; + visibility: visible; } + .popup:target .popup__content { + opacity: 1; + transform: translate(-50%, -50%) scale(1); } + .popup__close:link, .popup__close:visited { + color: #777; + position: absolute; + top: 2.5rem; + right: 2.5rem; + font-size: 3rem; + text-decoration: none; + display: inline-block; + transition: all 0.2s; } + .popup__close:hover { + color: #55c57a; } + .header { height: 95vh; background-image: linear-gradient(to right bottom, rgba(126, 213, 111, 0.801), rgba(40, 180, 133, 0.808)), url("../img/hero.jpg"); diff --git a/Natours/starter/index.html b/Natours/starter/index.html index ba94f13..a51e851 100644 --- a/Natours/starter/index.html +++ b/Natours/starter/index.html @@ -206,7 +206,7 @@

Only

$279

- Book now! + Book now! @@ -236,7 +236,7 @@

Only

$279

- Book now! + Book now! @@ -266,7 +266,7 @@

Only

$279

- Book now! + Book now! @@ -443,5 +443,36 @@ + diff --git a/Natours/starter/sass/abstracts/_mixins.scss b/Natours/starter/sass/abstracts/_mixins.scss index 76e2ac7..f5cde3a 100644 --- a/Natours/starter/sass/abstracts/_mixins.scss +++ b/Natours/starter/sass/abstracts/_mixins.scss @@ -1,7 +1,14 @@ @mixin clearfix { - &::after { - content: ""; - display: table; - clear: both; - } -} \ No newline at end of file + &::after { + content: ""; + display: table; + clear: both; + } +} + +@mixin absCenter { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} diff --git a/Natours/starter/sass/components/_popup.scss b/Natours/starter/sass/components/_popup.scss new file mode 100644 index 0000000..3ac0027 --- /dev/null +++ b/Natours/starter/sass/components/_popup.scss @@ -0,0 +1,100 @@ +.popup { + position: fixed; + top: 0; + left: 0; + + height: 100vh; + width: 100%; + + background-color: rgba($color-black, 0.82); + + z-index: 4000; + + opacity: 0; + visibility: hidden; //NOTE: animable way of simulate a display: 0 + + transition: all 0.4s; + + &__content { + @include absCenter; + + display: table; + width: 75%; + // height: 70%; //TODO: remove later + + box-shadow: 0 2rem 4rem rgba($color-black, 0.2); + background-color: $color-white; + border-radius: 3px; + + overflow: hidden; + + opacity: 0; + transform: translate(-50%, -50%) scale(0); + + transition: all 0.4s 0.2s; //NOTE: .2 seconds delay + } + + &__left { + width: 33.3333333%; + display: table-cell; + vertical-align: middle; + } + + &__right { + width: 66.6666667%; + display: table-cell; + vertical-align: middle; + padding: 3rem 5rem; + } + + &__img { + display: block; + width: 100%; + } + + &__text { + font-size: 1.4rem; + margin-bottom: 4rem; + + -moz-column-count: 2; + -moz-column-gap: 4rem; + -moz-column-rule: 1px solid $color-gray-dark-2; + + column-count: 2; + column-gap: 4rem; + column-rule: 1px solid $color-gray-dark-2; + + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; //NOTE: takes into account document language (html...) + } + + &:target { + opacity: 1; + visibility: visible; + } + + &:target &__content { + opacity: 1; + transform: translate(-50%, -50%) scale(1); + } + + &__close { + &:link, + &:visited { + color: $color-gray-dark; + position: absolute; + top: 2.5rem; + right: 2.5rem; + font-size: 3rem; + text-decoration: none; + display: inline-block; + transition: all 0.2s; + } + + &:hover { + color: $color-primary; + } + } +} diff --git a/Natours/starter/sass/main.scss b/Natours/starter/sass/main.scss index 8ead117..9c1e045 100644 --- a/Natours/starter/sass/main.scss +++ b/Natours/starter/sass/main.scss @@ -14,6 +14,7 @@ @import "components/story"; @import "components/bg-video"; @import "components/form"; +@import "components/popup"; @import "layout/header"; @import "layout/grid";