-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstyle.css
More file actions
169 lines (136 loc) · 4.04 KB
/
style.css
File metadata and controls
169 lines (136 loc) · 4.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
/* Esse código é só para tirar as margens */
body,
html {
margin: 0;
padding: 0;
}
.wrapper {
/* O elemento precisa ter uma altura definida para o efeito
funcionar.
100vh significa 100% da altura da view.
*/
height: 100vh;
/* O tamanho das imagens irá criar uma barra de rolagem
horizontal. Iremos desativar isso */
overflow-x: hidden;
/* A propriedade perspective indica a "distância" entre o
usuário e o plano Z.
Quanto maior o valor, mais perto o elemento estará do usuário.
Se for um valor negativo,
mais distante esse elemento estará.
*/
perspective: 2px;
/* O transform-style indica se os elementos filhos devem ser
transformados em um plano 2D ou 3D.
O valor preserve-3d indica que os elementos devem seguir o
espaço 3D indicado.
*/
transform-style: preserve-3d;
}
.section {
/* Indicamos "relative" para depois podermos
posicionar os elementos filhos com "absolute" */
position: relative;
/* Indicamos uma altura para a nossa seção. O valor não
importa muito.
Para garantir um bom efeito, coloquei também uma altura
mínima de 700px;
*/
height: 100vh;
min-height: 700px;
/* Para manter a transformação em espaço 3D, indicamos o mesmo
valor do elemento pai (preserve-3d).
Para não precisar repetir o valor "preserve-3d", você pode usar
o valor "inherit", que fará
com que ele pegue o valor do elemento pai.
*/
transform-style: inherit;
}
.section::before {
/* Aqui nós iremos configurar a imagem que irá aparecer no fundo
da seção.
Como vimos, o Parallax precisa de elementos diferentes, então
não daria certo se colocássemos o fundo diretamente na
<section>. Então criaremos um pseudo-elemento para isso.
*/
/* Isso servirá para que o pseudo-elemento possua as mesmas
dimensões do elemento <section> */
content: " ";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
/* O z-index negativo irá garantir que a imagem não fique por
cima de outros elementos */
z-index: -1;
/* Aqui estamos fazendo com que a imagem de fundo cubra todo o
elemento */
background-size: cover;
background-repeat: no-repeat;
<--no-repeat-->background-position: center center;
/* Aqui está a brincadeira. Lembra que o nosso "wrapper" está
mais próximo do usuário?
Aqui nós faremos com que o nosso pseudo-elemento, que está com
a imagem de fundo, fique mais longe do usuário. Para isso,
basta passar um valor negativo para "translateZ()".
Como a imagem irá para longe do usuário, ela parecerá menor.
Então usamos o "scale()" para aumentar o tamanho da imagem.
Como o elemento estará mais longe do usuário, ele irá se mover
mais lentamente do que os elementos mais próximos conforme
a gente role a página.
*/
transform: translateZ(-1px) scale(1.5);
}
.text {
/* Essa classe, como dito antes, é só para o nosso conteúdo.
Sinta-se livre para criar o que quiser.
*/
position: absolute;
top: 25%;
width: 100%;
padding: 20px 0;
background-image: -webkit-linear-gradient(blue, #fafafa);
color: #fafafa;
text-shadow: 0 0 5px rgb(17, 17, 5);
font-size: 20px;
text-align: center;
}
/* Em nosso pseudo-elemento, configuramos a imagem de fundo,
mas não indicamos qual será a imagem.
Isso nos permite poder criar outras classes para indicar
uma imagem diferente para cada <section>.
*/
.bg1::before {
background-image: url(./images/terra.jpg);
}
.bg2::before {
background-image: url(./images/nasa.jpg);
}
.bg3::before {
background-image: url(./images/6yuYHKv.jpg);
}
.bg4::before {
background-image: url(./images/criatividade.jpg);
}
.bg5::before {
background-image: url(./images/DeltaHalo.jpg);
}
.bg6::before {
background-image: url(./images/apple.jpg);
}
.bg7::before {
background-image: url(./images/bin.jpg);
}
.bg8::before {
background-image: url(./images/nasa.jpg);
}
.bg9::before {
background-image: url(./images/terra.jpg);
}
.bg10::before {
background-image: url(./images/6yuYHKv.jpg);
}
.bg11::before {
background-image: url(./images/group.jpg);
}