hayti
HTML CSS
FRONTEND
DOCS
@import url('https://fonts.googleapis.com/css?family=Manrope:700|Manrope:400');
:root {
--text: hsl(0, 0%, 99%);
--textDim: hsl(0, 0%, 60%);
--background: hsl(0, 0%, 7%);
--primary: radial-gradient(circle, rgba(2, 195, 195, 1) 0%, rgba(4, 6, 40, 1) 100%);
--primaryBg: hsla(221, 100%, 65%, 0.01);
--primaryHi: hsla(220, 100%, 75%, 0.25);
--primaryFg: hsl(15, 100%, 85%);
--accent: hsl(0, 100%, 94%);
--accentBg: hsla(0, 100%, 68%, 0.01);
--accentHi: hsla(0, 100%, 68%, 0.25);
}
body {
font-family: 'Manrope';
font-weight: 400;
background-color: var(--background);
color: var(--text);
padding: 0 10%;
display: flex;
flex-direction: column;
align-items: center;
height: 100vh;
overflow: hidden;
}
nav {
display: flex;
flex-direction: row;
align-items: center;
gap: 2rem;
color: var(--textDim);
width: 100%;
box-sizing: border-box;
z-index: 4;
}
.menu:hover {
color: var(--text);
cursor: pointer;
z-index: 4;
}
.sitename {
font-weight: bold;
z-index: 4;
}
.grid {
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: start;
align-self: center;
}
.blur {
height: 50%;
width: 50%;
background: var(--primary);
filter: blur(100px);
border-radius: 100px;
}
.grid_effect {
position: absolute;
right: 50px;
background: url('griid.png');
background-size: cover;
mix-blend-mode: overlay;
height: 100%;
width: 100%;
}
.grid_effect_black {
background: linear-gradient(354deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
position: absolute;
right: 1px;
height: 100%;
width: 100%;
}
.title {
position: absolute;
font-size: 10rem;
line-height: 150px;
font-weight: 900;
display: flex;
flex-direction: column;
justify-content: center;
align-self: center;
width: 60%;
height: 100%;
}
.title > p {
margin: 0;
width: auto;
}
.title > p:nth-child(1){
animation: textEffect 10s linear infinite;
color: #ffffff;
align-self: flex-start;
filter: blur(20px) opacity(0);
animation-fill-mode: forwards;
}
.title > p:nth-child(2){
animation: changeTextColor 10s linear infinite;
color: #004080;
align-self: flex-end;
}
.title > p:nth-child(3){
animation: textEffect 10s linear infinite;
color: #f0f0f0;
align-self: flex-end;
filter: blur(20px) opacity(0);
animation-fill-mode: forwards;
}
@keyframes changeTextColor {
0% {
color: #004080;
}
50% {
color: #0468cb;
}
75% {
color: #022548;
}
100% {
color: #004080;
}
}
@keyframes textEffect {
50% {
filter: blur(0) opacity(1);
}
100% {
filter: blur(20px) opacity(0);
}
}
.buttons_conteiner {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
z-index: 4;
width: 300px;
height: 80px;
}
.buttons_conteiner .button {
text-decoration: none;
color: inherit;
cursor: pointer;
height: 40px;
width: 130px;
z-index: 4;
}
.buttons_conteiner button {
height: 40px;
width: 130px;
border: none;
border-radius: 13px;
background-color: var(--primaryBg);
box-shadow: 0px -3px 15px 0px var(--primaryHi) inset;
color: var(--primaryFg);
font-family: "Manrope";
font-size: 1rem;
transform: translateY(0px);
transition: all 0.2s ease;
}
.buttons_conteiner span {
position: relative;
top: -50px;
display: inline-block;
width: 130px;
height: 50px;
background-color: var(--primaryHi);
border-radius: 100%;
filter: blur(20px);
transition: all 0.2s ease;
}
.buttons_conteiner .button:hover > span {
opacity: 60%;
}
.buttons_conteiner .button:hover > button {
transform: translateY(5px);
}
.buttons_conteiner .button.sec > button {
background-color: var(--accentBg);
box-shadow: 0px -3px 15px 0px var(--accentHi) inset;
color: var(--accentFg);
}
.buttons_conteiner .button.sec > span {
background-color: var(--accentHi);
}
form.login_div{
position: absolute;
height: auto;
width: 300px;
background-color: rgba(0, 81, 255, 0.056);
/* transform: translate(-50%,-50%); */
top: 15%;
left:73%;
border-radius: 10px;
backdrop-filter: blur(10px);
border: 2px solid rgba(255,255,255,0.1);
padding: 50px 35px;
}
form.login_div *{
font-family: 'Poppins',sans-serif;
color: #ffffff;
letter-spacing: 0.5px;
outline: none;
border: none;
}
form.login_div h3{
font-size: 32px;
font-weight: 500;
line-height: 42px;
text-align: center;
}
.login_div label{
display: block;
margin-top: 30px;
font-size: 16px;
font-weight: 500;
}
.login_div input{
display: block;
height: 50px;
width: 100%;
background-color: rgba(255,255,255,0.07);
border-radius: 3px;
padding: 0 10px;
margin-top: 8px;
font-size: 14px;
font-weight: 300;
}
::placeholder{
color: #e5e5e5;
}
.login_div .login_button{
margin-top: 50px;
width: 100%;
background-color: rgba(4, 0, 89, 0.8);
color: #ffffff;
padding: 15px 0;
font-size: 18px;
font-weight: 600;
border-radius: 5px;
cursor: pointer;
}
@media screen and (max-width: 1000px) {
.title {
font-size: 4rem;
}
.title > p {
line-height: 5rem;
letter-spacing: -0.3rem;
}
nav > :not(.sitename) {
display: none;
}
nav {
justify-content: space-between;
}
}
body – ճկուն(flex) էլեմենտ, որում էլեմենտների դասավորվածությունը՝ իրար տակ, էլեմենտների ուղղահայաց դիրքը՝ մեջտեղում։
.nav – ճկուն(flex) էլեմենտ, որում էլեմենտների դասավորվածությունը՝ իրար կողքի, էլեմենտների ուղղահայաց դիրքը՝ մեջտեղում։
.grid – վերջնական արդյունքի ձախակողմյան հատվածն է։ ճկուն(flex) էլեմենտ, որում էլեմենտների ուղղահայաց և հորիզոնական դիրքը՝ մեջտեղ։
.blur – շրջանակաի էֆֆեկտ։
.grid_effect – շրջանակի վրա ցանցի էֆֆեկտ։
.grid_effect_black – ցանցի աջակողմյան հատվածը՝ ստվերում։
.title – էֆֆեկտում պատասխանատու է բառերի համար։ ճկուն(flex) էլեմենտ, որում էլեմենտների դասավորվածությունը՝ իրար տակ, էլեմենտների ուղղահայաց և հորիզոնական դիրքը՝ մեջտեղ։ Էլեմենտի դիրքը տարածքում՝ անկախ(absolute):
@changeTextColor – երկրորդ բառին սահմանում է գույների փոփոխման անիմացիա։
@textEffect – առաջին և երրորդ բառերին սահմանում է աղոտության և թափանցիկության անիմացիա, որը տևալու է տաս վարկյան, անիմացիայի արագությունը՝ միատիպ(linear), կրկնությունը՝ անվերջ(infinite)։ Անիմացիայի յուրաքանչյուր ավարտը՝ վերջին կադրի վրա(animation-fill-mode: forwards):
.buttons_conteiner – կոճակների(Facebook Google) բլոկի սահմանում։ ճկուն(flex) էլեմենտ, որում էլեմենտների ուղղահայաց դիրքը՝ մեջտեղ, հորիզոնականը՝ էլեմենտները տարածվում են ձախ և աջ կողմերի վրա։
.buttons_conteiner button – կոճակի hover -ի դեպքում կոճակը իջնում է 5px -ով 0.2 ժամանակահատվածում։ all – փոփոխությունը վերաբերելու է transform -ում նշված բոլոր էլեմենտներին, ease – փոփոխման արագության տեսակն է։
.buttons_conteiner span – սահմանում է կոճակի հետին պլանում շաղման էֆֆեկտը։
form.login_div – գրանցման բլոկն է։
@media screen and (max-width: 1000px) – որոշակի հատկությունների փոփոխությունը, երբ օգտվողի էկրանը համակարգչային է(screen), որի լայնությունը չի գերազանցում 1000px -ը։