mirror of
https://github.com/yusufipk/natours-react.git
synced 2026-09-11 11:06:10 +00:00
changed styling and folder structure to sass
This commit is contained in:
-30
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
COLORS:
|
||||
|
||||
Light green: #7ed56f
|
||||
Medium green: #55c57a
|
||||
Dark green: #28b485
|
||||
|
||||
*/
|
||||
|
||||
*,
|
||||
*::after,
|
||||
*::before {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 62.5%;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Lato", sans-serif;
|
||||
font-weight: 400;
|
||||
line-height: 1.7;
|
||||
color: #777;
|
||||
padding: 3rem;
|
||||
|
||||
box-sizing: border-box;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import "./App.css";
|
||||
import "./App.scss";
|
||||
import Header from "./commons/header/header";
|
||||
|
||||
function App() {
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
@import "./sass/abstracts/variables";
|
||||
@import "./sass/abstracts/mixins";
|
||||
@import "./sass/abstracts/functions";
|
||||
|
||||
@import "./sass/base/animations";
|
||||
@import "./sass/base/typography";
|
||||
@import "./sass/base/base";
|
||||
@import "./sass/base/utilities";
|
||||
|
||||
@import "./sass/components/button";
|
||||
|
||||
@import "./sass/layout/header";
|
||||
|
||||
@import "./sass/pages/home";
|
||||
@@ -1,89 +0,0 @@
|
||||
.header {
|
||||
height: 95vh;
|
||||
background-image: linear-gradient(
|
||||
to right bottom,
|
||||
rgba(126, 213, 111, 0.8),
|
||||
rgba(40, 180, 133, 0.8)
|
||||
),
|
||||
url(../../commons/images/hero.jpg);
|
||||
background-size: cover;
|
||||
background-position: top;
|
||||
clip-path: polygon(0 0, 100% 0, 100% 75vh, 0 100%);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.header__text-box {
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.header__logo-box {
|
||||
position: absolute;
|
||||
top: 4rem;
|
||||
left: 4rem;
|
||||
}
|
||||
|
||||
.header__logo {
|
||||
height: 3.5rem;
|
||||
}
|
||||
|
||||
.heading-primary {
|
||||
color: #ffff;
|
||||
text-transform: uppercase;
|
||||
|
||||
backface-visibility: hidden;
|
||||
margin-bottom: 6rem;
|
||||
}
|
||||
|
||||
.heading-primary--main {
|
||||
display: block;
|
||||
font-size: 6rem;
|
||||
font-weight: 400;
|
||||
letter-spacing: 3.5rem;
|
||||
|
||||
animation: moveInLeft 1s ease-out;
|
||||
}
|
||||
|
||||
.heading-primary--sub {
|
||||
display: block;
|
||||
font-size: 2rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1.75rem;
|
||||
|
||||
animation: moveInRight 1s ease-out;
|
||||
}
|
||||
|
||||
@keyframes moveInLeft {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(-10rem);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: translateX(1rem);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes moveInRight {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(10rem);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: translateX(-1rem);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
import "./header.css";
|
||||
import logoWhite from "../../commons/images/logo-white.png";
|
||||
import Button from "../../components/button/button";
|
||||
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
.btn:link,
|
||||
.btn:visited {
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
padding: 1.5rem 4rem;
|
||||
display: inline-block;
|
||||
border-radius: 10rem;
|
||||
transition: all 0.2s;
|
||||
position: relative;
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
.move-in--bottom {
|
||||
animation: moveInBottom 0.5s ease-out 0.75s;
|
||||
animation-fill-mode: backwards;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
transform: translateY(-0.3rem);
|
||||
box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.btn:active {
|
||||
transform: translateY(-0.1rem);
|
||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.btn--white {
|
||||
background-color: #fff;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.btn::after {
|
||||
content: " ";
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
border-radius: 10rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
transition: all 0.4s;
|
||||
}
|
||||
|
||||
.btn--white::after {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.btn:hover::after {
|
||||
transform: scaleX(1.4) scaleY(1.6);
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
@keyframes moveInBottom {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(10rem);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
import "./button.css";
|
||||
|
||||
function Button(props) {
|
||||
const { text, animationName, link } = props;
|
||||
return (
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
$color-primary: #55c57a;
|
||||
$color-primary-light: #55c57a;
|
||||
$color-primary-dark: #28b485;
|
||||
|
||||
$color-grey-dark: #777;
|
||||
$color-white: #fff;
|
||||
$color-black: #000;
|
||||
@@ -0,0 +1,43 @@
|
||||
@keyframes moveInBottom {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(10rem);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes moveInLeft {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(-10rem);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: translateX(1rem);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes moveInRight {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(10rem);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: translateX(-1rem);
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translate(0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
*,
|
||||
*::after,
|
||||
*::before {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 62.5%;
|
||||
}
|
||||
|
||||
body {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
.heading-primary {
|
||||
color: $color-white;
|
||||
text-transform: uppercase;
|
||||
|
||||
backface-visibility: hidden;
|
||||
margin-bottom: 6rem;
|
||||
|
||||
&--main {
|
||||
display: block;
|
||||
font-size: 6rem;
|
||||
font-weight: 400;
|
||||
letter-spacing: 3.5rem;
|
||||
|
||||
animation: moveInLeft 1s ease-out;
|
||||
}
|
||||
|
||||
&--sub {
|
||||
display: block;
|
||||
font-size: 2rem;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1.75rem;
|
||||
|
||||
animation: moveInRight 1s ease-out;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Lato", sans-serif;
|
||||
font-weight: 400;
|
||||
line-height: 1.7;
|
||||
color: $color-grey-dark;
|
||||
padding: 3rem;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
.btn {
|
||||
&:link,
|
||||
&:visited {
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
padding: 1.5rem 4rem;
|
||||
display: inline-block;
|
||||
border-radius: 10rem;
|
||||
transition: all 0.2s;
|
||||
position: relative;
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-0.3rem);
|
||||
box-shadow: 0 1rem 2rem rgba($color-black, 0.2);
|
||||
|
||||
&::after {
|
||||
transform: scaleX(1.4) scaleY(1.6);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: translateY(-0.1rem);
|
||||
box-shadow: 0 0.5rem 1rem rgba($color-black, 0.2);
|
||||
}
|
||||
|
||||
&--white {
|
||||
background-color: $color-white;
|
||||
color: $color-grey-dark;
|
||||
&::after {
|
||||
background-color: $color-white;
|
||||
}
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: " ";
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
border-radius: 10rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
transition: all 0.4s;
|
||||
}
|
||||
}
|
||||
|
||||
.move-in--bottom {
|
||||
animation: moveInBottom 0.5s ease-out 0.75s;
|
||||
animation-fill-mode: backwards;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
.header {
|
||||
height: 95vh;
|
||||
background-image: linear-gradient(
|
||||
to right bottom,
|
||||
rgba($color-primary-light, 0.8),
|
||||
rgba($color-primary-dark, 0.8)
|
||||
),
|
||||
url(../../commons/images/hero.jpg);
|
||||
background-size: cover;
|
||||
background-position: top;
|
||||
clip-path: polygon(0 0, 100% 0, 100% 75vh, 0 100%);
|
||||
position: relative;
|
||||
|
||||
&__logo-box {
|
||||
position: absolute;
|
||||
top: 4rem;
|
||||
left: 4rem;
|
||||
}
|
||||
|
||||
&__text-box {
|
||||
position: absolute;
|
||||
top: 40%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&__logo {
|
||||
height: 3.5rem;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user