-
Notifications
You must be signed in to change notification settings - Fork 0
/
aula15.html
89 lines (71 loc) · 3.21 KB
/
aula15.html
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
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Aula 15 - Scroll-behavior</title>
<link rel="stylesheet" href="./src/css/style.css">
</head>
<body>
<button id="menu-btn">X</button>
<nav id="menu">
<ul id="menu-ul">
</ul>
</nav>
<!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-->
<main>
<article>
<h2>Aula 15 - Scroll-behavior</h2>
<p>A propriedade scroll-behavior define o comportamento da rolagem da página quando clicamos em um link interno (aqueles usando o #id). Ela possui dois valores possíveis:</p>
<h3>scroll-behavior: auto;</h3>
<p>Esse é o valor padrão. O comportamento desse valor é o padrão, ou seja, quando clicar em um link interno a caixa de rolamegem vai instantaneamente para aquele elemento.</p>
<h3>scroll-behavior: smooth;</h3>
<p>Esse valor faz com que o comportamento da rolagem seja mais suave, ou seja, não é instantâneo. Quando clicar no link interno a caixa de rolagem irá rolar até o elemento. Veja o exemplo abaixo:</p>
<p>No arquivo style.css:</p>
<pre>
<code>
*{
margin: 0;
padding: 0;
<strong>scroll-behavior: smooth;</strong>
}
div {
height: 100vh;
text-align: center;
padding-top: 50%;
font-size: 50px;
}
#div1, #div3{
background-color: purple;
}
nav {
position: fixed;
top: 0;
background-color: lightblue;
width: 100vw;
height: 30px;
}
</code>
</pre>
<p>No arquivo index.html:</p>
<pre>
<code>
<nav>
<a href="#div1">div 1</a>
<a href="#div2">div 2</a>
<a href="#div3">div 3</a>
</nav>
<div id="div1">Essa é a div 1</div>
<div id="div2">Essa é a div 2</div>
<div id="div3">Essa é a div 3</div>
</code>
</pre>
<p>Mude o valor do scroll-behavior para auto, ou simplesmente apague a linha que tem essa propriedade. Compare o valor padrão (auto) com o valor smooth.</p>
<p>Não é possível mudar a velocidade ou outros efeitos da rolagem apenas com CSS. Isso é possível usando JavaScript, mas geralmente não vale a pena, a não ser que mudar o tempo da animação seja muito importante.</p>
</article>
</main>
<!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-->
<script src="./src/js/menu.js"></script>
</body>
</html>